@namzu/sdk 1.2.0 → 1.3.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/CHANGELOG.md +12 -0
- package/dist/provider/__tests__/registry.test.d.ts +5 -0
- package/dist/provider/__tests__/registry.test.d.ts.map +1 -1
- package/dist/provider/__tests__/registry.test.js +186 -1
- package/dist/provider/__tests__/registry.test.js.map +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +1 -1
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/registry.d.ts +81 -1
- package/dist/provider/registry.d.ts.map +1 -1
- package/dist/provider/registry.js +173 -7
- package/dist/provider/registry.js.map +1 -1
- package/dist/public-runtime.d.ts +1 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +1 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/types/provider/config.d.ts +33 -0
- package/dist/types/provider/config.d.ts.map +1 -1
- package/dist/types/provider/index.d.ts +1 -1
- package/dist/types/provider/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/provider/__tests__/registry.test.ts +266 -1
- package/src/provider/index.ts +7 -1
- package/src/provider/registry.ts +202 -7
- package/src/public-runtime.ts +2 -0
- package/src/types/provider/config.ts +36 -0
- package/src/types/provider/index.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d7c683e: Add lazy provider registration: `ProviderRegistry.registerLazy(type, loader, options?)` plus async construction via `ProviderRegistry.createAsync()` / `createProviderAsync()`.
|
|
8
|
+
|
|
9
|
+
Hosts that must not bundle every provider client into every entrypoint can now register a dynamic-import loader instead of an eagerly imported class — no more hand-rolled construction switches outside the registry. Registration never invokes the loader; the first `createAsync()` awaits it, validates the resolved `{ create }` module, and caches the factory. Concurrent first-creates share a single in-flight load, and only success is cached: a rejected load surfaces as the new `LazyProviderLoadError` (original failure on `cause`) and the next create retries.
|
|
10
|
+
|
|
11
|
+
Capabilities integrate with capability negotiation: an optional `options.capabilities` hint lets `getCapabilities(type)` answer before the provider is loaded (no hint ⇒ permissive default), the loaded module's declared capabilities replace the hint, and the constructed instance's own `LLMProvider.capabilities` remain what the query runtime negotiates against.
|
|
12
|
+
|
|
13
|
+
Lazy types are deliberately not constructible through the sync `create()` / `createProvider()` — those throw the new `LazyProviderSyncCreateError` deterministically so sync behavior never depends on load timing. Existing eager `register()` / `create()` behavior is unchanged.
|
|
14
|
+
|
|
3
15
|
## 1.2.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -2,9 +2,14 @@ interface TestProviderConfig {
|
|
|
2
2
|
type: 'test';
|
|
3
3
|
value?: string;
|
|
4
4
|
}
|
|
5
|
+
interface LazyTestProviderConfig {
|
|
6
|
+
type: 'lazytest';
|
|
7
|
+
value?: string;
|
|
8
|
+
}
|
|
5
9
|
declare module '../../types/provider/config.js' {
|
|
6
10
|
interface ProviderConfigRegistry {
|
|
7
11
|
test: TestProviderConfig;
|
|
12
|
+
lazytest: LazyTestProviderConfig;
|
|
8
13
|
}
|
|
9
14
|
}
|
|
10
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"AAoBA,UAAU,kBAAkB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,UAAU,sBAAsB;IAC/B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,OAAO,QAAQ,gCAAgC,CAAC;IAC/C,UAAU,sBAAsB;QAC/B,IAAI,EAAE,kBAAkB,CAAA;QACxB,QAAQ,EAAE,sBAAsB,CAAA;KAChC;CACD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { PERMISSIVE_PROVIDER_CAPABILITIES, resolveProviderCapabilities } from '../capabilities.js';
|
|
2
3
|
import { registerMock } from '../mock-register.js';
|
|
3
4
|
import { MockLLMProvider } from '../mock.js';
|
|
4
|
-
import { DuplicateProviderError, ProviderRegistry, UnknownProviderError, __resetProviderRegistryInternal, } from '../registry.js';
|
|
5
|
+
import { DuplicateProviderError, LazyProviderLoadError, LazyProviderSyncCreateError, ProviderRegistry, UnknownProviderError, __resetProviderRegistryInternal, } from '../registry.js';
|
|
5
6
|
class TestProvider {
|
|
6
7
|
config;
|
|
7
8
|
id = 'test';
|
|
@@ -33,6 +34,39 @@ const TEST_CAPS = {
|
|
|
33
34
|
supportsStreaming: true,
|
|
34
35
|
supportsFunctionCalling: false,
|
|
35
36
|
};
|
|
37
|
+
class LazyTestProvider {
|
|
38
|
+
config;
|
|
39
|
+
capabilities;
|
|
40
|
+
id = 'lazytest';
|
|
41
|
+
name = 'Lazy Test';
|
|
42
|
+
constructor(config, capabilities) {
|
|
43
|
+
this.config = config;
|
|
44
|
+
this.capabilities = capabilities;
|
|
45
|
+
}
|
|
46
|
+
async *chatStream() {
|
|
47
|
+
yield { id: 'x', delta: { content: 'ok' } };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const HINT_CAPS = {
|
|
51
|
+
supportsTools: false,
|
|
52
|
+
supportsStreaming: false,
|
|
53
|
+
supportsFunctionCalling: false,
|
|
54
|
+
};
|
|
55
|
+
const MODULE_CAPS = {
|
|
56
|
+
supportsTools: true,
|
|
57
|
+
supportsStreaming: true,
|
|
58
|
+
supportsFunctionCalling: true,
|
|
59
|
+
supportsVision: false,
|
|
60
|
+
};
|
|
61
|
+
function deferred() {
|
|
62
|
+
let resolve;
|
|
63
|
+
let reject;
|
|
64
|
+
const promise = new Promise((res, rej) => {
|
|
65
|
+
resolve = res;
|
|
66
|
+
reject = rej;
|
|
67
|
+
});
|
|
68
|
+
return { promise, resolve, reject };
|
|
69
|
+
}
|
|
36
70
|
describe('ProviderRegistry', () => {
|
|
37
71
|
beforeEach(() => {
|
|
38
72
|
__resetProviderRegistryInternal();
|
|
@@ -114,5 +148,156 @@ describe('ProviderRegistry', () => {
|
|
|
114
148
|
expect(err.name).toBe('DuplicateProviderError');
|
|
115
149
|
});
|
|
116
150
|
});
|
|
151
|
+
describe('registerLazy', () => {
|
|
152
|
+
it('does not invoke the loader at registration time', () => {
|
|
153
|
+
let calls = 0;
|
|
154
|
+
ProviderRegistry.registerLazy('lazytest', async () => {
|
|
155
|
+
calls++;
|
|
156
|
+
return { create: (config) => new LazyTestProvider(config) };
|
|
157
|
+
});
|
|
158
|
+
expect(calls).toBe(0);
|
|
159
|
+
expect(ProviderRegistry.isSupported('lazytest')).toBe(true);
|
|
160
|
+
expect(ProviderRegistry.listTypes()).toContain('lazytest');
|
|
161
|
+
});
|
|
162
|
+
it('throws DuplicateProviderError over an existing eager registration', () => {
|
|
163
|
+
ProviderRegistry.register('test', TestProvider, TEST_CAPS);
|
|
164
|
+
expect(() => ProviderRegistry.registerLazy('test', async () => ({
|
|
165
|
+
create: (config) => new TestProvider(config),
|
|
166
|
+
}))).toThrowError(DuplicateProviderError);
|
|
167
|
+
});
|
|
168
|
+
it('throws DuplicateProviderError over an existing lazy registration', () => {
|
|
169
|
+
const loader = async () => ({
|
|
170
|
+
create: (config) => new LazyTestProvider(config),
|
|
171
|
+
});
|
|
172
|
+
ProviderRegistry.registerLazy('lazytest', loader);
|
|
173
|
+
expect(() => ProviderRegistry.registerLazy('lazytest', loader)).toThrowError(DuplicateProviderError);
|
|
174
|
+
});
|
|
175
|
+
it('replace: true swaps between eager and lazy registrations', async () => {
|
|
176
|
+
ProviderRegistry.register('lazytest', LazyTestProvider, TEST_CAPS);
|
|
177
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({ create: (config) => new LazyTestProvider(config) }), { replace: true });
|
|
178
|
+
expect(() => ProviderRegistry.createProvider({ type: 'lazytest' })).toThrowError(LazyProviderSyncCreateError);
|
|
179
|
+
ProviderRegistry.register('lazytest', LazyTestProvider, TEST_CAPS, { replace: true });
|
|
180
|
+
expect(ProviderRegistry.createProvider({ type: 'lazytest' })).toBeInstanceOf(LazyTestProvider);
|
|
181
|
+
});
|
|
182
|
+
it('sync create()/createProvider() always throws for lazy types, even after load', async () => {
|
|
183
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({
|
|
184
|
+
create: (config) => new LazyTestProvider(config),
|
|
185
|
+
}));
|
|
186
|
+
expect(() => ProviderRegistry.create({ type: 'lazytest' })).toThrowError(LazyProviderSyncCreateError);
|
|
187
|
+
await ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
188
|
+
expect(() => ProviderRegistry.createProvider({ type: 'lazytest' })).toThrowError(LazyProviderSyncCreateError);
|
|
189
|
+
});
|
|
190
|
+
it('unregister removes a lazy registration', () => {
|
|
191
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({
|
|
192
|
+
create: (config) => new LazyTestProvider(config),
|
|
193
|
+
}));
|
|
194
|
+
expect(ProviderRegistry.unregister('lazytest')).toBe(true);
|
|
195
|
+
expect(ProviderRegistry.isSupported('lazytest')).toBe(false);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
describe('createAsync', () => {
|
|
199
|
+
it('first create invokes the loader once; subsequent creates reuse the cached factory', async () => {
|
|
200
|
+
let calls = 0;
|
|
201
|
+
ProviderRegistry.registerLazy('lazytest', async () => {
|
|
202
|
+
calls++;
|
|
203
|
+
return { create: (config) => new LazyTestProvider(config) };
|
|
204
|
+
});
|
|
205
|
+
const first = await ProviderRegistry.createAsync({ type: 'lazytest', value: 'a' });
|
|
206
|
+
const second = await ProviderRegistry.createAsync({ type: 'lazytest', value: 'b' });
|
|
207
|
+
expect(calls).toBe(1);
|
|
208
|
+
expect(first.provider).toBeInstanceOf(LazyTestProvider);
|
|
209
|
+
expect(second.provider).toBeInstanceOf(LazyTestProvider);
|
|
210
|
+
expect(second.provider.config.value).toBe('b');
|
|
211
|
+
});
|
|
212
|
+
it('concurrent first-creates share a single loader invocation', async () => {
|
|
213
|
+
let calls = 0;
|
|
214
|
+
const gate = deferred();
|
|
215
|
+
ProviderRegistry.registerLazy('lazytest', async () => {
|
|
216
|
+
calls++;
|
|
217
|
+
await gate.promise;
|
|
218
|
+
return { create: (config) => new LazyTestProvider(config) };
|
|
219
|
+
});
|
|
220
|
+
const a = ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
221
|
+
const b = ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
222
|
+
gate.resolve();
|
|
223
|
+
const [ra, rb] = await Promise.all([a, b]);
|
|
224
|
+
expect(calls).toBe(1);
|
|
225
|
+
expect(ra.provider).toBeInstanceOf(LazyTestProvider);
|
|
226
|
+
expect(rb.provider).toBeInstanceOf(LazyTestProvider);
|
|
227
|
+
});
|
|
228
|
+
it('loader rejection surfaces as LazyProviderLoadError and the next create retries', async () => {
|
|
229
|
+
let calls = 0;
|
|
230
|
+
ProviderRegistry.registerLazy('lazytest', async () => {
|
|
231
|
+
calls++;
|
|
232
|
+
if (calls === 1) {
|
|
233
|
+
throw new Error('transient network failure');
|
|
234
|
+
}
|
|
235
|
+
return { create: (config) => new LazyTestProvider(config) };
|
|
236
|
+
});
|
|
237
|
+
const failure = await ProviderRegistry.createAsync({ type: 'lazytest' }).catch((err) => err);
|
|
238
|
+
expect(failure).toBeInstanceOf(LazyProviderLoadError);
|
|
239
|
+
expect(failure.providerType).toBe('lazytest');
|
|
240
|
+
expect(failure.cause.message).toBe('transient network failure');
|
|
241
|
+
const { provider } = await ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
242
|
+
expect(calls).toBe(2);
|
|
243
|
+
expect(provider).toBeInstanceOf(LazyTestProvider);
|
|
244
|
+
});
|
|
245
|
+
it('rejects with LazyProviderLoadError when the loader resolves an invalid module shape', async () => {
|
|
246
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({}));
|
|
247
|
+
await expect(ProviderRegistry.createAsync({ type: 'lazytest' })).rejects.toThrowError(LazyProviderLoadError);
|
|
248
|
+
});
|
|
249
|
+
it('works for eagerly registered types too', async () => {
|
|
250
|
+
const { provider, capabilities } = await ProviderRegistry.createAsync({
|
|
251
|
+
type: 'mock',
|
|
252
|
+
model: 'test-model',
|
|
253
|
+
});
|
|
254
|
+
expect(provider).toBeInstanceOf(MockLLMProvider);
|
|
255
|
+
expect(capabilities.supportsStreaming).toBe(true);
|
|
256
|
+
});
|
|
257
|
+
it('rejects with UnknownProviderError for unregistered types', async () => {
|
|
258
|
+
await expect(ProviderRegistry.createAsync({ type: 'nonexistent' })).rejects.toThrowError(UnknownProviderError);
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
describe('lazy capabilities', () => {
|
|
262
|
+
it('answers with the registration hint before load, without invoking the loader', () => {
|
|
263
|
+
let calls = 0;
|
|
264
|
+
ProviderRegistry.registerLazy('lazytest', async () => {
|
|
265
|
+
calls++;
|
|
266
|
+
return { create: (config) => new LazyTestProvider(config) };
|
|
267
|
+
}, { capabilities: HINT_CAPS });
|
|
268
|
+
expect(ProviderRegistry.getCapabilities('lazytest')).toEqual(HINT_CAPS);
|
|
269
|
+
expect(calls).toBe(0);
|
|
270
|
+
});
|
|
271
|
+
it('answers permissively before load when no hint was given', () => {
|
|
272
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({
|
|
273
|
+
create: (config) => new LazyTestProvider(config),
|
|
274
|
+
}));
|
|
275
|
+
expect(ProviderRegistry.getCapabilities('lazytest')).toEqual(PERMISSIVE_PROVIDER_CAPABILITIES);
|
|
276
|
+
});
|
|
277
|
+
it('module capabilities replace the hint after load', async () => {
|
|
278
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({
|
|
279
|
+
create: (config) => new LazyTestProvider(config),
|
|
280
|
+
capabilities: MODULE_CAPS,
|
|
281
|
+
}), { capabilities: HINT_CAPS });
|
|
282
|
+
const { capabilities } = await ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
283
|
+
expect(capabilities).toEqual(MODULE_CAPS);
|
|
284
|
+
expect(ProviderRegistry.getCapabilities('lazytest')).toEqual(MODULE_CAPS);
|
|
285
|
+
});
|
|
286
|
+
it('the constructed instance own capabilities win at run time over any hint', async () => {
|
|
287
|
+
const instanceCaps = {
|
|
288
|
+
supportsTools: true,
|
|
289
|
+
supportsStreaming: true,
|
|
290
|
+
supportsFunctionCalling: false,
|
|
291
|
+
supportsVision: false,
|
|
292
|
+
};
|
|
293
|
+
ProviderRegistry.registerLazy('lazytest', async () => ({ create: (config) => new LazyTestProvider(config, instanceCaps) }), { capabilities: HINT_CAPS });
|
|
294
|
+
const { provider } = await ProviderRegistry.createAsync({ type: 'lazytest' });
|
|
295
|
+
// The query runtime negotiates against the instance, not the registry:
|
|
296
|
+
const resolved = resolveProviderCapabilities(provider);
|
|
297
|
+
expect(resolved.supportsTools).toBe(true);
|
|
298
|
+
expect(resolved.supportsFunctionCalling).toBe(false);
|
|
299
|
+
expect(resolved.supportsVision).toBe(false);
|
|
300
|
+
});
|
|
301
|
+
});
|
|
117
302
|
});
|
|
118
303
|
//# sourceMappingURL=registry.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
|
package/dist/provider/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ProviderRegistry, UnknownProviderError, DuplicateProviderError } from './registry.js';
|
|
1
|
+
export { ProviderRegistry, UnknownProviderError, DuplicateProviderError, LazyProviderLoadError, LazyProviderSyncCreateError, } from './registry.js';
|
|
2
2
|
export { MockLLMProvider } from './mock.js';
|
|
3
3
|
export { registerMock, MOCK_CAPABILITIES } from './mock-register.js';
|
|
4
4
|
export { PERMISSIVE_PROVIDER_CAPABILITIES, resolveProviderCapabilities, } from './capabilities.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EACN,gCAAgC,EAChC,2BAA2B,GAC3B,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/provider/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ProviderRegistry, UnknownProviderError, DuplicateProviderError } from './registry.js';
|
|
1
|
+
export { ProviderRegistry, UnknownProviderError, DuplicateProviderError, LazyProviderLoadError, LazyProviderSyncCreateError, } from './registry.js';
|
|
2
2
|
export { MockLLMProvider } from './mock.js';
|
|
3
3
|
export { registerMock, MOCK_CAPABILITIES } from './mock-register.js';
|
|
4
4
|
export { PERMISSIVE_PROVIDER_CAPABILITIES, resolveProviderCapabilities, } from './capabilities.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EACN,gCAAgC,EAChC,2BAA2B,GAC3B,MAAM,mBAAmB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LLMProvider, LLMProviderConstructor, ProviderCapabilities, ProviderConfigRegistry, ProviderFactoryConfig, ProviderFactoryResult, ProviderType, RegisterOptions } from '../types/provider/index.js';
|
|
1
|
+
import type { LLMProvider, LLMProviderConstructor, LazyProviderLoader, ProviderCapabilities, ProviderConfigRegistry, ProviderFactoryConfig, ProviderFactoryResult, ProviderType, RegisterLazyOptions, RegisterOptions } from '../types/provider/index.js';
|
|
2
2
|
export declare class UnknownProviderError extends Error {
|
|
3
3
|
readonly providerType: string;
|
|
4
4
|
constructor(providerType: string);
|
|
@@ -7,6 +7,28 @@ export declare class DuplicateProviderError extends Error {
|
|
|
7
7
|
readonly providerType: string;
|
|
8
8
|
constructor(providerType: string);
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* The loader passed to `ProviderRegistry.registerLazy()` rejected (or
|
|
12
|
+
* resolved to something without a `create(config)` function). Wraps the
|
|
13
|
+
* original failure as `cause`. The failed load is NOT cached — the next
|
|
14
|
+
* `createAsync()` for the type re-invokes the loader, so a transient
|
|
15
|
+
* failure (network hiccup during a dynamic import) does not permanently
|
|
16
|
+
* poison the type.
|
|
17
|
+
*/
|
|
18
|
+
export declare class LazyProviderLoadError extends Error {
|
|
19
|
+
readonly providerType: string;
|
|
20
|
+
constructor(providerType: string, cause: unknown);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A synchronous `create()`/`createProvider()` was called for a type
|
|
24
|
+
* registered via `registerLazy()`. Lazy types are only constructible
|
|
25
|
+
* through the async path — deterministically, even after the loader has
|
|
26
|
+
* resolved, so calling code never depends on load-order timing.
|
|
27
|
+
*/
|
|
28
|
+
export declare class LazyProviderSyncCreateError extends Error {
|
|
29
|
+
readonly providerType: string;
|
|
30
|
+
constructor(providerType: string);
|
|
31
|
+
}
|
|
10
32
|
/**
|
|
11
33
|
* Central registry for LLM providers.
|
|
12
34
|
*
|
|
@@ -28,11 +50,69 @@ export declare class DuplicateProviderError extends Error {
|
|
|
28
50
|
* region: 'us-east-1',
|
|
29
51
|
* })
|
|
30
52
|
* ```
|
|
53
|
+
*
|
|
54
|
+
* Hosts that must not eagerly bundle every provider client register a
|
|
55
|
+
* LOADER instead and construct through the async path:
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* ProviderRegistry.registerLazy(
|
|
60
|
+
* 'anthropic',
|
|
61
|
+
* async () => {
|
|
62
|
+
* const m = await import('@namzu/anthropic')
|
|
63
|
+
* return { create: (c) => new m.AnthropicProvider(c), capabilities: m.ANTHROPIC_CAPABILITIES }
|
|
64
|
+
* },
|
|
65
|
+
* { capabilities: { supportsTools: true, supportsStreaming: true, supportsFunctionCalling: true } },
|
|
66
|
+
* )
|
|
67
|
+
*
|
|
68
|
+
* const { provider } = await ProviderRegistry.createAsync({ type: 'anthropic', apiKey })
|
|
69
|
+
* ```
|
|
31
70
|
*/
|
|
32
71
|
export declare class ProviderRegistry {
|
|
33
72
|
static register<K extends ProviderType>(type: K, ctor: LLMProviderConstructor<ProviderConfigRegistry[K]>, caps: ProviderCapabilities, options?: RegisterOptions): void;
|
|
73
|
+
/**
|
|
74
|
+
* Register a provider type WITHOUT importing its implementation. The
|
|
75
|
+
* loader is not invoked here; the first `createAsync()` for the type
|
|
76
|
+
* awaits it, validates the resolved `{ create }` module, and caches it.
|
|
77
|
+
* Subsequent creates reuse the cached factory. Only SUCCESS is cached:
|
|
78
|
+
* a rejected load surfaces as `LazyProviderLoadError` and the next
|
|
79
|
+
* `createAsync()` retries the loader. Concurrent first-creates share a
|
|
80
|
+
* single in-flight load.
|
|
81
|
+
*
|
|
82
|
+
* Capability precedence (weakest first):
|
|
83
|
+
* 1. `options.capabilities` — pre-load HINT so `getCapabilities(type)`
|
|
84
|
+
* answers without loading (absent hint ⇒ permissive default, matching
|
|
85
|
+
* `resolveProviderCapabilities`'s treatment of undeclared providers).
|
|
86
|
+
* 2. the loaded module's `capabilities` — replaces the hint on load.
|
|
87
|
+
* 3. the constructed instance's own `LLMProvider.capabilities` — the
|
|
88
|
+
* query runtime negotiates against the INSTANCE
|
|
89
|
+
* (`resolveProviderCapabilities(provider)`), so if it differs from
|
|
90
|
+
* both of the above, the instance wins where it matters.
|
|
91
|
+
*
|
|
92
|
+
* Lazy types are deliberately NOT constructible via the sync
|
|
93
|
+
* `create()`/`createProvider()` (throws `LazyProviderSyncCreateError`),
|
|
94
|
+
* even after the loader has resolved — sync behavior must not depend on
|
|
95
|
+
* whether some earlier call happened to load the module.
|
|
96
|
+
*/
|
|
97
|
+
static registerLazy<K extends ProviderType>(type: K, loader: LazyProviderLoader<ProviderConfigRegistry[K]>, options?: RegisterLazyOptions): void;
|
|
34
98
|
static create(config: ProviderFactoryConfig): ProviderFactoryResult;
|
|
99
|
+
/**
|
|
100
|
+
* Async twin of `create()`. Works for BOTH eager and lazy registrations,
|
|
101
|
+
* so hosts can use one code path; for lazy types it performs the
|
|
102
|
+
* load-on-first-use described on `registerLazy()`.
|
|
103
|
+
*/
|
|
104
|
+
static createAsync(config: ProviderFactoryConfig): Promise<ProviderFactoryResult>;
|
|
35
105
|
static createProvider(config: ProviderFactoryConfig): LLMProvider;
|
|
106
|
+
static createProviderAsync(config: ProviderFactoryConfig): Promise<LLMProvider>;
|
|
107
|
+
/**
|
|
108
|
+
* Type-level capabilities. For a lazily-registered type this answers
|
|
109
|
+
* WITHOUT invoking the loader: the registration hint if one was given,
|
|
110
|
+
* otherwise the permissive default (assume everything — consistent with
|
|
111
|
+
* how `resolveProviderCapabilities` treats an undeclared provider). Once
|
|
112
|
+
* loaded, a module-shipped declaration replaces the hint. Note the query
|
|
113
|
+
* runtime negotiates against the constructed INSTANCE's own
|
|
114
|
+
* `capabilities`, which wins over anything stored here.
|
|
115
|
+
*/
|
|
36
116
|
static getCapabilities(type: string): ProviderCapabilities;
|
|
37
117
|
static isSupported(type: string): type is ProviderType;
|
|
38
118
|
static unregister(type: ProviderType): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/provider/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/provider/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAElB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,MAAM,4BAA4B,CAAA;AAGnC,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;gBAEjB,YAAY,EAAE,MAAM;CAKhC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;gBAEjB,YAAY,EAAE,MAAM;CAOhC;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;gBAEjB,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAMhD;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;gBAEjB,YAAY,EAAE,MAAM;CAOhC;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,gBAAgB;IAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,YAAY,EACrC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACvD,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,eAAe,GACvB,IAAI;IASP;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,YAAY,EACzC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE,mBAAmB,GAC3B,IAAI;IAYP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB;IAMnE;;;;OAIG;WACU,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQvF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW;WAWpD,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAarF;;;;;;;;OAQG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAW1D,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY;IAItD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAM9C,MAAM,CAAC,SAAS,IAAI,YAAY,EAAE;CAGlC;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAItD"}
|