@dougongjs/core 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,29 +2,18 @@ import { ChangeOperation } from './change-set';
2
2
  import { GroupNode } from './group';
3
3
  import { Installation, InstallationUpdate } from './host-api';
4
4
  import { InstallationDeclaration, InstallationRecord } from './installation';
5
- import { ErasedPlugin, Provisions, Requirements } from './plugin';
6
- type ErasedInstallation = Installation<unknown, Requirements, Provisions, unknown>;
7
- type ErasedUpdate = InstallationUpdate<unknown, Requirements, Provisions, unknown>;
5
+ import { AnyPlugin, NormalizedPlugin } from './plugin';
6
+ type AnyInstallation = Installation<AnyPlugin>;
7
+ type AnyInstallationUpdate = InstallationUpdate<AnyPlugin>;
8
8
  interface InstallationRegistryPort {
9
9
  readonly notifyChanged: () => void;
10
- readonly update: (installation: InstallationRecord, facade: ErasedInstallation, update: ErasedUpdate) => Promise<void>;
11
- readonly remove: (installation: InstallationRecord, facade: ErasedInstallation) => Promise<void>;
10
+ readonly update: (installation: InstallationRecord, facade: AnyInstallation, update: AnyInstallationUpdate) => Promise<void>;
11
+ readonly remove: (installation: InstallationRecord, facade: AnyInstallation) => Promise<void>;
12
12
  }
13
13
  interface InstallationCapture {
14
- readonly id: string;
15
14
  readonly installation: InstallationRecord;
16
15
  readonly declaration: InstallationDeclaration;
17
16
  }
18
- declare class InstallationFacade<Config, Requires extends Requirements, Provides extends Provisions, ConfigInput> implements Installation<Config, Requires, Provides, ConfigInput> {
19
- #private;
20
- constructor(installation: InstallationRecord);
21
- get id(): string;
22
- get groupId(): string;
23
- get status(): import('./lifecycle-status').LifecycleStatus;
24
- ready(): Promise<void>;
25
- update(update: InstallationUpdate<Config, Requires, Provides, ConfigInput>): Promise<void>;
26
- remove(): Promise<void>;
27
- }
28
17
  /** Owns Installation declarations, public facade authority and stable lookup. */
