@namzu/sdk 0.1.6 → 0.1.8

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 (58) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +14 -9
  3. package/dist/constants/provider/index.d.ts +0 -3
  4. package/dist/constants/provider/index.d.ts.map +1 -1
  5. package/dist/constants/provider/index.js +0 -18
  6. package/dist/constants/provider/index.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/provider/__tests__/registry.test.d.ts +11 -0
  12. package/dist/provider/__tests__/registry.test.d.ts.map +1 -0
  13. package/dist/provider/__tests__/registry.test.js +118 -0
  14. package/dist/provider/__tests__/registry.test.js.map +1 -0
  15. package/dist/provider/index.d.ts +3 -3
  16. package/dist/provider/index.d.ts.map +1 -1
  17. package/dist/provider/index.js +3 -3
  18. package/dist/provider/index.js.map +1 -1
  19. package/dist/provider/mock-register.d.ts +12 -0
  20. package/dist/provider/mock-register.d.ts.map +1 -0
  21. package/dist/provider/mock-register.js +24 -0
  22. package/dist/provider/mock-register.js.map +1 -0
  23. package/dist/provider/mock.d.ts +26 -0
  24. package/dist/provider/mock.d.ts.map +1 -0
  25. package/dist/provider/{factory.js → mock.js} +3 -45
  26. package/dist/provider/mock.js.map +1 -0
  27. package/dist/provider/registry.d.ts +47 -0
  28. package/dist/provider/registry.d.ts.map +1 -0
  29. package/dist/provider/registry.js +89 -0
  30. package/dist/provider/registry.js.map +1 -0
  31. package/dist/rag/rag-tool.d.ts +1 -1
  32. package/dist/types/provider/config.d.ts +29 -21
  33. package/dist/types/provider/config.d.ts.map +1 -1
  34. package/dist/types/provider/index.d.ts +1 -1
  35. package/dist/types/provider/index.d.ts.map +1 -1
  36. package/package.json +4 -2
  37. package/src/constants/provider/index.ts +0 -22
  38. package/src/index.ts +5 -4
  39. package/src/provider/__tests__/registry.test.ts +155 -0
  40. package/src/provider/index.ts +3 -3
  41. package/src/provider/mock-register.ts +27 -0
  42. package/src/provider/{factory.ts → mock.ts} +2 -57
  43. package/src/provider/registry.ts +118 -0
  44. package/src/types/provider/config.ts +31 -29
  45. package/src/types/provider/index.ts +3 -4
  46. package/dist/provider/bedrock/client.d.ts +0 -14
  47. package/dist/provider/bedrock/client.d.ts.map +0 -1
  48. package/dist/provider/bedrock/client.js +0 -460
  49. package/dist/provider/bedrock/client.js.map +0 -1
  50. package/dist/provider/factory.d.ts +0 -39
  51. package/dist/provider/factory.d.ts.map +0 -1
  52. package/dist/provider/factory.js.map +0 -1
  53. package/dist/provider/openrouter/client.d.ts +0 -17
  54. package/dist/provider/openrouter/client.d.ts.map +0 -1
  55. package/dist/provider/openrouter/client.js +0 -305
  56. package/dist/provider/openrouter/client.js.map +0 -1
  57. package/src/provider/bedrock/client.ts +0 -548
  58. package/src/provider/openrouter/client.ts +0 -390
package/CHANGELOG.md CHANGED
@@ -2,6 +2,37 @@
2
2
 
3
3
  All notable changes to Namzu are documented here.
4
4
 
