@sctg/cline-llms 3.84.0-beta.20260524130712

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 (105) hide show
  1. package/README.md +227 -0
  2. package/dist/catalog/catalog-live.d.ts +36 -0
  3. package/dist/catalog/catalog-live.d.ts.map +1 -0
  4. package/dist/catalog/catalog.generated-access.d.ts +5 -0
  5. package/dist/catalog/catalog.generated-access.d.ts.map +1 -0
  6. package/dist/catalog/catalog.generated.d.ts +17 -0
  7. package/dist/catalog/catalog.generated.d.ts.map +1 -0
  8. package/dist/catalog/types.d.ts +273 -0
  9. package/dist/catalog/types.d.ts.map +1 -0
  10. package/dist/index.browser.d.ts +6 -0
  11. package/dist/index.browser.d.ts.map +1 -0
  12. package/dist/index.browser.js +1 -0
  13. package/dist/index.d.ts +10 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +164 -0
  16. package/dist/models.d.ts +6 -0
  17. package/dist/models.d.ts.map +1 -0
  18. package/dist/models.js +163 -0
  19. package/dist/providers/ai-sdk.d.ts +33 -0
  20. package/dist/providers/ai-sdk.d.ts.map +1 -0
  21. package/dist/providers/async.d.ts +2 -0
  22. package/dist/providers/async.d.ts.map +1 -0
  23. package/dist/providers/billing.d.ts +4 -0
  24. package/dist/providers/billing.d.ts.map +1 -0
  25. package/dist/providers/builtins-runtime.d.ts +3 -0
  26. package/dist/providers/builtins-runtime.d.ts.map +1 -0
  27. package/dist/providers/builtins.d.ts +29 -0
  28. package/dist/providers/builtins.d.ts.map +1 -0
  29. package/dist/providers/compat.d.ts +6 -0
  30. package/dist/providers/compat.d.ts.map +1 -0
  31. package/dist/providers/config.d.ts +293 -0
  32. package/dist/providers/config.d.ts.map +1 -0
  33. package/dist/providers/factory-registry.d.ts +92 -0
  34. package/dist/providers/factory-registry.d.ts.map +1 -0
  35. package/dist/providers/format.d.ts +2 -0
  36. package/dist/providers/format.d.ts.map +1 -0
  37. package/dist/providers/gateway.d.ts +37 -0
  38. package/dist/providers/gateway.d.ts.map +1 -0
  39. package/dist/providers/handler.d.ts +75 -0
  40. package/dist/providers/handler.d.ts.map +1 -0
  41. package/dist/providers/http.d.ts +10 -0
  42. package/dist/providers/http.d.ts.map +1 -0
  43. package/dist/providers/ids.d.ts +71 -0
  44. package/dist/providers/ids.d.ts.map +1 -0
  45. package/dist/providers/messages.d.ts +5 -0
  46. package/dist/providers/messages.d.ts.map +1 -0
  47. package/dist/providers/middleware/split-tool-images.d.ts +29 -0
  48. package/dist/providers/middleware/split-tool-images.d.ts.map +1 -0
  49. package/dist/providers/model-facts.d.ts +30 -0
  50. package/dist/providers/model-facts.d.ts.map +1 -0
  51. package/dist/providers/model-registry.d.ts +14 -0
  52. package/dist/providers/model-registry.d.ts.map +1 -0
  53. package/dist/providers/openai-codex-models.d.ts +3 -0
  54. package/dist/providers/openai-codex-models.d.ts.map +1 -0
  55. package/dist/providers/provider-keys.d.ts +5 -0
  56. package/dist/providers/provider-keys.d.ts.map +1 -0
  57. package/dist/providers/registry.d.ts +19 -0
  58. package/dist/providers/registry.d.ts.map +1 -0
  59. package/dist/providers/routing/anthropic-compatible.d.ts +35 -0
  60. package/dist/providers/routing/anthropic-compatible.d.ts.map +1 -0
  61. package/dist/providers/routing/generic-compatible.d.ts +10 -0
  62. package/dist/providers/routing/generic-compatible.d.ts.map +1 -0
  63. package/dist/providers/routing/glm-thinking.d.ts +16 -0
  64. package/dist/providers/routing/glm-thinking.d.ts.map +1 -0
  65. package/dist/providers/routing/provider-option-rules.d.ts +13 -0
  66. package/dist/providers/routing/provider-option-rules.d.ts.map +1 -0
  67. package/dist/providers/routing/provider-options-types.d.ts +35 -0
  68. package/dist/providers/routing/provider-options-types.d.ts.map +1 -0
  69. package/dist/providers/routing/provider-options.d.ts +28 -0
  70. package/dist/providers/routing/provider-options.d.ts.map +1 -0
  71. package/dist/providers/routing/reasoning-codecs.d.ts +4 -0
  72. package/dist/providers/routing/reasoning-codecs.d.ts.map +1 -0
  73. package/dist/providers/routing/utils.d.ts +22 -0
  74. package/dist/providers/routing/utils.d.ts.map +1 -0
  75. package/dist/providers/stream.d.ts +107 -0
  76. package/dist/providers/stream.d.ts.map +1 -0
  77. package/dist/providers/types.d.ts +10 -0
  78. package/dist/providers/types.d.ts.map +1 -0
  79. package/dist/providers/vendors/anthropic.d.ts +4 -0
  80. package/dist/providers/vendors/anthropic.d.ts.map +1 -0
  81. package/dist/providers/vendors/bedrock.d.ts +4 -0
  82. package/dist/providers/vendors/bedrock.d.ts.map +1 -0
  83. package/dist/providers/vendors/community.d.ts +7 -0
  84. package/dist/providers/vendors/community.d.ts.map +1 -0
  85. package/dist/providers/vendors/google.d.ts +4 -0
  86. package/dist/providers/vendors/google.d.ts.map +1 -0
  87. package/dist/providers/vendors/mistral.d.ts +4 -0
  88. package/dist/providers/vendors/mistral.d.ts.map +1 -0
  89. package/dist/providers/vendors/openai-compatible.d.ts +4 -0
  90. package/dist/providers/vendors/openai-compatible.d.ts.map +1 -0
  91. package/dist/providers/vendors/openai.d.ts +4 -0
  92. package/dist/providers/vendors/openai.d.ts.map +1 -0
  93. package/dist/providers/vendors/types.d.ts +137 -0
  94. package/dist/providers/vendors/types.d.ts.map +1 -0
  95. package/dist/providers/vendors/vertex.d.ts +4 -0
  96. package/dist/providers/vendors/vertex.d.ts.map +1 -0
  97. package/dist/providers.browser.d.ts +2 -0
  98. package/dist/providers.browser.d.ts.map +1 -0
  99. package/dist/providers.browser.js +1 -0
  100. package/dist/providers.d.ts +7 -0
  101. package/dist/providers.d.ts.map +1 -0
  102. package/dist/providers.js +164 -0
  103. package/dist/services/langfuse-telemetry.d.ts +6 -0
  104. package/dist/services/langfuse-telemetry.d.ts.map +1 -0
  105. package/package.json +72 -0
