@genesislcap/foundation-ai 14.461.2 → 14.462.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/dist/dts/ai-provider.d.ts +101 -5
- package/dist/dts/ai-provider.d.ts.map +1 -1
- package/dist/dts/index.d.ts +2 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/types/chat.types.d.ts +18 -0
- package/dist/dts/types/chat.types.d.ts.map +1 -1
- package/dist/esm/ai-provider.js +116 -8
- package/dist/esm/index.js +1 -1
- package/dist/foundation-ai.api.json +892 -35
- package/dist/foundation-ai.d.ts +137 -1
- package/package.json +11 -11
|
@@ -132,6 +132,35 @@ export interface AIProviderRegistry {
|
|
|
132
132
|
*/
|
|
133
133
|
listStatuses(): Promise<AIProviderRegistryStatusEntry[]>;
|
|
134
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Optional capability layered onto {@link (AIProviderRegistry:interface)}: a
|
|
137
|
+
* registry whose provider mapping and default can change at runtime, and that
|
|
138
|
+
* notifies listeners when they do.
|
|
139
|
+
*
|
|
140
|
+
* @remarks
|
|
141
|
+
* Consumers should **feature-detect** this with
|
|
142
|
+
* {@link isObservableAIProviderRegistry} rather than depend on it — the
|
|
143
|
+
* built-in empty fallback registry is immutable and deliberately does not
|
|
144
|
+
* implement it. The read contract ({@link (AIProviderRegistry:interface)})
|
|
145
|
+
* is unchanged; this only adds change notification, never new read methods.
|
|
146
|
+
*
|
|
147
|
+
* @beta
|
|
148
|
+
*/
|
|
149
|
+
export interface ObservableAIProviderRegistry extends AIProviderRegistry {
|
|
150
|
+
/**
|
|
151
|
+
* Register a listener fired once after any change to the provider mapping or
|
|
152
|
+
* default. Returns an unsubscribe function; call it to stop notifications.
|
|
153
|
+
*/
|
|
154
|
+
subscribe(listener: () => void): () => void;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Feature-detects an {@link ObservableAIProviderRegistry}. Returns `true` when
|
|
158
|
+
* `r` exposes a `subscribe` method — i.e. it can notify on runtime changes —
|
|
159
|
+
* and `false` for the immutable built-ins.
|
|
160
|
+
*
|
|
161
|
+
* @beta
|
|
162
|
+
*/
|
|
163
|
+
export declare function isObservableAIProviderRegistry(r: AIProviderRegistry): r is ObservableAIProviderRegistry;
|
|
135
164
|
/**
|
|
136
165
|
* Built-in fallback registry. Resolved by the DI container when no host has
|
|
137
166
|
* registered an {@link (AIProviderRegistry:interface)}. Holds a single
|
|
@@ -155,18 +184,64 @@ export declare class EmptyAIProviderRegistry implements AIProviderRegistry {
|
|
|
155
184
|
* insertion order of `providers` for {@link (AIProviderRegistry:interface).names}
|
|
156
185
|
* and {@link (AIProviderRegistry:interface).listStatuses}.
|
|
157
186
|
*
|
|
158
|
-
*
|
|
187
|
+
* Mutable and observable: a host that holds a reference can rebind names,
|
|
188
|
+
* change the default, or atomically replace the whole mapping at runtime via
|
|
189
|
+
* {@link MutableAIProviderRegistry.set}, {@link MutableAIProviderRegistry.setDefault}
|
|
190
|
+
* and {@link MutableAIProviderRegistry.update}, and subscribe to be told when
|
|
191
|
+
* any of those happen. This is the substrate for runtime provider switching:
|
|
192
|
+
* the DI token resolves one stable instance, and consumers re-resolve their
|
|
193
|
+
* cached providers when {@link MutableAIProviderRegistry.subscribe | subscribe}
|
|
194
|
+
* fires. A registry that is never mutated behaves identically to an immutable
|
|
195
|
+
* one, so existing single-registration callers are unaffected.
|
|
196
|
+
*
|
|
197
|
+
* @beta
|
|
159
198
|
*/
|
|
160
|
-
export declare class
|
|
161
|
-
private
|
|
162
|
-
private
|
|
199
|
+
export declare class MutableAIProviderRegistry implements ObservableAIProviderRegistry {
|
|
200
|
+
private providers;
|
|
201
|
+
private _defaultName;
|
|
202
|
+
private readonly listeners;
|
|
163
203
|
constructor(providers: Map<string, AIProvider>, defaultName: string);
|
|
204
|
+
/**
|
|
205
|
+
* The mapping invariant shared by construction and
|
|
206
|
+
* {@link MutableAIProviderRegistry.update}: at least one provider, and the
|
|
207
|
+
* resolved default name must be one of the keys. Throws
|
|
208
|
+
* with the same messages from both call sites. Validates the finalized map, so
|
|
209
|
+
* callers normalize/copy and resolve the default name first, then validate.
|
|
210
|
+
*/
|
|
211
|
+
private static assertValidMapping;
|
|
164
212
|
get(name: string): AIProvider | undefined;
|
|
165
213
|
default(): AIProvider;
|
|
166
214
|
defaultName(): string;
|
|
167
215
|
names(): string[];
|
|
168
216
|
getStatus(name?: string): Promise<AIStatus | null>;
|
|
169
217
|
listStatuses(): Promise<AIProviderRegistryStatusEntry[]>;
|
|
218
|
+
/**
|
|
219
|
+
* Rebind (or add) a single name. Rebinding an existing name preserves its
|
|
220
|
+
* position in `names()`; a new name is appended. Notifies subscribers.
|
|
221
|
+
*/
|
|
222
|
+
set(name: string, provider: AIProvider): void;
|
|
223
|
+
/**
|
|
224
|
+
* Change the default provider. Throws if `name` is not currently registered.
|
|
225
|
+
* Notifies subscribers.
|
|
226
|
+
*/
|
|
227
|
+
setDefault(name: string): void;
|
|
228
|
+
/**
|
|
229
|
+
* Atomically replace the whole mapping (and optionally the default) in one
|
|
230
|
+
* step, then notify subscribers once. Applies the same validation as the
|
|
231
|
+
* constructor: an empty mapping throws, and the resolved default must be
|
|
232
|
+
* present. When `options.default` is omitted the current default name is
|
|
233
|
+
* retained (and must still exist in the new mapping).
|
|
234
|
+
*/
|
|
235
|
+
update(providers: Record<string, AIProvider> | Map<string, AIProvider>, options?: {
|
|
236
|
+
default?: string;
|
|
237
|
+
}): void;
|
|
238
|
+
subscribe(listener: () => void): () => void;
|
|
239
|
+
/**
|
|
240
|
+
* Fire every listener once. Iterates a snapshot so a listener that
|
|
241
|
+
* unsubscribes (or subscribes) during notification doesn't perturb the
|
|
242
|
+
* in-flight iteration.
|
|
243
|
+
*/
|
|
244
|
+
private notify;
|
|
170
245
|
}
|
|
171
246
|
/**
|
|
172
247
|
* The DI token for the {@link (AIProviderRegistry:interface)}. When no host
|
|
@@ -216,7 +291,28 @@ export interface RegisterAIProvidersOptions {
|
|
|
216
291
|
* );
|
|
217
292
|
* ```
|
|
218
293
|
*
|
|
294
|
+
* @returns the constructed {@link MutableAIProviderRegistry}, so a host that
|
|
295
|
+
* wants to switch providers at runtime can keep the handle and call
|
|
296
|
+
* {@link MutableAIProviderRegistry.set | set} /
|
|
297
|
+
* {@link MutableAIProviderRegistry.setDefault | setDefault} /
|
|
298
|
+
* {@link MutableAIProviderRegistry.update | update} on it later. Callers that
|
|
299
|
+
* register once and never switch can ignore the return value.
|
|
300
|
+
*
|
|
301
|
+
* @beta
|
|
302
|
+
*/
|
|
303
|
+
export declare function registerAIProviders(container: Container, providers: Record<string, AIProvider>, options?: RegisterAIProvidersOptions): MutableAIProviderRegistry;
|
|
304
|
+
/**
|
|
305
|
+
* Registers a host-supplied {@link (AIProviderRegistry:interface)} instance on
|
|
306
|
+
* the DI container under the {@link (AIProviderRegistry:variable)} token.
|
|
307
|
+
*
|
|
308
|
+
* @remarks
|
|
309
|
+
* A thin wrapper over FAST's `Registration.instance` so a host can register its
|
|
310
|
+
* own pre-built registry — typically a {@link MutableAIProviderRegistry} it
|
|
311
|
+
* owns and mutates for runtime provider switching — **without importing FAST
|
|
312
|
+
* primitives** itself. {@link registerAIProviders} delegates to this; reach for
|
|
313
|
+
* it directly when you construct the registry yourself.
|
|
314
|
+
*
|
|
219
315
|
* @beta
|
|
220
316
|
*/
|
|
221
|
-
export declare function
|
|
317
|
+
export declare function registerAIProviderRegistry(container: Container, registry: AIProviderRegistry): void;
|
|
222
318
|
//# sourceMappingURL=ai-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { AIProviderRegistry, createAIProvider, registerAIProviders, resolveAIConfig, } from './ai-provider';
|
|
2
|
-
export type { AIProvider, AIProviderRegistryStatusEntry, RegisterAIProvidersOptions, } from './ai-provider';
|
|
1
|
+
export { AIProviderRegistry, createAIProvider, isObservableAIProviderRegistry, MutableAIProviderRegistry, registerAIProviderRegistry, registerAIProviders, resolveAIConfig, } from './ai-provider';
|
|
2
|
+
export type { AIProvider, AIProviderRegistryStatusEntry, ObservableAIProviderRegistry, RegisterAIProvidersOptions, } from './ai-provider';
|
|
3
3
|
export { AnthropicProvider } from './providers/anthropic-provider';
|
|
4
4
|
export { GeminiProvider } from './providers/gemini-provider';
|
|
5
5
|
export { AnthropicTransport } from './transports/anthropic-transport';
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACpF,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -237,6 +237,24 @@ export interface ChatMessage {
|
|
|
237
237
|
* Not shown to the user.
|
|
238
238
|
*/
|
|
239
239
|
responseMeta?: ChatResponseMeta;
|
|
240
|
+
/**
|
|
241
|
+
* Concrete model id that produced this message — what the active provider's
|
|
242
|
+
* {@link AIProvider.getStatus} reported for the turn (e.g.
|
|
243
|
+
* `'gemini-2.5-flash-lite'`, `'claude-haiku-4-5-20251001'`). Stamped by the
|
|
244
|
+
* driver onto model-produced assistant messages; tool calls ride on the
|
|
245
|
+
* assistant message that requested them, so a message's `model` also
|
|
246
|
+
* attributes its `toolCalls`. Absent on driver-authored messages (error/empty
|
|
247
|
+
* fallbacks, user/tool messages) and when the provider reports no status.
|
|
248
|
+
*/
|
|
249
|
+
model?: string;
|
|
250
|
+
/**
|
|
251
|
+
* Registry name the provider was resolved under for the turn that produced
|
|
252
|
+
* this message (e.g. a tier name, or the default name). Together with `model`
|
|
253
|
+
* it records both the slot the turn selected and the concrete model behind it,
|
|
254
|
+
* so swapping the model behind a stable name stays visible in the debug log.
|
|
255
|
+
* Stamped by the driver alongside `model`.
|
|
256
|
+
*/
|
|
257
|
+
providerName?: string;
|
|
240
258
|
}
|
|
241
259
|
/**
|
|
242
260
|
* Provider-reported diagnostic for a single chat response, surfaced so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/types/chat.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../../src/types/chat.types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ai-provider.js
CHANGED
|
@@ -119,6 +119,16 @@ export function resolveAIConfig() {
|
|
|
119
119
|
return { provider, model: model !== null && model !== void 0 ? model : 'gpt-4o-mini' };
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Feature-detects an {@link ObservableAIProviderRegistry}. Returns `true` when
|
|
124
|
+
* `r` exposes a `subscribe` method — i.e. it can notify on runtime changes —
|
|
125
|
+
* and `false` for the immutable built-ins.
|
|
126
|
+
*
|
|
127
|
+
* @beta
|
|
128
|
+
*/
|
|
129
|
+
export function isObservableAIProviderRegistry(r) {
|
|
130
|
+
return typeof r.subscribe === 'function';
|
|
131
|
+
}
|
|
122
132
|
/**
|
|
123
133
|
* Built-in fallback registry. Resolved by the DI container when no host has
|
|
124
134
|
* registered an {@link (AIProviderRegistry:interface)}. Holds a single
|
|
@@ -165,24 +175,48 @@ EmptyAIProviderRegistry.DEFAULT_NAME = 'default';
|
|
|
165
175
|
* insertion order of `providers` for {@link (AIProviderRegistry:interface).names}
|
|
166
176
|
* and {@link (AIProviderRegistry:interface).listStatuses}.
|
|
167
177
|
*
|
|
168
|
-
*
|
|
178
|
+
* Mutable and observable: a host that holds a reference can rebind names,
|
|
179
|
+
* change the default, or atomically replace the whole mapping at runtime via
|
|
180
|
+
* {@link MutableAIProviderRegistry.set}, {@link MutableAIProviderRegistry.setDefault}
|
|
181
|
+
* and {@link MutableAIProviderRegistry.update}, and subscribe to be told when
|
|
182
|
+
* any of those happen. This is the substrate for runtime provider switching:
|
|
183
|
+
* the DI token resolves one stable instance, and consumers re-resolve their
|
|
184
|
+
* cached providers when {@link MutableAIProviderRegistry.subscribe | subscribe}
|
|
185
|
+
* fires. A registry that is never mutated behaves identically to an immutable
|
|
186
|
+
* one, so existing single-registration callers are unaffected.
|
|
187
|
+
*
|
|
188
|
+
* @beta
|
|
169
189
|
*/
|
|
170
|
-
export class
|
|
190
|
+
export class MutableAIProviderRegistry {
|
|
171
191
|
constructor(providers, defaultName) {
|
|
192
|
+
this.listeners = new Set();
|
|
193
|
+
// Defensive copy so external mutation of the caller's Map can't desync the
|
|
194
|
+
// registry from its own invariants. Validate the copy we will actually keep.
|
|
195
|
+
const next = new Map(providers);
|
|
196
|
+
MutableAIProviderRegistry.assertValidMapping(next, defaultName);
|
|
197
|
+
this.providers = next;
|
|
198
|
+
this._defaultName = defaultName;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* The mapping invariant shared by construction and
|
|
202
|
+
* {@link MutableAIProviderRegistry.update}: at least one provider, and the
|
|
203
|
+
* resolved default name must be one of the keys. Throws
|
|
204
|
+
* with the same messages from both call sites. Validates the finalized map, so
|
|
205
|
+
* callers normalize/copy and resolve the default name first, then validate.
|
|
206
|
+
*/
|
|
207
|
+
static assertValidMapping(providers, defaultName) {
|
|
172
208
|
if (providers.size === 0) {
|
|
173
|
-
throw new Error('
|
|
209
|
+
throw new Error('MutableAIProviderRegistry: at least one provider is required.');
|
|
174
210
|
}
|
|
175
211
|
if (!providers.has(defaultName)) {
|
|
176
|
-
throw new Error(`
|
|
212
|
+
throw new Error(`MutableAIProviderRegistry: default name "${defaultName}" not present in providers.`);
|
|
177
213
|
}
|
|
178
|
-
this.providers = providers;
|
|
179
|
-
this._defaultName = defaultName;
|
|
180
214
|
}
|
|
181
215
|
get(name) {
|
|
182
216
|
return this.providers.get(name);
|
|
183
217
|
}
|
|
184
218
|
default() {
|
|
185
|
-
//
|
|
219
|
+
// Construction and every mutator guarantee this lookup succeeds.
|
|
186
220
|
return this.providers.get(this._defaultName);
|
|
187
221
|
}
|
|
188
222
|
defaultName() {
|
|
@@ -213,6 +247,56 @@ export class MapBackedAIProviderRegistry {
|
|
|
213
247
|
})));
|
|
214
248
|
});
|
|
215
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Rebind (or add) a single name. Rebinding an existing name preserves its
|
|
252
|
+
* position in `names()`; a new name is appended. Notifies subscribers.
|
|
253
|
+
*/
|
|
254
|
+
set(name, provider) {
|
|
255
|
+
this.providers.set(name, provider);
|
|
256
|
+
this.notify();
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Change the default provider. Throws if `name` is not currently registered.
|
|
260
|
+
* Notifies subscribers.
|
|
261
|
+
*/
|
|
262
|
+
setDefault(name) {
|
|
263
|
+
if (!this.providers.has(name)) {
|
|
264
|
+
throw new Error(`MutableAIProviderRegistry: cannot set default to "${name}" — not present in providers.`);
|
|
265
|
+
}
|
|
266
|
+
this._defaultName = name;
|
|
267
|
+
this.notify();
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Atomically replace the whole mapping (and optionally the default) in one
|
|
271
|
+
* step, then notify subscribers once. Applies the same validation as the
|
|
272
|
+
* constructor: an empty mapping throws, and the resolved default must be
|
|
273
|
+
* present. When `options.default` is omitted the current default name is
|
|
274
|
+
* retained (and must still exist in the new mapping).
|
|
275
|
+
*/
|
|
276
|
+
update(providers, options = {}) {
|
|
277
|
+
var _a;
|
|
278
|
+
const next = providers instanceof Map ? new Map(providers) : new Map(Object.entries(providers));
|
|
279
|
+
const nextDefault = (_a = options.default) !== null && _a !== void 0 ? _a : this._defaultName;
|
|
280
|
+
MutableAIProviderRegistry.assertValidMapping(next, nextDefault);
|
|
281
|
+
this.providers = next;
|
|
282
|
+
this._defaultName = nextDefault;
|
|
283
|
+
this.notify();
|
|
284
|
+
}
|
|
285
|
+
subscribe(listener) {
|
|
286
|
+
this.listeners.add(listener);
|
|
287
|
+
return () => {
|
|
288
|
+
this.listeners.delete(listener);
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Fire every listener once. Iterates a snapshot so a listener that
|
|
293
|
+
* unsubscribes (or subscribes) during notification doesn't perturb the
|
|
294
|
+
* in-flight iteration.
|
|
295
|
+
*/
|
|
296
|
+
notify() {
|
|
297
|
+
for (const listener of Array.from(this.listeners))
|
|
298
|
+
listener();
|
|
299
|
+
}
|
|
216
300
|
}
|
|
217
301
|
/**
|
|
218
302
|
* The DI token for the {@link (AIProviderRegistry:interface)}. When no host
|
|
@@ -249,6 +333,13 @@ export const AIProviderRegistry = DI.createInterface((x) => x.singleton(EmptyAIP
|
|
|
249
333
|
* );
|
|
250
334
|
* ```
|
|
251
335
|
*
|
|
336
|
+
* @returns the constructed {@link MutableAIProviderRegistry}, so a host that
|
|
337
|
+
* wants to switch providers at runtime can keep the handle and call
|
|
338
|
+
* {@link MutableAIProviderRegistry.set | set} /
|
|
339
|
+
* {@link MutableAIProviderRegistry.setDefault | setDefault} /
|
|
340
|
+
* {@link MutableAIProviderRegistry.update | update} on it later. Callers that
|
|
341
|
+
* register once and never switch can ignore the return value.
|
|
342
|
+
*
|
|
252
343
|
* @beta
|
|
253
344
|
*/
|
|
254
345
|
export function registerAIProviders(container, providers, options = {}) {
|
|
@@ -269,6 +360,23 @@ export function registerAIProviders(container, providers, options = {}) {
|
|
|
269
360
|
else {
|
|
270
361
|
throw new Error(`registerAIProviders: multiple providers registered (${entries.map(([k]) => k).join(', ')}) — must specify { default } to disambiguate.`);
|
|
271
362
|
}
|
|
272
|
-
const registry = new
|
|
363
|
+
const registry = new MutableAIProviderRegistry(new Map(entries), defaultName);
|
|
364
|
+
registerAIProviderRegistry(container, registry);
|
|
365
|
+
return registry;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Registers a host-supplied {@link (AIProviderRegistry:interface)} instance on
|
|
369
|
+
* the DI container under the {@link (AIProviderRegistry:variable)} token.
|
|
370
|
+
*
|
|
371
|
+
* @remarks
|
|
372
|
+
* A thin wrapper over FAST's `Registration.instance` so a host can register its
|
|
373
|
+
* own pre-built registry — typically a {@link MutableAIProviderRegistry} it
|
|
374
|
+
* owns and mutates for runtime provider switching — **without importing FAST
|
|
375
|
+
* primitives** itself. {@link registerAIProviders} delegates to this; reach for
|
|
376
|
+
* it directly when you construct the registry yourself.
|
|
377
|
+
*
|
|
378
|
+
* @beta
|
|
379
|
+
*/
|
|
380
|
+
export function registerAIProviderRegistry(container, registry) {
|
|
273
381
|
container.register(Registration.instance(AIProviderRegistry, registry));
|
|
274
382
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AIProviderRegistry, createAIProvider, registerAIProviders, resolveAIConfig, } from './ai-provider';
|
|
1
|
+
export { AIProviderRegistry, createAIProvider, isObservableAIProviderRegistry, MutableAIProviderRegistry, registerAIProviderRegistry, registerAIProviders, resolveAIConfig, } from './ai-provider';
|
|
2
2
|
export { AnthropicProvider } from './providers/anthropic-provider';
|
|
3
3
|
export { GeminiProvider } from './providers/gemini-provider';
|
|
4
4
|
export { AnthropicTransport } from './transports/anthropic-transport';
|