@namzu/sdk 0.1.6-rc.1 → 0.1.7

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/constants/provider/index.d.ts +0 -3
  3. package/dist/constants/provider/index.d.ts.map +1 -1
  4. package/dist/constants/provider/index.js +0 -18
  5. package/dist/constants/provider/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/provider/__tests__/registry.test.d.ts +11 -0
  11. package/dist/provider/__tests__/registry.test.d.ts.map +1 -0
  12. package/dist/provider/__tests__/registry.test.js +118 -0
  13. package/dist/provider/__tests__/registry.test.js.map +1 -0
  14. package/dist/provider/index.d.ts +3 -3
  15. package/dist/provider/index.d.ts.map +1 -1
  16. package/dist/provider/index.js +3 -3
  17. package/dist/provider/index.js.map +1 -1
  18. package/dist/provider/mock-register.d.ts +12 -0
  19. package/dist/provider/mock-register.d.ts.map +1 -0
  20. package/dist/provider/mock-register.js +24 -0
  21. package/dist/provider/mock-register.js.map +1 -0
  22. package/dist/provider/mock.d.ts +26 -0
  23. package/dist/provider/mock.d.ts.map +1 -0
  24. package/dist/provider/{factory.js → mock.js} +3 -45
  25. package/dist/provider/mock.js.map +1 -0
  26. package/dist/provider/registry.d.ts +47 -0
  27. package/dist/provider/registry.d.ts.map +1 -0
  28. package/dist/provider/registry.js +89 -0
  29. package/dist/provider/registry.js.map +1 -0
  30. package/dist/rag/rag-tool.d.ts +1 -1
  31. package/dist/types/provider/config.d.ts +29 -21
  32. package/dist/types/provider/config.d.ts.map +1 -1
  33. package/dist/types/provider/index.d.ts +1 -1
  34. package/dist/types/provider/index.d.ts.map +1 -1
  35. package/package.json +4 -2
  36. package/src/constants/provider/index.ts +0 -22
  37. package/src/index.ts +5 -4
  38. package/src/provider/__tests__/registry.test.ts +155 -0
  39. package/src/provider/index.ts +3 -3
  40. package/src/provider/mock-register.ts +27 -0
  41. package/src/provider/{factory.ts → mock.ts} +2 -57
  42. package/src/provider/registry.ts +118 -0
  43. package/src/types/provider/config.ts +31 -29
  44. package/src/types/provider/index.ts +3 -4
  45. package/dist/provider/bedrock/client.d.ts +0 -14
  46. package/dist/provider/bedrock/client.d.ts.map +0 -1
  47. package/dist/provider/bedrock/client.js +0 -460
  48. package/dist/provider/bedrock/client.js.map +0 -1
  49. package/dist/provider/factory.d.ts +0 -39
  50. package/dist/provider/factory.d.ts.map +0 -1
  51. package/dist/provider/factory.js.map +0 -1
  52. package/dist/provider/openrouter/client.d.ts +0 -17
  53. package/dist/provider/openrouter/client.d.ts.map +0 -1
  54. package/dist/provider/openrouter/client.js +0 -305
  55. package/dist/provider/openrouter/client.js.map +0 -1
  56. package/src/provider/bedrock/client.ts +0 -548
  57. package/src/provider/openrouter/client.ts +0 -390
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  All notable changes to Namzu are documented here.
4
4
 
5
+ ## [0.1.7] — 2026-04-15
6
+
7
+ ### Documentation
8
+
9
+ - **changelog**: add 0.1.6 (sdk) and 0.1.0 (computer-use) entries; fix cliff tag prefix + workflow race
10
+ ### Features
11
+
12
+ - **bedrock**: extract BedrockProvider to @namzu/bedrock package (Phase I.3 pilot)
13
+ - **openrouter**: extract OpenRouterProvider to @namzu/openrouter package (Phase I.4)
14
+ ### Refactor
15
+
16
+ - **sdk**: address Codex review — scope providers/ subfolder, hide registry reset
17
+ - **sdk**: replace ProviderFactory with ProviderRegistry for per-vendor extraction [**BREAKING**]
18
+ ## [0.1.6] — 2026-04-15
19
+
20
+ ### Documentation
21
+
22
+ - **changelog**: update for sdk-v0.1.6-rc.1
23
+ ## [0.1.6-rc.1] — 2026-04-15
24
+
25
+ ### Documentation
26
+
27
+ - **changelog**: update for v0.1.5
28
+ ### Features
29
+
30
+ - **sdk**: add ComputerUseHost interface and computer_use tool
31
+ ### Miscellaneous
32
+
33
+ - initialize namzu monorepo from sdk; add @namzu/computer-use capability package
5
34
  ## [0.1.5] — 2026-04-15