package/README.md ADDED
@@ -0,0 +1,227 @@
1
+ # [experimental] @cline/llms
2
+
3
+ `@cline/llms` is the model and provider layer for the Cline SDK. It gives
4
+ you typed provider settings, model catalogs, shared gateway contracts, and
5
+ AI SDK-backed handler creation for supported LLM backends.
6
+
7
+ ## What You Get
8
+
9
+ - `@cline/llms/runtime` for declarative config and runtime registry creation
10
+ - `@cline/llms/providers` for handler creation and provider settings/types
11
+ - `@cline/llms/models` for model catalogs and query helpers
12
+ - `@cline/llms` root exports for the gateway registry and shared llm contracts
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install @cline/llms zod
18
+ ```
19
+
20
+ ## Quick Start
21
+
22
+ ```ts
23
+ import { createHandler } from "@cline/llms";
24
+
25
+ const handler = createHandler({
26
+ providerId: "anthropic",
27
+ apiKey: process.env.ANTHROPIC_API_KEY ?? "",
28
+ modelId: "claude-sonnet-4-6",
29
+ });
30
+
31
+ for await (const chunk of handler.createMessage("You are a concise assistant.", [
32
+ { role: "user", content: [{ type: "text", text: "Say hello." }] },
33
+ ])) {
34
+ console.log(chunk);
35
+ }
36
+ ```
37
+
38
+ ## Main APIs
39
+
40
+ ### Runtime
41
+
42
+ Use `createLlmsRuntime(...)` when you want a small registry around:
43
+
44
+ - configured providers and their default models
45
+ - builtin provider discovery via `getBuiltInProviders()`
46
+ - custom provider registration via `registerBuiltinProvider(...)`
47
+ - handler creation for builtin or custom providers
48
+
49
+ Preferred import:
50
+
51
+ ```ts
52
+ import { createLlmsRuntime, defineLlmsConfig } from "@cline/llms/runtime";
53
+ ```
54
+
55
+ ### Providers
56
+
57
+ Use `@cline/llms/providers` for:
58
+
59
+ - `createHandler(...)` and `createHandlerAsync(...)`
60
+ - `ProviderSettings` and `ProviderSettingsSchema`
61
+ - `ProviderConfig`
62
+ - `Message` and `ApiStreamChunk`
63
+
64
+ Built-in providers are routed through the internal gateway registry and backed by
65
+ AI SDK provider implementations. Shared gateway contracts are exported from both
66
+ `@cline/llms` and `@cline/shared`.
67
+
68
+ ### Models
69
+
70
+ Use `@cline/llms/models` when you need generated provider/model metadata for
71
+ selection UIs, defaults, or validation.
72
+
73
+ For generated catalog field semantics and token-limit behavior, see
74
+ [`src/catalog/README.md`](./src/catalog/README.md).
75
+
76
+ ## Entry Points
77
+
78
+ - `@cline/llms`: runtime-focused convenience entrypoint
79
+ - `@cline/llms/node`: explicit Node/runtime entrypoint
80
+ - `@cline/llms/browser`: browser-safe bundle
81
+ - `@cline/llms/runtime`: focused runtime entrypoint
82
+ - `@cline/llms/models`: model catalog/query entrypoint
83
+ - `@cline/llms/providers`: provider handler/settings entrypoint
84
+
85
+ ## Related Packages
86
+
87
+ - `@cline/agents`: agent loop and tool execution
88
+ - `@cline/core`: stateful runtime assembly and provider settings storage
89
+
90
+ ## More Examples
91
+
92
+ - Workspace overview: [README.md](https://github.com/cline/cline/blob/main/README.md)
93
+ - API and architecture references: [DOC.md](https://github.com/cline/cline/blob/main/DOC.md), [ARCHITECTURE.md](https://github.com/cline/cline/blob/main/ARCHITECTURE.md)
94
+
95
+ ## Live Provider Smoke Test
96
+
97
+ Use this for API-key-backed provider validation against real endpoints.
98
+
99
+ 1. Ensure provider keys are present in your environment (`ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY`, `CLINE_API_KEY`, etc.).
100
+ 2. Use the sample config at `packages/llms/src/tests/live-providers.example.json` as the providers list.
101
+ 3. Run:
102
+
103
+ ```bash
104
+ LLMS_LIVE_TESTS=1 \
105
+ LLMS_LIVE_PROVIDERS_PATH=/absolute/path/to/packages/llms/src/tests/live-providers.example.json \
106
+ bun -F @cline/llms run test:live
107
+ ```
108
+
109
+ Reasoning-focused live run (same command, different flags):
110
+
111
+ ```bash
112
+ LLMS_LIVE_REASONING_TESTS=1 \
113
+ LLMS_LIVE_REASONING_PROVIDERS_PATH=/absolute/path/to/packages/llms/src/tests/live-providers.reasoning.example.json \
114
+ bun -F @cline/llms run test:live
115
+ ```
116
+
117
+ Tool-use-focused live run (same command, different flags):
118
+
119
+ ```bash
120
+ LLMS_LIVE_TOOL_TESTS=1 \
121
+ LLMS_LIVE_TOOL_PROVIDERS_PATH=/absolute/path/to/packages/llms/src/tests/live-providers.tools.example.json \
122
+ bun -F @cline/llms run test:live
123
+ ```
124
+
125
+ Optional:
126
+
127
+ - `LLMS_LIVE_PROVIDER_TIMEOUT_MS=120000` to increase per-provider timeout.
128
+ - `LLMS_LIVE_PROVIDER_RETRIES=2` to retry transient upstream/provider failures per provider (total attempts = retries + 1).
129
+ - `LLMS_LIVE_PROVIDER_CONCURRENCY=3` to run multiple provider entries in parallel. Defaults to `3`; lower it if you need stricter provider rate-limit behavior.
130
+ - Point `LLMS_LIVE_PROVIDERS_PATH` to a custom file if you want a narrower provider set.
131
+ - Point `LLMS_LIVE_REASONING_PROVIDERS_PATH` to a custom file for reasoning-enabled suites.
132
+ - Point `LLMS_LIVE_TOOL_PROVIDERS_PATH` to a custom file for tool-use suites.
133
+ - Use `apiKeyEnv`, `baseUrlEnv`, and `headersEnv` in a provider entry when a live config needs secrets without writing them to JSON.
134
+ - When recording provider cassettes for committed replay tests, set `CLINE_VCR=record` and `CLINE_VCR_INCLUDE_REQUEST_BODY=1` so playback also verifies the sanitized request body contract.
135
+
136
+ OpenAI Codex subscription live runs use the saved OAuth credentials from `~/.cline/data/settings/providers.json` after `cline auth --provider openai-codex`. Point the plain or reasoning suite at `packages/llms/src/tests/live-providers.openai-codex.example.json` or `packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json`.
137
+
138
+ Per-provider live assertions are configured in the JSON via `expectations`:
139
+
140
+ - `requireUsage`: fail if no `usage` chunk is emitted (defaults to `true`; set to `false` to opt out).
141
+ - `requireCacheReadTokens`: fail unless `cacheReadTokens > 0` (auto-runs at least 2 attempts with a long cache probe prompt if no prompt override is provided).
142
+ - `minCacheReadTokens`: stricter cache floor check.
143
+ - `requireReasoningChunk`: fail unless at least one reasoning chunk is emitted.
144
+ - `requireNoReasoningChunk`: fail if any reasoning chunk is emitted.
145
+ - `minInputTokens` / `minOutputTokens`: enforce lower bounds.
146
+ - `requireToolCall`: fail unless at least one `tool_calls` chunk is emitted.
147
+
148
+ In reasoning suites, set `requireReasoningSignal: true` to require either a reasoning chunk or `thoughtsTokenCount > 0` (provider-dependent; can be flaky on some endpoints).
149
+ To check that disabling reasoning actually suppresses reasoning output across models, use `packages/llms/src/tests/live-providers.reasoning-disabled.example.json`; it covers direct and routed provider paths across `cline`, `openai`, `openrouter`, `anthropic`, `gemini`, `vercel-ai-gateway`, `zai`, and `deepseek` where model support exists, with `reasoning.enabled: false` and `requireNoReasoningChunk: true`.
150
+
151
+ Common live failure classes:
152
+
153
+ - `Overloaded`: provider/model capacity issue or transient upstream saturation.
154
+ - `Insufficient Balance`: the provider account needs funds.
155
+ - `Model Not Exist`: the model id is not available for that provider/account.
156
+ - assertion failures such as `expected no reasoning chunks`: likely real SDK/provider-option behavior regressions.
157
+
158
+ ### Adding A Model To Live Tests
159
+
160
+ Add a new entry under the `providers` object in either config file:
161
+
162
+ - Cache/smoke suite: `packages/llms/src/tests/live-providers.example.json`
163
+ - Reasoning suite: `packages/llms/src/tests/live-providers.reasoning.example.json`
164
+ - Reasoning-disabled suite (asserts no reasoning chunks when reasoning is off): `packages/llms/src/tests/live-providers.reasoning-disabled.example.json`
165
+ - Tool-use suite: `packages/llms/src/tests/live-providers.tools.example.json`
166
+
167
+ Minimal smoke/cache entry:
168
+
169
+ ```json
170
+ "my-openai-model": {
171
+ "settings": {
172
+ "provider": "openai",
173
+ "model": "gpt-5.4"
174
+ },
175
+ "expectations": {
176
+ "requireUsage": true
177
+ }
178
+ }
179
+ ```
180
+
181
+ Cache-asserted entry (auto-enforces multi-run cache probe):
182
+
183
+ ```json
184
+ "my-cache-model": {
185
+ "settings": {
186
+ "provider": "openai",
187
+ "model": "gpt-5.4"
188
+ },
189
+ "expectations": {
190
+ "requireUsage": true,
191
+ "requireCacheReadTokens": true
192
+ }
193
+ }
194
+ ```
195
+
196
+ Reasoning entry:
197
+
198
+ ```json
199
+ "my-reasoning-model": {
200
+ "settings": {
201
+ "provider": "anthropic",
202
+ "model": "claude-sonnet-4-6",
203
+ "reasoning": {
204
+ "effort": "high"
205
+ }
206
+ },
207
+ "expectations": {
208
+ "requireUsage": true,
209
+ "requireReasoningChunk": true
210
+ }
211
+ }
212
+ ```
213
+
214
+ Tool-use entry:
215
+
216
+ ```json
217
+ "my-tools-model": {
218
+ "settings": {
219
+ "provider": "openai",
220
+ "model": "gpt-5.4"
221
+ },
222
+ "expectations": {
223
+ "requireUsage": true,
224
+ "requireToolCall": true
225
+ }
226
+ }
227
+ ```
@@ -0,0 +1,36 @@
1
+ import type { ModelInfo } from "./types";
2
+ export interface ModelsDevModel {
3
+ name?: string;
4
+ tool_call?: boolean;
5
+ reasoning?: boolean;
6
+ structured_output?: boolean;
7
+ temperature?: boolean;
8
+ release_date?: string;
9
+ family?: string;
10
+ limit?: {
11
+ context?: number;
12
+ input?: number;
13
+ output?: number;
14
+ };
15
+ cost?: {
16
+ input?: number;
17
+ output?: number;
18
+ cache_read?: number;
19
+ cache_write?: number;
20
+ };
21
+ modalities?: {
22
+ input?: string[];
23
+ };
24
+ status?: string;
25
+ }
26
+ interface ModelsDevProviderPayload {
27
+ models?: Record<string, ModelsDevModel>;
28
+ }
29
+ export type ModelsDevPayload = Record<string, ModelsDevProviderPayload>;
30
+ export type ModelsDevProviderKeyMap = Record<string, string>;
31
+ export declare function sortModelsByReleaseDate(models: Record<string, ModelInfo>): Record<string, ModelInfo>;
32
+ export declare function resolveMaxInputTokens(limit: ModelsDevModel["limit"] | undefined): number;
33
+ export declare function normalizeModelsDevProviderModels(payload: ModelsDevPayload): Record<string, Record<string, ModelInfo>>;
34
+ export declare function fetchModelsDevProviderModels(url: string, fetcher?: typeof fetch): Promise<Record<string, Record<string, ModelInfo>>>;
35
+ export {};
36
+ //# sourceMappingURL=catalog-live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-live.d.ts","sourceRoot":"","sources":["../../src/catalog/catalog-live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,wBAAwB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAc7D,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAW3B;AA2CD,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GACxC,MAAM,CAOR;AA+BD,wBAAgB,gCAAgC,CAC/C,OAAO,EAAE,gBAAgB,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAyB3C;AAED,wBAAsB,4BAA4B,CACjD,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,KAAa,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAUpD"}
@@ -0,0 +1,5 @@
1
+ import type { ModelInfo } from "./types";
2
+ export declare function getGeneratedProviderModels(): Record<string, Record<string, ModelInfo>>;
3
+ export declare function getGeneratedModelsVersion(): number;
4
+ export declare function getGeneratedModelsForProvider(providerId: string): Record<string, ModelInfo>;
5
+ //# sourceMappingURL=catalog.generated-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.generated-access.d.ts","sourceRoot":"","sources":["../../src/catalog/catalog.generated-access.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUzC,wBAAgB,0BAA0B,IAAI,MAAM,CACnD,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CACzB,CAOA;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAU3B"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Auto-generated model catalog.
3
+ *
4
+ * Generated by: @cline/llms/scripts/generate-models.ts
5
+ *
6
+ * WARNING: DO NOT EDIT THIS FILE MANUALLY.
7
+ */
8
+ import type { ModelInfo } from "@cline/shared";
9
+ /**
10
+ * Model list auto-generated for built-in providers
11
+ * listed in @cline/llms/src/providers/provider-keys.ts
12
+ */
13
+ export declare const GENERATED_PROVIDER_MODELS: {
14
+ version: number;
15
+ providers: Record<string, Record<string, ModelInfo>>;
16
+ };
17
+ //# sourceMappingURL=catalog.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.generated.d.ts","sourceRoot":"","sources":["../../src/catalog/catalog.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CA0utBrD,CAAC"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * Model Schema Definitions
3
+ *
4
+ * Re-exports model info types from @cline/shared (canonical source)
5
+ * and defines provider-level schemas local to @cline/llms.
6
+ */
7
+ import { z } from "zod";
8
+ export { ApiFormat, ApiFormatSchema, type ModelCapability, ModelCapabilitySchema, type ModelInfo, ModelInfoSchema, type ModelMetadata, ModelMetadataSchema, type ModelPricing, ModelPricingSchema, type ModelStatus, ModelStatusSchema, type ThinkingConfig, ThinkingConfigSchema, } from "@cline/shared";
9
+ import { ProviderCapabilitySchema } from "@cline/shared";
10
+ export declare const ModelEntrySchema: z.ZodObject<{
11
+ id: z.ZodString;
12
+ info: z.ZodObject<{
13
+ id: z.ZodString;
14
+ name: z.ZodOptional<z.ZodString>;
15
+ description: z.ZodOptional<z.ZodString>;
16
+ maxTokens: z.ZodOptional<z.ZodNumber>;
17
+ contextWindow: z.ZodOptional<z.ZodNumber>;
18
+ maxInputTokens: z.ZodOptional<z.ZodNumber>;
19
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
20
+ images: "images";
21
+ tools: "tools";
22
+ streaming: "streaming";
23
+ "prompt-cache": "prompt-cache";
24
+ reasoning: "reasoning";
25
+ "reasoning-effort": "reasoning-effort";
26
+ "computer-use": "computer-use";
27
+ "global-endpoint": "global-endpoint";
28
+ structured_output: "structured_output";
29
+ temperature: "temperature";
30
+ files: "files";
31
+ }>>>;
32
+ apiFormat: z.ZodOptional<z.ZodEnum<{
33
+ default: "default";
34
+ "openai-responses": "openai-responses";
35
+ r1: "r1";
36
+ }>>;
37
+ systemRole: z.ZodOptional<z.ZodEnum<{
38
+ system: "system";
39
+ developer: "developer";
40
+ }>>;
41
+ temperature: z.ZodOptional<z.ZodNumber>;
42
+ pricing: z.ZodOptional<z.ZodObject<{
43
+ input: z.ZodOptional<z.ZodNumber>;
44
+ output: z.ZodOptional<z.ZodNumber>;
45
+ cacheWrite: z.ZodOptional<z.ZodNumber>;
46
+ cacheRead: z.ZodOptional<z.ZodNumber>;
47
+ }, z.core.$strip>>;
48
+ thinkingConfig: z.ZodOptional<z.ZodObject<{
49
+ maxBudget: z.ZodOptional<z.ZodNumber>;
50
+ outputPrice: z.ZodOptional<z.ZodNumber>;
51
+ thinkingLevel: z.ZodOptional<z.ZodEnum<{
52
+ low: "low";
53
+ high: "high";
54
+ }>>;
55
+ }, z.core.$strip>>;
56
+ status: z.ZodOptional<z.ZodEnum<{
57
+ active: "active";
58
+ preview: "preview";
59
+ deprecated: "deprecated";
60
+ legacy: "legacy";
61
+ }>>;
62
+ deprecationNotice: z.ZodOptional<z.ZodString>;
63
+ replacedBy: z.ZodOptional<z.ZodString>;
64
+ releaseDate: z.ZodOptional<z.ZodString>;
65
+ deprecationDate: z.ZodOptional<z.ZodString>;
66
+ family: z.ZodOptional<z.ZodString>;
67
+ metadata: z.ZodOptional<z.ZodObject<{
68
+ reasoningDefaultOn: z.ZodOptional<z.ZodBoolean>;
69
+ }, z.core.$catchall<z.ZodUnknown>>>;
70
+ }, z.core.$strip>;
71
+ }, z.core.$strip>;
72
+ export type ModelEntry = z.infer<typeof ModelEntrySchema>;
73
+ export type ProviderCapability = z.infer<typeof ProviderCapabilitySchema>;
74
+ export declare const ProviderProtocolSchema: z.ZodEnum<{
75
+ "openai-responses": "openai-responses";
76
+ anthropic: "anthropic";
77
+ gemini: "gemini";
78
+ "openai-chat": "openai-chat";
79
+ "openai-r1": "openai-r1";
80
+ "ai-sdk": "ai-sdk";
81
+ }>;
82
+ declare const ProviderClientSchema: z.ZodEnum<{
83
+ anthropic: "anthropic";
84
+ bedrock: "bedrock";
85
+ gemini: "gemini";
86
+ vertex: "vertex";
87
+ openai: "openai";
88
+ "openai-r1": "openai-r1";
89
+ "ai-sdk": "ai-sdk";
90
+ "ai-sdk-community": "ai-sdk-community";
91
+ "openai-compatible": "openai-compatible";
92
+ custom: "custom";
93
+ fetch: "fetch";
94
+ }>;
95
+ /**
96
+ * ProviderSource indicates how a provider was added to the system,
97
+ * which can be useful for determining trust level and whether to prompt the user for confirmation before using it.
98
+ * For example, providers with source "system" are built-in and can be trusted,
99
+ * while providers with source "file" were added by the user using a local JSON file,
100
+ * and providers with source "discovery" were found through network discovery.
101
+ */
102
+ declare const ProviderSourceSchema: z.ZodEnum<{
103
+ system: "system";
104
+ file: "file";
105
+ discovery: "discovery";
106
+ }>;
107
+ export type ProviderClient = z.infer<typeof ProviderClientSchema>;
108
+ export type ProviderProtocol = z.infer<typeof ProviderProtocolSchema>;
109
+ export type ProviderSource = z.infer<typeof ProviderSourceSchema>;
110
+ export declare const ProviderInfoSchema: z.ZodObject<{
111
+ id: z.ZodString;
112
+ name: z.ZodString;
113
+ description: z.ZodOptional<z.ZodString>;
114
+ protocol: z.ZodOptional<z.ZodEnum<{
115
+ "openai-responses": "openai-responses";
116
+ anthropic: "anthropic";
117
+ gemini: "gemini";
118
+ "openai-chat": "openai-chat";
119
+ "openai-r1": "openai-r1";
120
+ "ai-sdk": "ai-sdk";
121
+ }>>;
122
+ baseUrl: z.ZodOptional<z.ZodString>;
123
+ modelsSourceUrl: z.ZodOptional<z.ZodString>;
124
+ defaultModelId: z.ZodString;
125
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
126
+ tools: "tools";
127
+ streaming: "streaming";
128
+ "prompt-cache": "prompt-cache";
129
+ reasoning: "reasoning";
130
+ "computer-use": "computer-use";
131
+ temperature: "temperature";
132
+ files: "files";
133
+ "provider-tools": "provider-tools";
134
+ oauth: "oauth";
135
+ vision: "vision";
136
+ "local-auth": "local-auth";
137
+ popular: "popular";
138
+ }>>>;
139
+ env: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ client: z.ZodEnum<{
141
+ anthropic: "anthropic";
142
+ bedrock: "bedrock";
143
+ gemini: "gemini";
144
+ vertex: "vertex";
145
+ openai: "openai";
146
+ "openai-r1": "openai-r1";
147
+ "ai-sdk": "ai-sdk";
148
+ "ai-sdk-community": "ai-sdk-community";
149
+ "openai-compatible": "openai-compatible";
150
+ custom: "custom";
151
+ fetch: "fetch";
152
+ }>;
153
+ source: z.ZodDefault<z.ZodEnum<{
154
+ system: "system";
155
+ file: "file";
156
+ discovery: "discovery";
157
+ }>>;
158
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
159
+ }, z.core.$strip>;
160
+ export type ProviderInfo = z.infer<typeof ProviderInfoSchema>;
161
+ export declare const ModelCollectionSchema: z.ZodObject<{
162
+ provider: z.ZodObject<{
163
+ id: z.ZodString;
164
+ name: z.ZodString;
165
+ description: z.ZodOptional<z.ZodString>;
166
+ protocol: z.ZodOptional<z.ZodEnum<{
167
+ "openai-responses": "openai-responses";
168
+ anthropic: "anthropic";
169
+ gemini: "gemini";
170
+ "openai-chat": "openai-chat";
171
+ "openai-r1": "openai-r1";
172
+ "ai-sdk": "ai-sdk";
173
+ }>>;
174
+ baseUrl: z.ZodOptional<z.ZodString>;
175
+ modelsSourceUrl: z.ZodOptional<z.ZodString>;
176
+ defaultModelId: z.ZodString;
177
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
178
+ tools: "tools";
179
+ streaming: "streaming";
180
+ "prompt-cache": "prompt-cache";
181
+ reasoning: "reasoning";
182
+ "computer-use": "computer-use";
183
+ temperature: "temperature";
184
+ files: "files";
185
+ "provider-tools": "provider-tools";
186
+ oauth: "oauth";
187
+ vision: "vision";
188
+ "local-auth": "local-auth";
189
+ popular: "popular";
190
+ }>>>;
191
+ env: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ client: z.ZodEnum<{
193
+ anthropic: "anthropic";
194
+ bedrock: "bedrock";
195
+ gemini: "gemini";
196
+ vertex: "vertex";
197
+ openai: "openai";
198
+ "openai-r1": "openai-r1";
199
+ "ai-sdk": "ai-sdk";
200
+ "ai-sdk-community": "ai-sdk-community";
201
+ "openai-compatible": "openai-compatible";
202
+ custom: "custom";
203
+ fetch: "fetch";
204
+ }>;
205
+ source: z.ZodDefault<z.ZodEnum<{
206
+ system: "system";
207
+ file: "file";
208
+ discovery: "discovery";
209
+ }>>;
210
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
211
+ }, z.core.$strip>;
212
+ models: z.ZodRecord<z.ZodString, z.ZodObject<{
213
+ id: z.ZodString;
214
+ name: z.ZodOptional<z.ZodString>;
215
+ description: z.ZodOptional<z.ZodString>;
216
+ maxTokens: z.ZodOptional<z.ZodNumber>;
217
+ contextWindow: z.ZodOptional<z.ZodNumber>;
218
+ maxInputTokens: z.ZodOptional<z.ZodNumber>;
219
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
220
+ images: "images";
221
+ tools: "tools";
222
+ streaming: "streaming";
223
+ "prompt-cache": "prompt-cache";
224
+ reasoning: "reasoning";
225
+ "reasoning-effort": "reasoning-effort";
226
+ "computer-use": "computer-use";
227
+ "global-endpoint": "global-endpoint";
228
+ structured_output: "structured_output";
229
+ temperature: "temperature";
230
+ files: "files";
231
+ }>>>;
232
+ apiFormat: z.ZodOptional<z.ZodEnum<{
233
+ default: "default";
234
+ "openai-responses": "openai-responses";
235
+ r1: "r1";
236
+ }>>;
237
+ systemRole: z.ZodOptional<z.ZodEnum<{
238
+ system: "system";
239
+ developer: "developer";
240
+ }>>;
241
+ temperature: z.ZodOptional<z.ZodNumber>;
242
+ pricing: z.ZodOptional<z.ZodObject<{
243
+ input: z.ZodOptional<z.ZodNumber>;
244
+ output: z.ZodOptional<z.ZodNumber>;
245
+ cacheWrite: z.ZodOptional<z.ZodNumber>;
246
+ cacheRead: z.ZodOptional<z.ZodNumber>;
247
+ }, z.core.$strip>>;
248
+ thinkingConfig: z.ZodOptional<z.ZodObject<{
249
+ maxBudget: z.ZodOptional<z.ZodNumber>;
250
+ outputPrice: z.ZodOptional<z.ZodNumber>;
251
+ thinkingLevel: z.ZodOptional<z.ZodEnum<{
252
+ low: "low";
253
+ high: "high";
254
+ }>>;
255
+ }, z.core.$strip>>;
256
+ status: z.ZodOptional<z.ZodEnum<{
257
+ active: "active";
258
+ preview: "preview";
259
+ deprecated: "deprecated";
260
+ legacy: "legacy";
261
+ }>>;
262
+ deprecationNotice: z.ZodOptional<z.ZodString>;
263
+ replacedBy: z.ZodOptional<z.ZodString>;
264
+ releaseDate: z.ZodOptional<z.ZodString>;
265
+ deprecationDate: z.ZodOptional<z.ZodString>;
266
+ family: z.ZodOptional<z.ZodString>;
267
+ metadata: z.ZodOptional<z.ZodObject<{
268
+ reasoningDefaultOn: z.ZodOptional<z.ZodBoolean>;
269
+ }, z.core.$catchall<z.ZodUnknown>>>;
270
+ }, z.core.$strip>>;
271
+ }, z.core.$strip>;
272
+ export type ModelCollection = z.infer<typeof ModelCollectionSchema>;
273
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalog/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACN,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,SAAS,EACd,eAAe,EACf,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,oBAAoB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAmB,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;;;EAOjC,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;EAYxB,CAAC;AAEH;;;;;;GAMG;AACH,QAAA,MAAM,oBAAoB;;;;EAA0C,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type { ModelCollection, ModelInfo, ModelInfo as CatalogModelInfo, ProviderCapability as CatalogProviderCapability, ProviderInfo, } from "./models";
2
+ export { filterOpenAICodexModels, getAllProviders, getGeneratedModelsForProvider, getModelsForProvider, getProvider, getProviderCollection, getProviderCollectionSync, getProviderIds, hasProvider, MODEL_COLLECTIONS_BY_PROVIDER_ID, registerModel, registerProvider, resetRegistry, unregisterProvider, } from "./models";
3
+ export { type ProviderUsageCostDisplay, resolveProviderUsageCostDisplay, shouldShowProviderUsageCost, } from "./providers/billing";
4
+ export type { ProviderCapability, ProviderId, } from "./providers.browser";
5
+ export { normalizeProviderId } from "./providers.browser";
6
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,eAAe,EACf,SAAS,EACT,SAAS,IAAI,gBAAgB,EAC7B,kBAAkB,IAAI,yBAAyB,EAC/C,YAAY,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,6BAA6B,EAC7B,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,gCAAgC,EAChC,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,kBAAkB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,KAAK,wBAAwB,EAC7B,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,kBAAkB,EAClB,UAAU,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}