@dougongjs/core 0.3.0 → 0.5.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.
- package/README.md +2 -2
- package/dist/change-set.d.ts +15 -6
- package/dist/change-set.d.ts.map +1 -1
- package/dist/configuration.d.ts +12 -1
- package/dist/configuration.d.ts.map +1 -1
- package/dist/contract-registry.d.ts +2 -2
- package/dist/contract-registry.d.ts.map +1 -1
- package/dist/contracts.d.ts +27 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contribution-store.d.ts +21 -2
- package/dist/contribution-store.d.ts.map +1 -1
- package/dist/diagnostics.d.ts +21 -3
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/engine.d.ts +30 -9
- package/dist/engine.d.ts.map +1 -1
- package/dist/errors.d.ts +49 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/event-hub.d.ts +12 -1
- package/dist/event-hub.d.ts.map +1 -1
- package/dist/group-configuration.d.ts +20 -0
- package/dist/group-configuration.d.ts.map +1 -0
- package/dist/group-coordinator.d.ts +34 -15
- package/dist/group-coordinator.d.ts.map +1 -1
- package/dist/group-lifecycle.d.ts +13 -0
- package/dist/group-lifecycle.d.ts.map +1 -1
- package/dist/group.d.ts +5 -11
- package/dist/group.d.ts.map +1 -1
- package/dist/host-api.d.ts +35 -1
- package/dist/host-api.d.ts.map +1 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1053 -647
- package/dist/installation-graph.d.ts +8 -1
- package/dist/installation-graph.d.ts.map +1 -1
- package/dist/installation-registry.d.ts +7 -2
- package/dist/installation-registry.d.ts.map +1 -1
- package/dist/installation.d.ts +19 -1
- package/dist/installation.d.ts.map +1 -1
- package/dist/instance-coordinator.d.ts +64 -0
- package/dist/instance-coordinator.d.ts.map +1 -0
- package/dist/lifecycle-status.d.ts.map +1 -1
- package/dist/lifetime-diagnostics.d.ts +7 -1
- package/dist/lifetime-diagnostics.d.ts.map +1 -1
- package/dist/lifetime.d.ts +44 -8
- package/dist/lifetime.d.ts.map +1 -1
- package/dist/plugin.d.ts +28 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/readonly-map.d.ts +8 -1
- package/dist/readonly-map.d.ts.map +1 -1
- package/dist/record.d.ts +16 -1
- package/dist/record.d.ts.map +1 -1
- package/dist/resource.d.ts +6 -0
- package/dist/resource.d.ts.map +1 -1
- package/dist/serial-queue.d.ts +7 -1
- package/dist/serial-queue.d.ts.map +1 -1
- package/dist/snapshot-view.d.ts +2 -0
- package/dist/snapshot-view.d.ts.map +1 -1
- package/dist/sync-result.d.ts +3 -0
- package/dist/sync-result.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/runtime.d.ts +0 -36
- package/dist/runtime.d.ts.map +0 -1
package/dist/group.d.ts
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
/** One explicit transaction shared by every nested Group configure callback. */
|
|
2
|
-
export declare class GroupConfigurationSession<Draft> {
|
|
3
|
-
#private;
|
|
4
|
-
constructor(draft: Draft, discard: (draft: Draft, error: unknown) => void, normalize: (error: unknown) => Error);
|
|
5
|
-
get failure(): Error | undefined;
|
|
6
|
-
requireDraft(): Draft;
|
|
7
|
-
assertOpen(): void;
|
|
8
|
-
fail(error: unknown): Error;
|
|
9
|
-
seal(): Draft;
|
|
10
|
-
discard(error: unknown): void;
|
|
11
|
-
}
|
|
12
1
|
/**
|
|
13
2
|
* A Group is an ownership tree over installations, never a capability scope.
|
|
14
3
|
* Service resolution and ExtensionPoint/Event visibility remain Host-wide.
|
|
4
|
+
*
|
|
5
|
+
* So a Plugin inside a Group sees exactly what it would see outside one: the
|
|
6
|
+
* same providers, the same contributions. The only thing membership decides is
|
|
7
|
+
* what gets removed together. Ids are paths (`/ui/panels`) because a position in
|
|
8
|
+
* this tree is the whole meaning of a Group.
|
|
15
9
|
*/
|
|
16
10
|
export declare class GroupNode {
|
|
17
11
|
#private;
|
package/dist/group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../src/group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../src/group.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,qBAAa,SAAS;;IAKlB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFvB,OAAO;IAQP,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;IAIxB,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAEvC;IAED,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAGlC;IAED,MAAM,CAAC,IAAI,EAAE,MAAM;IAWnB,QAAQ,CAAC,SAAS,EAAE,SAAS;IAO7B,cAAc;IAUd,MAAM;IASN,IAAI;CAYL"}
|
package/dist/host-api.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { AnyPlugin, Plugin, Provisions, Requirements } from './plugin';
|
|
|
5
5
|
import { ExtensionPoint, OptionalService, Service } from './contracts';
|
|
6
6
|
import { ContributionView } from './contribution-store';
|
|
7
7
|
import { SnapshotView } from './snapshot-view';
|
|
8
|
+
import { Awaitable } from './resource';
|
|
8
9
|
declare const installationBrand: unique symbol;
|
|
9
10
|
type DeclaredInstallationUpdate<Config, Requires extends Requirements, Provides extends Provisions, ConfigInput> = {
|
|
10
11
|
readonly plugin: Plugin<Config, Requires, Provides, ConfigInput>;
|
|
@@ -20,7 +21,18 @@ type AnyPluginInstallationUpdate = {
|
|
|
20
21
|
readonly plugin?: never;
|
|
21
22
|
readonly config: unknown;
|
|
22
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* What one `update()` may change. The union requires at least one of `plugin`
|
|
26
|
+
* and `config`, so an empty update is a compile error rather than a transaction
|
|
27
|
+
* that commits nothing. Replacing the Plugin keeps the Installation's identity
|
|
28
|
+
* and position — only its declaration moves.
|
|
29
|
+
*/
|
|
23
30
|
export type InstallationUpdate<Declaration extends AnyPlugin = AnyPlugin> = Declaration extends Plugin<infer Config, infer Requires, infer Provides, infer ConfigInput> ? DeclaredInstallationUpdate<Config, Requires, Provides, ConfigInput> : AnyPluginInstallationUpdate;
|
|
31
|
+
/**
|
|
32
|
+
* Makes the config argument required exactly when the Plugin declares one, so
|
|
33
|
+
* `install(needsConfig)` fails to compile while `install(needsNothing)` stays a
|
|
34
|
+
* one-argument call.
|
|
35
|
+
*/
|
|
24
36
|
export type PluginConfigArguments<Declaration extends AnyPlugin> = Declaration extends Plugin<infer _Config, infer _Requires, infer _Provides, infer ConfigInput> ? [ConfigInput] extends [void] ? [config?: ConfigInput] : [config: ConfigInput] : [config?: unknown];
|
|
25
37
|
/**
|
|
26
38
|
* One installed Plugin, as a stable identity. The declaration behind it may be
|
|
@@ -46,6 +58,14 @@ export interface Installation<Declaration extends AnyPlugin = AnyPlugin> {
|
|
|
46
58
|
readonly update: (update: InstallationUpdate<Declaration>) => Promise<void>;
|
|
47
59
|
remove(): Promise<void>;
|
|
48
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* One transaction. Staged operations apply together or not at all, so a batch
|
|
63
|
+
* that would leave a missing dependency between two of its own steps is valid —
|
|
64
|
+
* only the committed end state has to resolve.
|
|
65
|
+
*
|
|
66
|
+
* `group()` is deliberately absent: a ChangeSet moves installations, and Group
|
|
67
|
+
* structure is created through an `Installer`.
|
|
68
|
+
*/
|
|
49
69
|
export interface ChangeSet extends Pick<Installer, "install"> {
|
|
50
70
|
update<Declaration extends AnyPlugin>(installation: Installation<Declaration>, update: InstallationUpdate<Declaration>): void;
|
|
51
71
|
remove<Declaration extends AnyPlugin>(installation: Installation<Declaration>): void;
|
|
@@ -54,7 +74,12 @@ export interface ChangeSet extends Pick<Installer, "install"> {
|
|
|
54
74
|
export interface HostOptions {
|
|
55
75
|
readonly name?: string;
|
|
56
76
|
readonly logger?: Logger;
|
|
57
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Terminal sink for failures with nowhere left to propagate — a background
|
|
79
|
+
* task's rejection, a diagnostics subscriber that threw. It does not see
|
|
80
|
+
* errors from `start()` or `commit()`; those are returned to their caller.
|
|
81
|
+
*/
|
|
82
|
+
readonly onError?: (error: unknown) => Awaitable<void>;
|
|
58
83
|
}
|
|
59
84
|
/** Capability to install into an ownership position without controlling Host execution. */
|
|
60
85
|
export interface Installer {
|
|
@@ -70,6 +95,15 @@ export interface Group extends Installer {
|
|
|
70
95
|
ready(): Promise<void>;
|
|
71
96
|
remove(): Promise<void>;
|
|
72
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* The execution boundary Dougong owns: commands, transactions, orchestration.
|
|
100
|
+
*
|
|
101
|
+
* `get()` and `contributions()` are for application code — the code that embeds
|
|
102
|
+
* Dougong from outside the graph. A Plugin never reaches its dependencies this
|
|
103
|
+
* way; it declares them in `requires` and receives them as context. That is the
|
|
104
|
+
* difference between a declared dependency and a Service Locator, and it is why
|
|
105
|
+
* `Host` is not reachable from `PluginContext`.
|
|
106
|
+
*/
|
|
73
107
|
export interface Host extends Installer {
|
|
74
108
|
readonly name: string;
|
|
75
109
|
readonly status: HostStatus;
|
package/dist/host-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"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"}
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA2C,MAAM,YAAY,CAAC;AAe7F,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnG,YAAY,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAA2C,MAAM,YAAY,CAAC;AAe7F,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnG,YAAY,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAyRpB,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAEtD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { definePlugin, type AnyPlugin, type Awaitable, type PluginContext, type
|
|
|
4
4
|
export { isLogger, type BackgroundTask, type Cleanup, type LifetimeContext, type LifetimeOperations, type LifetimePhase, type LifetimeSnapshot, type Logger, type InstanceMeta, type Task, } from './lifetime';
|
|
5
5
|
export type { Contribution, ContributionView } from './contribution-store';
|
|
6
6
|
export type { EventListener } from './event-hub';
|
|
7
|
-
export { ConfigValidationError, DougongError, isCancellationReason } from './errors';
|
|
7
|
+
export { ConfigValidationError, DougongError, RecordedFailure, type ErrorSnapshot, isCancellationReason, } from './errors';
|
|
8
8
|
export { asyncDisposeSymbol, disposeSymbol, type AsyncDisposable, type Disposable, } from './resource';
|
|
9
9
|
export { assertPlainRecord } from './record';
|
|
10
10
|
export { ReadonlyMapSnapshot } from './readonly-map';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,EACL,cAAc,EACd,QAAQ,EACR,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,OAAO,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,UAAU,EACV,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,GACV,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,KAAK,aAAa,EAClB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|