@cotal-ai/core 0.108.1 → 0.109.1

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.
@@ -13,6 +13,10 @@
13
13
  * they are invisible to {@link resolve}/{@link all} until {@link commitStaged} publishes them
14
14
  * atomically. Registrations made in OTHER async contexts during the import's awaits go straight to
15
15
  * live and are never captured (so a rollback never discards an unrelated registration).
16
+ *
17
+ * A root can also DECLARE a module before importing it ({@link Registry.provide}): the keys it
18
+ * registers and how to import it. {@link Registry.load} then imports only the module behind the key
19
+ * a process asks for, so a process that runs one command need not import every command's module.
16
20
  */
17
21
  export interface Extension {
18
22
  readonly kind: string;
@@ -26,6 +30,15 @@ export interface ExtensionRef {
26
30
  readonly kind: string;
27
31
  readonly name: string;
28
32
  }
33
+ /** A module that registers extensions when it is imported, declared to the registry before it loads.
34
+ * A composition root declares one so that a process which needs only some extensions imports only
35
+ * their modules: {@link Registry.load} imports the provider of the key it is asked for, once. */
36
+ export interface ExtensionProvider {
37
+ /** Every key importing the module registers that a caller may {@link Registry.load} by. */
38
+ readonly provides: readonly ExtensionRef[];
39
+ /** Imports the module. Its registrations are the module's own, as with any import. */
40
+ readonly load: () => Promise<unknown>;
41
+ }
29
42
  export declare class Registry {
30
43
  #private;
31
44
  /** Register one or more extensions, all-or-nothing. A `kind:name` or `kind:alias` already claimed
@@ -55,8 +68,20 @@ export declare class Registry {
55
68
  * like {@link resolve}). A boolean probe that never throws. */
56
69
  has(kind: string, name: string): boolean;
57
70
  /** Resolve one extension by kind + name or alias. Unknown throws. Staged (uncommitted) registrations are
58
- * invisible here; only committed ones resolve. */
71
+ * invisible here; only committed ones resolve. A key whose declared provider has not loaded throws
72
+ * too, naming that: {@link load} resolves it. */
59
73
  resolve<T extends Extension>(kind: T["kind"], name: string): T;
74
+ /** Declare a provider: a module that registers `provides` when it is imported. Nothing is imported
75
+ * here. A key that another provider already declares is refused, so a key has one provider. */
76
+ provide(provider: ExtensionProvider): void;
77
+ /** Whether a provider was declared for exactly this kind + name, loaded or not. A boolean probe
78
+ * that never throws and imports nothing. */
79
+ provides(kind: string, name: string): boolean;
80
+ /** Resolve kind + name, first importing the provider declared for it unless that import has run.
81
+ * Concurrent calls share one import. A key no provider declares resolves as {@link resolve} does.
82
+ * A provider that loads without registering the key it declared throws: the declaration is wrong,
83
+ * and no other extension stands in for it. */
84
+ load<T extends Extension>(kind: T["kind"], name: string): Promise<T>;
60
85
  /** Every registered (committed) extension, optionally narrowed to one kind. */
61
86
  all(): Extension[];
62
87
  all<T extends Extension>(kind: T["kind"]): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;0FACsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAOD,qBAAa,QAAQ;;IASnB;;;;gBAIY;IACZ,QAAQ,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IA2BpC;iDAC6C;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ/C;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAMtF;kFAC8E;IAC9E,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAMhD;oEACgE;IAChE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAUxC;uDACmD;IACnD,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAM9D,+EAA+E;IAC/E,GAAG,IAAI,SAAS,EAAE;IAClB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;CAK/C;AAED,kFAAkF;AAClF,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;0FACsF;IACtF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;kGAEkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AAOD,qBAAa,QAAQ;;IAWnB;;;;gBAIY;IACZ,QAAQ,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IA2BpC;iDAC6C;IAC7C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ/C;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAMtF;kFAC8E;IAC9E,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAMhD;oEACgE;IAChE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAUxC;;sDAEkD;IAClD,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAS9D;oGACgG;IAChG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAO1C;iDAC6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7C;;;mDAG+C;IACzC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAU1E,+EAA+E;IAC/E,GAAG,IAAI,SAAS,EAAE;IAClB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;CAK/C;AAED,kFAAkF;AAClF,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
package/dist/registry.js CHANGED
@@ -5,6 +5,8 @@ function claims(ext) {
5
5
  }
6
6
  export class Registry {
7
7
  #byKey = new Map();
8
+ /** `kind:name` → the declared provider that registers it, and its import once one has started. */
9
+ #providers = new Map();
8
10
  /** `kind:alias` → the claiming extension's `kind:name` key, for committed extensions. */
9
11
  #aliases = new Map();
10
12
  /** While a stage is active in the CURRENT async context, {@link register} writes there instead of
@@ -91,13 +93,47 @@ export class Registry {
91
93
  return this.#aliases.get(key) ?? key;
92
94
  }
93
95
  /** Resolve one extension by kind + name or alias. Unknown throws. Staged (uncommitted) registrations are
94
- * invisible here; only committed ones resolve. */
96
+ * invisible here; only committed ones resolve. A key whose declared provider has not loaded throws
97
+ * too, naming that: {@link load} resolves it. */
95
98
  resolve(kind, name) {
96
99
  const ext = this.#byKey.get(this.#canonical(kind, name));
97
- if (!ext)
100
+ if (!ext) {
101
+ if (this.#providers.has(`${kind}:${name}`))
102
+ throw new Error(`${kind} "${name}" is declared by a provider this process has not loaded`);
98
103
  throw new Error(`no ${kind} registered for "${name}"`);
104
+ }
99
105
  return ext;
100
106
  }
107
+ /** Declare a provider: a module that registers `provides` when it is imported. Nothing is imported
108
+ * here. A key that another provider already declares is refused, so a key has one provider. */
109
+ provide(provider) {
110
+ const keys = provider.provides.map((ref) => `${ref.kind}:${ref.name}`);
111
+ for (const key of keys)
112
+ if (this.#providers.has(key))
113
+ throw new Error(`extension provider already declared: ${key}`);
114
+ const entry = { provider };
115
+ for (const key of keys)
116
+ this.#providers.set(key, entry);
117
+ }
118
+ /** Whether a provider was declared for exactly this kind + name, loaded or not. A boolean probe
119
+ * that never throws and imports nothing. */
120
+ provides(kind, name) {
121
+ return this.#providers.has(`${kind}:${name}`);
122
+ }
123
+ /** Resolve kind + name, first importing the provider declared for it unless that import has run.
124
+ * Concurrent calls share one import. A key no provider declares resolves as {@link resolve} does.
125
+ * A provider that loads without registering the key it declared throws: the declaration is wrong,
126
+ * and no other extension stands in for it. */
127
+ async load(kind, name) {
128
+ const entry = this.#providers.get(`${kind}:${name}`);
129
+ if (entry) {
130
+ entry.loading ??= entry.provider.load();
131
+ await entry.loading;
132
+ if (!this.#byKey.has(this.#canonical(kind, name)))
133
+ throw new Error(`the provider declared for ${kind} "${name}" loaded without registering it`);
134
+ }
135
+ return this.resolve(kind, name);
136
+ }
101
137
  all(kind) {
102
138
  const values = [...this.#byKey.values()];
103
139
  return (kind === undefined ? values : values.filter((e) => e.kind === kind));
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/core",
3
3
  "description": "The Cotal protocol: endpoint, subjects, message types, the NATS client layer, and the extension contracts.",
4
- "version": "0.108.1",
4
+ "version": "0.109.1",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
7
7
  "cotal",