File size: 565 Bytes
4e23b01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import type { Workspace } from '#/app/workspace/workspace';

import type { RuntimeProviderHost, RuntimeUnitImports } from './runtimeUnitHost';

export interface RuntimeProviderAttachment {
  dispose(): void | Promise<void>;
}

export interface RuntimeProviderContext {
  readonly id: string;
  readonly root: string;
  readonly metadata: Workspace;
}

export interface RuntimeProviderFactory {
  readonly id: string;
  readonly imports: RuntimeUnitImports;
  attach(context: RuntimeProviderContext, host: RuntimeProviderHost): Promise<RuntimeProviderAttachment>;
}