6
35
 
7
36
  ### Bug Fixes
@@ -1,5 +1,2 @@
1
- import type { ProviderCapabilities, ProviderType } from '../../types/provider/index.js';
2
1
  export declare const FALLBACK_MOCK_MODEL = "mock-model";
3
- export declare const PROVIDER_CAPABILITIES: Record<ProviderType, ProviderCapabilities>;
4
- export declare const OPENROUTER_BASE_URL: string;
5
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEvF,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAE/C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAgB5E,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAoE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/provider/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,eAAe,CAAA"}
@@ -1,20 +1,2 @@
1
1
  export const FALLBACK_MOCK_MODEL = 'mock-model';
2
- export const PROVIDER_CAPABILITIES = {
3
- openrouter: {
4
- supportsTools: true,
5
- supportsStreaming: true,
6
- supportsFunctionCalling: true,
7
- },
8
- bedrock: {
9
- supportsTools: true,
10
- supportsStreaming: true,
11
- supportsFunctionCalling: true,
12
- },
13
- mock: {
14
- supportsTools: false,
15
- supportsStreaming: true,
16
- supportsFunctionCalling: false,
17
- },
18
- };
19
- export const OPENROUTER_BASE_URL = process.env.OPENROUTER_BASE_URL ?? 'https://openrouter.ai/api/v1';
20
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/provider/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAA;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAA+C;IAChF,UAAU,EAAE;QACX,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;KAC7B;IACD,OAAO,EAAE;QACR,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;KAC7B;IACD,IAAI,EAAE;QACL,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,KAAK;KAC9B;CACD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/provider/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAA"}
package/dist/index.d.ts CHANGED
@@ -66,7 +66,7 @@ export { buildAdvisoryTools } from './tools/advisory/index.js';
66
66
  export type { AdvisoryToolsOptions } from './tools/advisory/index.js';
67
67
  export { buildMemoryTools } from './tools/memory/index.js';
68
68
  export { LocalTaskGateway } from './gateway/local.js';
69
- export { OpenRouterProvider, BedrockProvider, ProviderFactory, MockLLMProvider, UnknownProviderError, } from './provider/index.js';
69
+ export { ProviderRegistry, UnknownProviderError, DuplicateProviderError, MockLLMProvider, registerMock, MOCK_CAPABILITIES, } from './provider/index.js';
70
70
  export { LocalSandboxProvider, SandboxProviderFactory, } from './sandbox/index.js';
71
71
  export { defineTool } from './tools/defineTool.js';
72
72
  export type { DefineToolOptions } from './tools/defineTool.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@ export { buildTaskTools, buildTaskCreateTool, buildTaskUpdateTool, buildTaskList
58
58
  export { buildAdvisoryTools } from './tools/advisory/index.js';
59
59
  export { buildMemoryTools } from './tools/memory/index.js';
60
60
  export { LocalTaskGateway } from './gateway/local.js';
61
- export { OpenRouterProvider, BedrockProvider, ProviderFactory, MockLLMProvider, UnknownProviderError, } from './provider/index.js';
61
+ export { ProviderRegistry, UnknownProviderError, DuplicateProviderError, MockLLMProvider, registerMock, MOCK_CAPABILITIES, } from './provider/index.js';
62
62
  export { LocalSandboxProvider, SandboxProviderFactory, } from './sandbox/index.js';
63
63
  export { defineTool } from './tools/defineTool.js';
64
64
  export { getBuiltinTools } from './tools/builtins/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ interface TestProviderConfig {