29
18
  export declare class InstallationRegistry {
30
19
  #private;
@@ -32,9 +21,9 @@ export declare class InstallationRegistry {
32
21
  values(): MapIterator<InstallationRecord>;
33
22
  has(id: string): boolean;
34
23
  contains(installation: InstallationRecord): boolean;
35
- create(group: GroupNode, plugin: ErasedPlugin, config: unknown): {
24
+ create(group: GroupNode, plugin: NormalizedPlugin, config: unknown): {
36
25
  record: InstallationRecord;
37
- publicInstallation: InstallationFacade<unknown, Readonly<Record<string, import('./contracts').Requirement>>, Readonly<Record<string, import('./contracts').Service<unknown>>>, unknown>;
26
+ facade: AnyInstallation;
38
27
  };
39
28
  resolve(value: object): InstallationRecord;
40
29
  attach(installation: InstallationRecord): void;
@@ -1 +1 @@
1
- {"version":3,"file":"installation-registry.d.ts","sourceRoot":"","sources":["../src/installation-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAEL,KAAK,uBAAuB,EAC5B,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvE,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnF,KAAK,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEnF,UAAU,wBAAwB;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,CACf,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,YAAY,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC/C;AAyBD,cAAM,kBAAkB,CACtB,MAAM,EACN,QAAQ,SAAS,YAAY,EAC7B,QAAQ,SAAS,UAAU,EAC3B,WAAW,CACX,YAAW,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;;gBAIpD,YAAY,EAAE,kBAAkB;IAsB5C,IAAI,EAAE,WAEL;IAED,IAAI,OAAO,WAEV;IAED,IAAI,MAAM,iDAET;IAED,KAAK;IAIC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;IAO1E,MAAM;CAYb;AAED,iFAAiF;AACjF,qBAAa,oBAAoB;;gBAOnB,IAAI,EAAE,wBAAwB;IAI1C,MAAM;IAIN,GAAG,CAAC,EAAE,EAAE,MAAM;IAId,QAAQ,CAAC,YAAY,EAAE,kBAAkB;IAIzC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;;;;IAe9D,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB,MAAM,CAAC,YAAY,EAAE,kBAAkB;IAYvC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC;IA0ChD,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO;IAYzE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAIrD,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO;IAKxD,OAAO,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAQ7C,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,mBAAmB,CAAC;CAgBrD"}
1
+ {"version":3,"file":"installation-registry.d.ts","sourceRoot":"","sources":["../src/installation-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAEL,KAAK,uBAAuB,EAC5B,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5D,KAAK,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAC/C,KAAK,qBAAqB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAE3D,UAAU,wBAAwB;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,CACf,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,qBAAqB,KAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;CAC/C;AAkFD,iFAAiF;AACjF,qBAAa,oBAAoB;;gBAOnB,IAAI,EAAE,wBAAwB;IAI1C,MAAM;IAIN,GAAG,CAAC,EAAE,EAAE,MAAM;IAId,QAAQ,CAAC,YAAY,EAAE,kBAAkB;IAIzC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO;;;;IAiBlE,OAAO,CAAC,KAAK,EAAE,MAAM;IAMrB,MAAM,CAAC,YAAY,EAAE,kBAAkB;IAYvC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC;IA0ChD,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO;IAYzE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAIrD,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO;IAKxD,OAAO,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAO7C,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,mBAAmB,CAAC;CAgBrD"}
@@ -1,17 +1,17 @@
1
1
  import { Lifetime } from './lifetime';
2
2
  import { LifecycleStatus } from './lifecycle-status';
3
- import { ErasedPlugin } from './plugin';
3
+ import { NormalizedPlugin } from './plugin';
4
4
  import { GroupNode } from './group';
5
5
  export interface InstallationDeclaration {
6
- readonly plugin: ErasedPlugin;
6
+ readonly plugin: NormalizedPlugin;
7
7
  readonly config: unknown;
8
8
  }
9
9
  export interface Instance {
10
- readonly plugin: ErasedPlugin;
10
+ readonly plugin: NormalizedPlugin;
11
11
  readonly config: unknown;
12
12
  readonly lifetime: Lifetime;
13
13
  }
14
- export declare function createInstallationDeclaration(plugin: ErasedPlugin, config: unknown): InstallationDeclaration;
14
+ export declare function createInstallationDeclaration(plugin: NormalizedPlugin, config: unknown): InstallationDeclaration;
15
15
  /**
16
16
  * An installation is a stable identity whose declaration and active Instance
17
17
  * may change. State transitions and ready waiters live here so orchestration
@@ -28,12 +28,12 @@ export declare class InstallationRecord {
28
28
  /** Whether the owning ChangeSet has granted this Installation Host authority. */
29
29
  get attached(): boolean;
30
30
  get instance(): Instance | undefined;
31
- get error(): Error | undefined;
31
+ get error(): TypeError | undefined;
32
32
  get group(): GroupNode;
33
33
  get declaration(): InstallationDeclaration;
34
34
  replaceDeclaration(declaration: InstallationDeclaration): void;
35
35
  ready(): Promise<void>;
36
- unavailableError(): Error;
36
+ unavailableError(): TypeError;
37
37
  trackReadiness(operation: Promise<void>): void;
38
38
  activate(instance: Instance): void;
39
39
  settleReady(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../src/installation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,OAAO,GACd,uBAAuB,CAEzB;AAwCD;;;;GAIG;AACH,qBAAa,kBAAkB;;IAa3B,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IATxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAQd,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,uBAAuB;IAMtC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI;IAMhC,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,iFAAiF;IACjF,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,yBAGX;IAED,IAAI,KAAK,sBAWR;IAED,IAAI,KAAK,cAER;IAED,IAAI,WAAW,4BAEd;IAED,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;IAIvD,KAAK;IAML,gBAAgB;IAUhB,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;IAuCvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAI3B,WAAW;IAkBX,aAAa;IAOb,UAAU;IAIV,IAAI,CAAC,KAAK,EAAE,OAAO;IAInB,OAAO,CAAC,KAAK,EAAE,OAAO;IAuBtB,MAAM;CAwBP"}
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../src/installation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,OAAO,GACd,uBAAuB,CAEzB;AA2BD;;;;GAIG;AACH,qBAAa,kBAAkB;;IAa3B,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM;IATxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAQd,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACtB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,uBAAuB;IAMtC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI;IAMhC,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,iFAAiF;IACjF,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,yBAGX;IAED,IAAI,KAAK,0BAWR;IAED,IAAI,KAAK,cAER;IAED,IAAI,WAAW,4BAEd;IAED,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;IAIvD,KAAK;IAML,gBAAgB;IAUhB,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;IAuCvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAI3B,WAAW;IAkBX,aAAa;IAOb,UAAU;IAIV,IAAI,CAAC,KAAK,EAAE,OAAO;IAInB,OAAO,CAAC,KAAK,EAAE,OAAO;IAuBtB,MAAM;CAwBP"}
@@ -4,7 +4,7 @@ import { ContributionView } from './contribution-store';
4
4
  import { InstallationGraph } from './installation-graph';
5
5
  import { InstallationRecord } from './installation';
6
6
  import { Logger } from './lifetime';
7
- interface RuntimeOptions {
7
+ export interface InstanceCoordinatorPort {
8
8
  readonly hostName: string;
9
9
  readonly logger: Logger;
10
10
  readonly isInstalled: (installationId: string) => boolean;
@@ -13,9 +13,9 @@ interface RuntimeOptions {
13
13
  export declare class IncompleteActivationCleanupError extends AggregateError {
14
14
  }
15
15
  /** Owns live Instances and the capabilities reachable from their Lifetimes. */
16
- export declare class Runtime {
16
+ export declare class InstanceCoordinator {
17
17
  #private;
18
- constructor(options: RuntimeOptions);
18
+ constructor(port: InstanceCoordinatorPort);
19
19
  readService(provider: InstallationRecord, serviceId: string): {
20
20
  found: true;
21
21
  value: unknown;
@@ -32,5 +32,4 @@ export declare class Runtime {
32
32
  deactivate(installations: ReadonlySet<InstallationRecord>): Promise<unknown[]>;
33
33
  withContributionBatch<T>(operation: () => Promise<T>): Promise<T>;
34
34
  }
35
- export {};
36
- //# sourceMappingURL=runtime.d.ts.map
35
+ //# sourceMappingURL=instance-coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-coordinator.d.ts","sourceRoot":"","sources":["../src/instance-coordinator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAA8B,KAAK,cAAc,EAAoB,MAAM,aAAa,CAAC;AAChG,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAY,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAkD,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAazF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AAEvE,+EAA+E;AAC/E,qBAAa,mBAAmB;;gBAUlB,IAAI,EAAE,uBAAuB;IAQzC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM;;;;;;;IAO3D,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAIzC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAS1D,oBAAoB;IAKpB,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAI9D,aAAa;IAIP,QAAQ,CACZ,IAAI,EAAE,iBAAiB,EACvB,aAAa,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAC9C,OAAO,EAAE,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,EACjD,SAAS,EAAE,qBAAqB;IA6D5B,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAwBzD,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;CAsO3D"}
@@ -25,21 +25,21 @@ export type BackgroundTask<T> = (signal: AbortSignal) => T | PromiseLike<T>;
25
25
  type EventArguments<T> = [T] extends [void] ? [payload?: T] : [payload: T];
26
26
  export interface LifetimeOperations {
27
27
  readonly signal: AbortSignal;
28
- cleanup(dispose: Cleanup): AsyncDisposable;
29
- lifetime(label: string): LifetimeContext;
30
- spawn<T>(task: BackgroundTask<T>): Task<T>;
31
- on<T>(token: Event<T>, listener: EventListener<T>): Disposable;
32
- emit<T>(token: Event<T>, ...payload: EventArguments<T>): Promise<void>;
33
- contribute<T>(token: ExtensionPoint<T>, key: string, value: T): Contribution<T>;
28
+ readonly cleanup: (dispose: Cleanup) => AsyncDisposable;
29
+ readonly lifetime: (label: string) => LifetimeContext;
30
+ readonly spawn: <T>(task: BackgroundTask<T>) => Task<T>;
31
+ readonly on: <T>(token: Event<T>, listener: EventListener<T>) => Disposable;
32
+ readonly emit: <T>(token: Event<T>, ...payload: EventArguments<T>) => Promise<void>;
33
+ readonly contribute: <T>(token: ExtensionPoint<T>, key: string, value: T) => Contribution<T>;
34
34
  }
35
35
  export interface LifetimeContext extends LifetimeOperations, AsyncDisposable {
36
36
  }
37
37
  export interface LifetimePort {
38
- stageOn<T>(ownerId: string, token: Event<T>, listener: EventListener<T>, release: (publication: Publication) => void): StagedResource<Disposable>;
39
- emit<T>(ownerId: string, token: Event<T>, payload: T): Promise<void>;
40
- stageContribution<T>(ownerId: string, token: ExtensionPoint<T>, key: string, value: T, release: (publication: Publication) => void): StagedResource<Contribution<T>>;
41
- writeLog(level: keyof Logger, message: unknown, meta: InstanceMeta, details: readonly unknown[]): void;
42
- report(error: unknown): void;
38
+ readonly stageOn: <T>(installationId: string, token: Event<T>, listener: EventListener<T>, release: (publication: Publication) => void) => StagedResource<Disposable>;
39
+ readonly emit: <T>(installationId: string, token: Event<T>, payload: T) => Promise<void>;
40
+ readonly stageContribution: <T>(installationId: string, token: ExtensionPoint<T>, key: string, value: T, release: (publication: Publication) => void) => StagedResource<Contribution<T>>;
41
+ readonly writeLog: (level: keyof Logger, message: unknown, meta: InstanceMeta, details: readonly unknown[]) => void;
42
+ readonly report: (error: unknown) => void;
43
43
  }
44
44
  interface LifetimeOptions {
45
45
  readonly parentSignal?: AbortSignal;
@@ -59,10 +59,10 @@ declare class CleanupRecord implements AsyncDisposable {
59
59
  export declare class Lifetime implements LifetimeContext {
60
60
  #private;
61
61
  readonly handle: LifetimeContext;
62
- constructor(port: LifetimePort, ownerId: string, options?: LifetimeOptions);
62
+ constructor(port: LifetimePort, installationId: string, options?: LifetimeOptions);
63
63
  get signal(): AbortSignal;
64
64
  get diagnostics(): import('./snapshot-view').SnapshotView<import('./lifetime-diagnostics').LifetimeSnapshot>;
65
- /** A facade whose only Runtime edge disappears when this Lifetime terminates. */
65
+ /** A facade whose only InstanceCoordinator edge disappears when this Lifetime terminates. */
66
66
  contextLogger(meta: InstanceMeta): Logger;
67
67
  cleanup(dispose: Cleanup): CleanupRecord;
68
68
  lifetime(label: string): LifetimeContext;
@@ -1 +1 @@
1
- {"version":3,"file":"lifetime.d.ts","sourceRoot":"","sources":["../src/lifetime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifetime.d.ts","sourceRoot":"","sources":["../src/lifetime.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -5,7 +5,9 @@ import { InstanceMeta, LifetimeOperations, Logger } from './lifetime';
5
5
  import { Awaitable } from './resource';
6
6
  export type { Awaitable } from './resource';
7
7
  export type Requirements = Readonly<Record<string, Requirement>>;
8
- export type Provisions = Readonly<Record<string, Service<unknown>>>;
8
+ export type Provisions = Readonly<Record<string, Extract<Requirement, {
9
+ readonly kind: "service";
10
+ }>>>;
9
11
  type ServiceValue<T> = T extends Service<infer Value> ? Value : never;
10
12
  export type ResolvedRequirement<T> = T extends OptionalService<infer Value> ? Value | undefined : T extends Service<infer Value> ? Value : T extends ExtensionPoint<infer Value> ? ContributionView<Value> : never;
11
13
  export type ResolvedRequirements<T extends Requirements> = {
@@ -27,9 +29,9 @@ export interface Plugin<Config = void, Requires extends Requirements = {}, Provi
27
29
  readonly setup: (context: PluginContext<Requires>, config: Config) => Awaitable<SetupOutput<NoInfer<Provides>>>;
28
30
  }
29
31
  /**
30
- * A heterogeneous Plugin value returned by definePlugin after authoring-specific generic
31
- * information is irrelevant. Its uncallable setup signature preserves strict variance without
32
- * introducing `any`.
32
+ * A heterogeneous view of a Plugin after its authoring-specific generic information is
33
+ * irrelevant. Its uncallable setup signature preserves strict variance without introducing
34
+ * `any`.
33
35
  */
34
36
  export interface AnyPlugin {
35
37
  readonly name: string;
@@ -38,9 +40,20 @@ export interface AnyPlugin {
38
40
  readonly provides?: Provisions;
39
41
  readonly setup: (context: never, config: never) => unknown;
40
42
  }
41
- /** Internal execution representation after public generic information has been checked. */
42
- export type ErasedPlugin = Plugin<unknown, Requirements, Provisions, unknown>;
43
+ /** Internal Instance context after authoring aliases cross the normalization boundary. */
44
+ export type InstanceContext = LifetimeOperations & Readonly<Record<string, unknown>> & {
45
+ readonly meta: InstanceMeta;
46
+ readonly log: Logger;
47
+ };
48
+ /** Canonical Plugin declaration stored after public generics and structure are checked. */
49
+ export interface NormalizedPlugin {
50
+ readonly name: string;
51
+ readonly config?: StandardSchemaV1<unknown, unknown>;
52
+ readonly requires?: Requirements;
53
+ readonly provides?: Provisions;
54
+ readonly setup: (context: InstanceContext, config: unknown) => Awaitable<void | Readonly<Record<string, unknown>>>;
55
+ }
43
56
  export declare function definePlugin<Config = void, Requires extends Requirements = {}, Provides extends Provisions = {}, ConfigInput = Config>(plugin: Plugin<Config, Requires, Provides, ConfigInput>): Plugin<NoInfer<Config>, NoInfer<Requires>, NoInfer<Provides>, NoInfer<ConfigInput>>;
44
57
  /** The sole boundary that validates a public Plugin and erases authoring-only generics. */
45
- export declare function normalizePlugin(plugin: AnyPlugin): ErasedPlugin;
58
+ export declare function normalizePlugin(plugin: AnyPlugin): NormalizedPlugin;
46
59
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;CACnD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,KAAK,IAAI,MAAM,CAgBzB"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;CACnD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,KAAK,IAAI,MAAM,CAoBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-view.d.ts","sourceRoot":"","sources":["../src/snapshot-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,IAAI,CAAC,CAAC;IACT,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;CAC7C;AAoBD,8DAA8D;AAC9D,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,UAAU;;gBAMzC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAU3D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAG3B;IAEH,UAAU;IAoBV,OAAO;IAcP,CAAC,aAAa,CAAC;CAgChB"}
1
+ {"version":3,"file":"snapshot-view.d.ts","sourceRoot":"","sources":["../src/snapshot-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,IAAI,CAAC,CAAC;IACT,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;CAC7C;AAoBD,8DAA8D;AAC9D,qBAAa,iBAAiB,CAAC,CAAC,CAAE,YAAW,UAAU;;gBAMzC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAU3D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAG3B;IAEH,UAAU;IAuBV,OAAO;IAcP,CAAC,aAAa,CAAC;CAgChB"}
@@ -0,0 +1,3 @@
1
+ export declare function assertSynchronous(value: unknown, message: string): void;
2
+ export declare function isThenable(value: unknown): value is PromiseLike<unknown>;
3
+ //# sourceMappingURL=sync-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-result.d.ts","sourceRoot":"","sources":["../src/sync-result.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAGxE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dougongjs/core",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAA8B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAY,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAkD,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAUzF,UAAU,cAAc;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,gCAAiC,SAAQ,cAAc;CAAG;AAEvE,+EAA+E;AAC/E,qBAAa,OAAO;;gBAUN,OAAO,EAAE,cAAc;IAQnC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM;;;;;;;IAO3D,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAIzC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAS1D,oBAAoB;IAKpB,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAI9D,aAAa;IAIP,QAAQ,CACZ,IAAI,EAAE,iBAAiB,EACvB,aAAa,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAC9C,OAAO,EAAE,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,EACjD,SAAS,EAAE,qBAAqB;IA6D5B,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,kBAAkB,CAAC;IAwBzD,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;CAgO3D"}