5
+ ## [0.1.8] — 2026-04-15
6
+
7
+ ### Documentation
8
+
9
+ - **changelog**: update for sdk-v0.1.7
10
+ - **readme**: rewrite root + fix sdk stale ProviderFactory refs
11
+ ## [0.1.7] — 2026-04-15
12
+
13
+ ### Documentation
14
+
15
+ - **changelog**: add 0.1.6 (sdk) and 0.1.0 (computer-use) entries; fix cliff tag prefix + workflow race
16
+ - **changelog**: update for sdk-v0.1.6-rc.1
17
+ ### Features
18
+
19
+ - **bedrock**: extract BedrockProvider to @namzu/bedrock package (Phase I.3 pilot)
20
+ - **openrouter**: extract OpenRouterProvider to @namzu/openrouter package (Phase I.4)
21
+ ### Refactor
22
+
23
+ - **sdk**: address Codex review — scope providers/ subfolder, hide registry reset
24
+ - **sdk**: replace ProviderFactory with ProviderRegistry for per-vendor extraction [**BREAKING**]
25
+ ## [0.1.6-rc.1] — 2026-04-15
26
+
27
+ ### Documentation
28
+
29
+ - **changelog**: update for v0.1.5
30
+ ### Features
31
+
32
+ - **sdk**: add ComputerUseHost interface and computer_use tool
33
+ ### Miscellaneous
34
+
35
+ - initialize namzu monorepo from sdk; add @namzu/computer-use capability package
5
36
  ## [0.1.5] — 2026-04-15
6
37
 