2
+ type: 'test';
3
+ value?: string;
4
+ }
5
+ declare module '../../types/provider/config.js' {
6
+ interface ProviderConfigRegistry {
7
+ test: TestProviderConfig;
8
+ }
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=registry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"AAaA,UAAU,kBAAkB;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,OAAO,QAAQ,gCAAgC,CAAC;IAC/C,UAAU,sBAAsB;QAC/B,IAAI,EAAE,kBAAkB,CAAA;KACxB;CACD"}
@@ -0,0 +1,118 @@
1
+ import { beforeEach, describe, expect, it } from 'vitest';
2
+ import { registerMock } from '../mock-register.js';
3
+ import { MockLLMProvider } from '../mock.js';
4
+ import { DuplicateProviderError, ProviderRegistry, UnknownProviderError, __resetProviderRegistryInternal, } from '../registry.js';
5
+ class TestProvider {
6
+ config;
7
+ id = 'test';
8
+ name = 'Test';
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ async chat() {
13
+ return {
14
+ id: 'x',
15
+ model: 'm',
16
+ message: { role: 'assistant', content: 'ok' },
17
+ finishReason: 'stop',
18
+ usage: {
19
+ promptTokens: 0,
20
+ completionTokens: 0,
21
+ totalTokens: 0,
22
+ cachedTokens: 0,
23
+ cacheWriteTokens: 0,
24
+ },
25
+ };
26
+ }
27
+ async *chatStream() {
28
+ yield { id: 'x', delta: { content: 'ok' } };
29
+ }
30
+ }
31
+ const TEST_CAPS = {
32
+ supportsTools: false,
33
+ supportsStreaming: true,
34
+ supportsFunctionCalling: false,
35
+ };
36
+ describe('ProviderRegistry', () => {
37
+ beforeEach(() => {
38
+ __resetProviderRegistryInternal();
39
+ registerMock();
40
+ });
41
+ describe('register', () => {
42
+ it('registers a provider and stores capabilities', () => {
43
+ ProviderRegistry.register('test', TestProvider, {
44
+ supportsTools: true,
45
+ supportsStreaming: false,
46
+ supportsFunctionCalling: true,
47
+ });
48
+ expect(ProviderRegistry.isSupported('test')).toBe(true);
49
+ expect(ProviderRegistry.getCapabilities('test').supportsTools).toBe(true);
50
+ });
51
+ it('throws DuplicateProviderError on re-register without replace', () => {
52
+ ProviderRegistry.register('test', TestProvider, TEST_CAPS);
53
+ expect(() => ProviderRegistry.register('test', TestProvider, TEST_CAPS)).toThrowError(DuplicateProviderError);
54
+ });
55
+ it('allows replacement when { replace: true }', () => {
56
+ ProviderRegistry.register('test', TestProvider, TEST_CAPS);
57
+ const newCaps = {
58
+ supportsTools: true,
59
+ supportsStreaming: true,
60
+ supportsFunctionCalling: true,
61
+ };
62
+ expect(() => ProviderRegistry.register('test', TestProvider, newCaps, { replace: true })).not.toThrow();
63
+ expect(ProviderRegistry.getCapabilities('test').supportsTools).toBe(true);
64
+ });
65
+ });
66
+ describe('create', () => {
67
+ it('instantiates the registered provider with typed config', () => {
68
+ const { provider, capabilities } = ProviderRegistry.create({
69
+ type: 'mock',
70
+ model: 'test-model',
71
+ });
72
+ expect(provider).toBeInstanceOf(MockLLMProvider);
73
+ expect(capabilities.supportsStreaming).toBe(true);
74
+ });
75
+ it('throws UnknownProviderError for unregistered type', () => {
76
+ expect(() => ProviderRegistry.create({ type: 'nonexistent' })).toThrowError(UnknownProviderError);
77
+ });
78
+ });
79
+ describe('isSupported', () => {
80
+ it('returns true for registered types', () => {
81
+ expect(ProviderRegistry.isSupported('mock')).toBe(true);
82
+ });
83
+ it('returns false for unregistered types', () => {
84
+ expect(ProviderRegistry.isSupported('nope')).toBe(false);
85
+ });
86
+ });
87
+ describe('unregister', () => {
88
+ it('removes provider and capabilities', () => {
89
+ ProviderRegistry.register('test', TestProvider, TEST_CAPS);
90
+ expect(ProviderRegistry.unregister('test')).toBe(true);
91
+ expect(ProviderRegistry.isSupported('test')).toBe(false);
92
+ });
93
+ it('returns false when type is not registered', () => {
94
+ expect(ProviderRegistry.unregister('test')).toBe(false);
95
+ });
96
+ });
97
+ describe('listTypes', () => {
98
+ it('returns all registered types', () => {
99
+ ProviderRegistry.register('test', TestProvider, TEST_CAPS);
100
+ const types = ProviderRegistry.listTypes();
101
+ expect(types).toContain('mock');
102
+ expect(types).toContain('test');
103
+ });
104
+ });
105
+ describe('error types', () => {
106
+ it('UnknownProviderError preserves type', () => {
107
+ const err = new UnknownProviderError('foo');
108
+ expect(err.providerType).toBe('foo');
109
+ expect(err.name).toBe('UnknownProviderError');
110
+ });
111
+ it('DuplicateProviderError preserves type', () => {
112
+ const err = new DuplicateProviderError('bar');
113
+ expect(err.providerType).toBe('bar');
114
+ expect(err.name).toBe('DuplicateProviderError');
115
+ });
116
+ });
117
+ });
118
+ //# sourceMappingURL=registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/provider/__tests__/registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EACN,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,GAC/B,MAAM,gBAAgB,CAAA;AAevB,MAAM,YAAY;IAGW;IAFnB,EAAE,GAAG,MAAM,CAAA;IACX,IAAI,GAAG,MAAM,CAAA;IACtB,YAA4B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAC1D,KAAK,CAAC,IAAI;QACT,OAAO;YACN,EAAE,EAAE,GAAG;YACP,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,IAAI,EAAE;YACtD,YAAY,EAAE,MAAe;YAC7B,KAAK,EAAE;gBACN,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;aACnB;SACD,CAAA;IACF,CAAC;IACD,KAAK,CAAC,CAAC,UAAU;QAChB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAA;IAC5C,CAAC;CACD;AAED,MAAM,SAAS,GAAyB;IACvC,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,KAAK;CAC9B,CAAA;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACf,+BAA+B,EAAE,CAAA;QACjC,YAAY,EAAE,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACvD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE;gBAC/C,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,KAAK;gBACxB,uBAAuB,EAAE,IAAI;aAC7B,CAAC,CAAA;YAEF,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvD,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACvE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CACpF,sBAAsB,CACtB,CAAA;QACF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACpD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAyB;gBACrC,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,uBAAuB,EAAE,IAAI;aAC7B,CAAA;YACD,MAAM,CAAC,GAAG,EAAE,CACX,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC3E,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YACjE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC1D,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY;aACnB,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;YAChD,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,GAAG,EAAE,CACX,gBAAgB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAiC,CAAC,CAC/E,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC5C,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC1D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACvC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;YAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAA;YAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC9C,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC3C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAChD,MAAM,GAAG,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- export { OpenRouterProvider } from './openrouter/client.js';
2
- export { BedrockProvider } from './bedrock/client.js';
3
- export { ProviderFactory, MockLLMProvider, UnknownProviderError } from './factory.js';
1
+ export { ProviderRegistry, UnknownProviderError, DuplicateProviderError } from './registry.js';
2
+ export { MockLLMProvider } from './mock.js';
3
+ export { registerMock, MOCK_CAPABILITIES } from './mock-register.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,4 +1,4 @@
1
- export { OpenRouterProvider } from './openrouter/client.js';
2
- export { BedrockProvider } from './bedrock/client.js';
3
- export { ProviderFactory, MockLLMProvider, UnknownProviderError } from './factory.js';
1
+ export { ProviderRegistry, UnknownProviderError, DuplicateProviderError } from './registry.js';
2
+ export { MockLLMProvider } from './mock.js';
3
+ export { registerMock, MOCK_CAPABILITIES } from './mock-register.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { ProviderCapabilities } from '../types/provider/index.js';
2
+ export declare const MOCK_CAPABILITIES: ProviderCapabilities;
3
+ /**
4
+ * Register the built-in MockLLMProvider under type `'mock'`.
5
+ *
6
+ * This is invoked automatically on `@namzu/sdk` import (side-effect whitelisted
7
+ * via `package.json#sideEffects`). Users never need to call this explicitly.
8
+ *
9
+ * Exposed for tests that reset the registry via `ProviderRegistry._reset()`.
10
+ */
11
+ export declare function registerMock(): void;
12
+ //# sourceMappingURL=mock-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-register.d.ts","sourceRoot":"","sources":["../../src/provider/mock-register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAItE,eAAO,MAAM,iBAAiB,EAAE,oBAI/B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAInC"}
@@ -0,0 +1,24 @@
1
+ import { MockLLMProvider } from './mock.js';
2
+ import { ProviderRegistry } from './registry.js';
3
+ export const MOCK_CAPABILITIES = {
4
+ supportsTools: false,
5
+ supportsStreaming: true,
6
+ supportsFunctionCalling: false,
7
+ };
8
+ /**
9
+ * Register the built-in MockLLMProvider under type `'mock'`.
10
+ *
11
+ * This is invoked automatically on `@namzu/sdk` import (side-effect whitelisted
12
+ * via `package.json#sideEffects`). Users never need to call this explicitly.
13
+ *
14
+ * Exposed for tests that reset the registry via `ProviderRegistry._reset()`.
15
+ */
16
+ export function registerMock() {
17
+ if (!ProviderRegistry.isSupported('mock')) {
18
+ ProviderRegistry.register('mock', MockLLMProvider, MOCK_CAPABILITIES);
19
+ }
20
+ }
21
+ // Auto-register on module load. This module is listed in sdk's
22
+ // `package.json#sideEffects` so bundlers preserve this line under tree-shaking.
23
+ registerMock();
24
+ //# sourceMappingURL=mock-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-register.js","sourceRoot":"","sources":["../../src/provider/mock-register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACtD,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,KAAK;CAC9B,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY;IAC3B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAA;IACtE,CAAC;AACF,CAAC;AAED,+DAA+D;AAC/D,gFAAgF;AAChF,YAAY,EAAE,CAAA"}
@@ -0,0 +1,26 @@
1
+ import type { ChatCompletionParams, ChatCompletionResponse, LLMProvider, MockProviderConfig, StreamChunk } from '../types/provider/index.js';
2
+ export declare class MockLLMProvider implements LLMProvider {
3
+ readonly id = "mock";
4
+ readonly name = "Mock LLM Provider";
5
+ private readonly model;
6
+ private readonly responseText;
7
+ private readonly responseDelayMs;
8
+ constructor(config: MockProviderConfig);
9
+ private buildUsage;
10
+ private delay;
11
+ private normalizeResponse;
12
+ chat(params: ChatCompletionParams): Promise<ChatCompletionResponse>;
13
+ chatStream(params: ChatCompletionParams): AsyncIterable<StreamChunk>;
14
+ listModels(): Promise<{
15
+ id: string;
16
+ name: string;
17
+ contextWindow: number;
18
+ maxOutputTokens: number;
19
+ inputPrice: number;
20
+ outputPrice: number;
21
+ supportsToolUse: boolean;
22
+ supportsStreaming: boolean;
23
+ }[]>;
24
+ healthCheck(): Promise<boolean>;
25
+ }
26
+ //# sourceMappingURL=mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,MAAM,4BAA4B,CAAA;AAEnC,qBAAa,eAAgB,YAAW,WAAW;IAClD,QAAQ,CAAC,EAAE,UAAS;IACpB,QAAQ,CAAC,IAAI,uBAAsB;IAEnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE5B,MAAM,EAAE,kBAAkB;IAMtC,OAAO,CAAC,UAAU;YAUJ,KAAK;IAKnB,OAAO,CAAC,iBAAiB;IAanB,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKlE,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IAsBrE,UAAU;;;;;;;;;;IAeV,WAAW;CAIjB"}
@@ -1,7 +1,5 @@
1
- import { FALLBACK_MOCK_MODEL, PROVIDER_CAPABILITIES } from '../constants/provider/index.js';
2
- import { BedrockProvider } from './bedrock/client.js';
3
- import { OpenRouterProvider } from './openrouter/client.js';
4
- class MockLLMProvider {
1
+ import { FALLBACK_MOCK_MODEL } from '../constants/provider/index.js';
2
+ export class MockLLMProvider {
5
3
  id = 'mock';
6
4
  name = 'Mock LLM Provider';
7
5
  model;
@@ -80,44 +78,4 @@ class MockLLMProvider {
80
78
  return true;
81
79
  }
82
80
  }
83
- export class UnknownProviderError extends Error {
84
- providerType;
85
- constructor(providerType) {
86
- super(`Unsupported provider type: ${providerType}`);
87
- this.name = 'UnknownProviderError';
88
- this.providerType = providerType;
89
- }
90
- }
91
- export class ProviderFactory {
92
- static create(config) {
93
- const provider = ProviderFactory.createProvider(config);
94
- const capabilities = ProviderFactory.getCapabilities(config.type);
95
- return { provider, capabilities };
96
- }
97
- static createProvider(config) {
98
- if (config.type === 'openrouter') {
99
- const { type, ...openrouterConfig } = config;
100
- return new OpenRouterProvider(openrouterConfig);
101
- }
102
- if (config.type === 'bedrock') {
103
- const { type, ...bedrockConfig } = config;
104
- return new BedrockProvider(bedrockConfig);
105
- }
106
- if (config.type === 'mock') {
107
- return new MockLLMProvider(config);
108
- }
109
- throw new UnknownProviderError(config.type);
110
- }
111
- static getCapabilities(type) {
112
- const capabilities = PROVIDER_CAPABILITIES[type];
113
- if (!capabilities) {
114
- throw new UnknownProviderError(type);
115
- }
116
- return capabilities;
117
- }
118
- static isSupported(type) {
119
- return type === 'openrouter' || type === 'bedrock' || type === 'mock';
120
- }
121
- }
122
- export { OpenRouterProvider, BedrockProvider, MockLLMProvider };
123
- //# sourceMappingURL=factory.js.map
81
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/provider/mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { LLMProvider, LLMProviderConstructor, ProviderCapabilities, ProviderConfigRegistry, ProviderFactoryConfig, ProviderFactoryResult, ProviderType, RegisterOptions } from '../types/provider/index.js';
2
+ export declare class UnknownProviderError extends Error {
3
+ readonly providerType: string;
4
+ constructor(providerType: string);
5
+ }
6
+ export declare class DuplicateProviderError extends Error {
7
+ readonly providerType: string;
8
+ constructor(providerType: string);
9
+ }
10
+ /**
11
+ * Central registry for LLM providers.
12
+ *
13
+ * Provider packages (@namzu/bedrock, @namzu/openai, etc.) export a
14
+ * `register<Vendor>()` function that calls `ProviderRegistry.register()`
15
+ * with a vendor-specific type string, provider class, and capabilities.
16
+ *
17
+ * The core sdk pre-registers `MockLLMProvider` under type `'mock'`.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { ProviderRegistry } from '@namzu/sdk'
22
+ * import { registerBedrock } from '@namzu/bedrock'
23
+ *
24
+ * registerBedrock()
25
+ *
26
+ * const { provider, capabilities } = ProviderRegistry.create({
27
+ * type: 'bedrock',
28
+ * region: 'us-east-1',
29
+ * })
30
+ * ```
31
+ */
32
+ export declare class ProviderRegistry {
33
+ static register<K extends ProviderType>(type: K, ctor: LLMProviderConstructor<ProviderConfigRegistry[K]>, caps: ProviderCapabilities, options?: RegisterOptions): void;
34
+ static create(config: ProviderFactoryConfig): ProviderFactoryResult;
35
+ static createProvider(config: ProviderFactoryConfig): LLMProvider;
36
+ static getCapabilities(type: string): ProviderCapabilities;
37
+ static isSupported(type: string): type is ProviderType;
38
+ static unregister(type: ProviderType): boolean;
39
+ static listTypes(): ProviderType[];
40
+ }
41
+ /**
42
+ * @internal — not exported from the package barrel. Do not use in production code.
43
+ * Available to in-tree tests via relative import (`./provider/registry.js`).
44
+ * External consumers cannot reach this because `@namzu/sdk` only exports `.`.
45
+ */
46
+ export declare function __resetProviderRegistryInternal(): void;
47
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +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;AAEnC,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;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;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;IAQP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB;IAMnE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW;IAQjE,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAQ1D,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY;IAItD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAK9C,MAAM,CAAC,SAAS,IAAI,YAAY,EAAE;CAGlC;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD"}
@@ -0,0 +1,89 @@
1
+ export class UnknownProviderError extends Error {
2
+ providerType;
3
+ constructor(providerType) {
4
+ super(`Unsupported provider type: ${providerType}`);
5
+ this.name = 'UnknownProviderError';
6
+ this.providerType = providerType;
7
+ }
8
+ }
9
+ export class DuplicateProviderError extends Error {
10
+ providerType;
11
+ constructor(providerType) {
12
+ super(`Provider type "${providerType}" is already registered. Pass { replace: true } to override an existing registration.`);
13
+ this.name = 'DuplicateProviderError';
14
+ this.providerType = providerType;
15
+ }
16
+ }
17
+ // Module-private state. Only the exported functions below can read/mutate.
18
+ const providers = new Map();
19
+ const capabilities = new Map();
20
+ /**
21
+ * Central registry for LLM providers.
22
+ *
23
+ * Provider packages (@namzu/bedrock, @namzu/openai, etc.) export a
24
+ * `register<Vendor>()` function that calls `ProviderRegistry.register()`
25
+ * with a vendor-specific type string, provider class, and capabilities.
26
+ *
27
+ * The core sdk pre-registers `MockLLMProvider` under type `'mock'`.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { ProviderRegistry } from '@namzu/sdk'
32
+ * import { registerBedrock } from '@namzu/bedrock'
33
+ *
34
+ * registerBedrock()
35
+ *
36
+ * const { provider, capabilities } = ProviderRegistry.create({
37
+ * type: 'bedrock',
38
+ * region: 'us-east-1',
39
+ * })
40
+ * ```
41
+ */
42
+ export class ProviderRegistry {
43
+ static register(type, ctor, caps, options) {
44
+ if (providers.has(type) && !options?.replace) {
45
+ throw new DuplicateProviderError(type);
46
+ }
47
+ providers.set(type, ctor);
48
+ capabilities.set(type, caps);
49
+ }
50
+ static create(config) {
51
+ const provider = ProviderRegistry.createProvider(config);
52
+ const caps = ProviderRegistry.getCapabilities(config.type);
53
+ return { provider, capabilities: caps };
54
+ }
55
+ static createProvider(config) {
56
+ const Ctor = providers.get(config.type);
57
+ if (!Ctor) {
58
+ throw new UnknownProviderError(config.type);
59
+ }
60
+ return new Ctor(config);
61
+ }
62
+ static getCapabilities(type) {
63
+ const caps = capabilities.get(type);
64
+ if (!caps) {
65
+ throw new UnknownProviderError(type);
66
+ }
67
+ return caps;
68
+ }
69
+ static isSupported(type) {
70
+ return providers.has(type);
71
+ }
72
+ static unregister(type) {
73
+ capabilities.delete(type);
74
+ return providers.delete(type);
75
+ }
76
+ static listTypes() {
77
+ return Array.from(providers.keys());
78
+ }
79
+ }
80
+ /**
81
+ * @internal — not exported from the package barrel. Do not use in production code.
82
+ * Available to in-tree tests via relative import (`./provider/registry.js`).
83
+ * External consumers cannot reach this because `@namzu/sdk` only exports `.`.
84
+ */
85
+ export function __resetProviderRegistryInternal() {
86
+ providers.clear();
87
+ capabilities.clear();
88
+ }
89
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/provider/registry.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACrC,YAAY,CAAQ;IAE7B,YAAY,YAAoB;QAC/B,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACjC,CAAC;CACD;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,YAAY,CAAQ;IAE7B,YAAY,YAAoB;QAC/B,KAAK,CACJ,kBAAkB,YAAY,uFAAuF,CACrH,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACjC,CAAC;CACD;AAED,2EAA2E;AAC3E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2C,CAAA;AACpE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAA;AAE5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAgB;IAC5B,MAAM,CAAC,QAAQ,CACd,IAAO,EACP,IAAuD,EACvD,IAA0B,EAC1B,OAAyB;QAEzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC9C,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAuC,CAAC,CAAA;QAC5D,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAA6B;QAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAA6B;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAY;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAY;QAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAkB;QACnC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,SAAS;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAmB,CAAA;IACtD,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B;IAC9C,SAAS,CAAC,KAAK,EAAE,CAAA;IACjB,YAAY,CAAC,KAAK,EAAE,CAAA;AACrB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { RAGToolConfig } from '../types/rag/index.js';
2
2
  export declare function createRAGTool(config: RAGToolConfig): import("../index.js").ToolDefinition<{
3
3
  query: string;
4
- top_k?: number | undefined;
5
4
  knowledge_base_id?: string | undefined;
5
+ top_k?: number | undefined;
6
6
  }>;
7
7
  //# sourceMappingURL=rag-tool.d.ts.map