7
38
  ### Bug Fixes
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![CI](https://github.com/cogitave/namzu/actions/workflows/ci.yml/badge.svg)](https://github.com/cogitave/namzu/actions/workflows/ci.yml)
7
7
  [![License](https://img.shields.io/badge/license-FSL--1.1--MIT-green)](./LICENSE.md)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue)](https://www.typescriptlang.org/)
9
- [![Node](https://img.shields.io/badge/node-%3E%3D22-brightgreen)](https://nodejs.org/)
9
+ [![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](https://nodejs.org/)
10
10
 
11
11
  ---
12
12
 
@@ -265,9 +265,9 @@ The kernel does not render a UI for this — it emits events and exposes a typed
265
265
 
266
266
  ### 15. Providers (`provider/`)
267
267
 
268
- An LLM provider implements a narrow interface: given a typed request, return a typed response (streaming or not) and propagate normalized usage, cost, and cache telemetry. Today `provider/openrouter/` and `provider/bedrock/` are in the box; adding another vendor is adding one directory. `provider/telemetry/` normalizes provider-specific response fields (OpenRouter's `cache_read_input_tokens`, `cache_creation_input_tokens`, `cache_discount`, Bedrock's equivalents) into a single kernel-wide telemetry shape.
268
+ An LLM provider implements a narrow interface: given a typed request, return a typed response (streaming or not) and propagate normalized usage, cost, and cache telemetry. Concrete providers live in dedicated sibling packages — `@namzu/anthropic`, `@namzu/bedrock`, `@namzu/http`, `@namzu/lmstudio`, `@namzu/ollama`, `@namzu/openai`, `@namzu/openrouter` each calling `ProviderRegistry.register('<vendor>', Class, capabilities)` via a `register<Vendor>()` helper. The kernel itself ships only the `LLMProvider` interface, the `ProviderRegistry`, and a pre-registered `MockLLMProvider` for tests and offline work. `provider/telemetry/` normalizes provider-specific response fields (`cache_read_input_tokens`, `cache_creation_input_tokens`, `cache_discount`, Bedrock equivalents) into a single kernel-wide telemetry shape.
269
269
 
270
- `ProviderFactory` is the single entry point. Every run chooses its provider by name; the provider object itself is stateless enough to be shared across runs.
270
+ `ProviderRegistry` is the single entry point. `ProviderRegistry.create({ type, ... })` returns `{ provider, capabilities }`; TypeScript module augmentation from each provider package gives type-narrowed config. Providers are stateless enough to be shared across runs.
271
271
 
272
272
  ### 16. Connectors (`connector/`)
273
273
 
@@ -321,17 +321,22 @@ A **thread** is a conversation: a series of user ↔ assistant messages, possibl
321
321
  ## Install
322
322
 
323
323
  ```bash
324
- npm install @namzu/sdk
324
+ pnpm add @namzu/sdk
325
325
  ```
326
326
 
327
- Requirements: Node ≥ 22, TypeScript strict mode, ESM.
327
+ Requirements: Node ≥ 20, TypeScript strict mode, ESM.
328
+
329
+ The SDK ships the kernel only. Pick an LLM backend by adding a provider package — `@namzu/anthropic`, `@namzu/openai`, `@namzu/ollama`, `@namzu/bedrock`, `@namzu/openrouter`, `@namzu/lmstudio`, or the zero-dep `@namzu/http`. The kernel alone runs against `MockLLMProvider`, which is pre-registered and good for tests.
328
330
 
329
331
  ## Quick Start
330
332
 
331
333
  ```typescript
332
- import { defineTool, ProviderFactory, ReactiveAgent, ToolRegistry } from '@namzu/sdk'
334
+ import { defineTool, ProviderRegistry, ReactiveAgent, ToolRegistry } from '@namzu/sdk'
335
+ import { registerOpenRouter } from '@namzu/openrouter'
333
336
  import { z } from 'zod'
334
337
 
338
+ registerOpenRouter()
339
+
335
340
  const searchWeb = defineTool({
336
341
  name: 'search_web',
337
342
  description: 'Search the web for information',
@@ -347,7 +352,7 @@ const searchWeb = defineTool({
347
352
  },
348
353
  })
349
354
 
350
- const provider = ProviderFactory.createProvider({
355
+ const { provider } = ProviderRegistry.create({
351
356
  type: 'openrouter',
352
357
  apiKey: process.env.OPENROUTER_KEY!,
353
358
  })
@@ -365,11 +370,11 @@ const agent = new ReactiveAgent({
365
370
 
366
371
  const result = await agent.run(
367
372
  { messages: [{ role: 'user', content: 'Summarize the latest LLM benchmarks' }], workingDirectory: process.cwd() },
368
- { model: 'anthropic/claude-sonnet-4-20250514', tokenBudget: 8192, timeoutMs: 600_000, provider, tools },
373
+ { model: 'anthropic/claude-sonnet-4', tokenBudget: 8192, timeoutMs: 600_000, provider, tools },
369
374
  )
370
375
  ```
371
376
 
372
- That is a complete, sandbox-isolated, checkpointed, telemetrized agent run with prompt caching, progressive tool disclosure, structured compaction, and emergency save all wired in by default. Those are not features you enable; they are how the kernel runs.
377
+ That is a complete, sandbox-isolated, checkpointed, telemetrized agent run with prompt caching, progressive tool disclosure, structured compaction, and emergency save all wired in by default. Those are not features you enable; they are how the kernel runs. Swap `registerOpenRouter()` for `registerOllama()`, `registerAnthropic()`, `registerBedrock()`, `registerOpenAI()`, `registerLMStudio()`, or `registerHttp()` — the code below the registration line stays identical.
373
378
 
374
379
  Examples for `PipelineAgent`, `RouterAgent`, and `SupervisorAgent` are in `src/agents/`.
375
380
 
@@ -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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EACN,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,qBAAqB,CAAA;AAO5B,cAAc,sBAAsB,CAAA;AAEpC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAE7C,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GACf,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACN,oBAAoB,EACpB,aAAa,EACb,kBAAkB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,cAAc,GACd,MAAM,mBAAmB,CAAA;AAE1B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EACN,mBAAmB,EACnB,uBAAuB,GACvB,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAK/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EACN,iBAAiB,EAEjB,mBAAmB,EACnB,gBAAgB,GAGhB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,yBAAyB,GACzB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACN,aAAa,EAGb,YAAY,EACZ,aAAa,EAGb,iBAAiB,EACjB,aAAa,EAEb,yBAAyB,EAEzB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAEf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACN,QAAQ,EACR,eAAe,EAEf,aAAa,EACb,cAAc,EACd,YAAY,GAEZ,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACrB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,WAAW,EAIX,YAAY,GACZ,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACN,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,iBAAiB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACN,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EACN,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACN,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACN,WAAW,EACX,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,aAAa,GACb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,GACT,MAAM,sBAAsB,CAAA;AAa7B,OAAO,EACN,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACnB,MAAM,mCAAmC,CAAA;AAQ1C,OAAO,EACN,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACN,mBAAmB,EACnB,uBAAuB,GACvB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACN,QAAQ,EACR,cAAc,EACd,eAAe,EACf,oBAAoB,GACpB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,qBAAqB,GACrB,MAAM,sBAAsB,CAAA;AAE7B,cAAc,2BAA2B,CAAA;AAEzC,OAAO,EACN,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,uBAAuB,CAAA"}
@@ -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"}