@cerebriline/llms 0.0.0-stage → 4.100.241

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 (204) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +15 -2
  3. package/dist/catalog/catalog-cline-recommended.d.ts +14 -0
  4. package/dist/catalog/catalog-cline-recommended.d.ts.map +1 -0
  5. package/dist/catalog/catalog-live.d.ts +64 -0
  6. package/dist/catalog/catalog-live.d.ts.map +1 -0
  7. package/dist/catalog/catalog.generated-access.d.ts +5 -0
  8. package/dist/catalog/catalog.generated-access.d.ts.map +1 -0
  9. package/dist/catalog/catalog.generated.d.ts +17 -0
  10. package/dist/catalog/catalog.generated.d.ts.map +1 -0
  11. package/dist/catalog/model-filters.d.ts +9 -0
  12. package/dist/catalog/model-filters.d.ts.map +1 -0
  13. package/dist/catalog/model-id-aliases.d.ts +11 -0
  14. package/dist/catalog/model-id-aliases.d.ts.map +1 -0
  15. package/dist/catalog/model-operation.d.ts +27 -0
  16. package/dist/catalog/model-operation.d.ts.map +1 -0
  17. package/dist/catalog/types.d.ts +367 -0
  18. package/dist/catalog/types.d.ts.map +1 -0
  19. package/dist/index.browser.d.ts +12 -0
  20. package/dist/index.browser.d.ts.map +1 -0
  21. package/dist/index.browser.js +16 -0
  22. package/dist/index.d.ts +30 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +272 -0
  25. package/dist/models.d.ts +10 -0
  26. package/dist/models.d.ts.map +1 -0
  27. package/dist/models.js +241 -0
  28. package/dist/providers/agent-slots.d.ts +100 -0
  29. package/dist/providers/agent-slots.d.ts.map +1 -0
  30. package/dist/providers/ai-sdk.d.ts +158 -0
  31. package/dist/providers/ai-sdk.d.ts.map +1 -0
  32. package/dist/providers/async.d.ts +2 -0
  33. package/dist/providers/async.d.ts.map +1 -0
  34. package/dist/providers/billing.d.ts +5 -0
  35. package/dist/providers/billing.d.ts.map +1 -0
  36. package/dist/providers/builtin-types.d.ts +34 -0
  37. package/dist/providers/builtin-types.d.ts.map +1 -0
  38. package/dist/providers/builtins-runtime.d.ts +3 -0
  39. package/dist/providers/builtins-runtime.d.ts.map +1 -0
  40. package/dist/providers/builtins.d.ts +30 -0
  41. package/dist/providers/builtins.d.ts.map +1 -0
  42. package/dist/providers/compat.d.ts +75 -0
  43. package/dist/providers/compat.d.ts.map +1 -0
  44. package/dist/providers/config.d.ts +521 -0
  45. package/dist/providers/config.d.ts.map +1 -0
  46. package/dist/providers/error-classification.d.ts +23 -0
  47. package/dist/providers/error-classification.d.ts.map +1 -0
  48. package/dist/providers/errors.d.ts +33 -0
  49. package/dist/providers/errors.d.ts.map +1 -0
  50. package/dist/providers/factory-registry.d.ts +92 -0
  51. package/dist/providers/factory-registry.d.ts.map +1 -0
  52. package/dist/providers/format.d.ts +2 -0
  53. package/dist/providers/format.d.ts.map +1 -0
  54. package/dist/providers/gateway.d.ts +123 -0
  55. package/dist/providers/gateway.d.ts.map +1 -0
  56. package/dist/providers/handler.d.ts +75 -0
  57. package/dist/providers/handler.d.ts.map +1 -0
  58. package/dist/providers/http.d.ts +10 -0
  59. package/dist/providers/http.d.ts.map +1 -0
  60. package/dist/providers/ids.d.ts +77 -0
  61. package/dist/providers/ids.d.ts.map +1 -0
  62. package/dist/providers/messages.d.ts +5 -0
  63. package/dist/providers/messages.d.ts.map +1 -0
  64. package/dist/providers/middleware/backoff.d.ts +11 -0
  65. package/dist/providers/middleware/backoff.d.ts.map +1 -0
  66. package/dist/providers/middleware/retry-empty-response.d.ts +74 -0
  67. package/dist/providers/middleware/retry-empty-response.d.ts.map +1 -0
  68. package/dist/providers/middleware/retry-rate-limit.d.ts +49 -0
  69. package/dist/providers/middleware/retry-rate-limit.d.ts.map +1 -0
  70. package/dist/providers/middleware/split-tool-images.d.ts +32 -0
  71. package/dist/providers/middleware/split-tool-images.d.ts.map +1 -0
  72. package/dist/providers/middleware/stream-part-classification.d.ts +33 -0
  73. package/dist/providers/middleware/stream-part-classification.d.ts.map +1 -0
  74. package/dist/providers/model-capabilities.d.ts +15 -0
  75. package/dist/providers/model-capabilities.d.ts.map +1 -0
  76. package/dist/providers/model-facts.d.ts +115 -0
  77. package/dist/providers/model-facts.d.ts.map +1 -0
  78. package/dist/providers/model-operations.d.ts +78 -0
  79. package/dist/providers/model-operations.d.ts.map +1 -0
  80. package/dist/providers/model-registry.d.ts +25 -0
  81. package/dist/providers/model-registry.d.ts.map +1 -0
  82. package/dist/providers/model-tools.d.ts +22 -0
  83. package/dist/providers/model-tools.d.ts.map +1 -0
  84. package/dist/providers/openai-codex-models.d.ts +11 -0
  85. package/dist/providers/openai-codex-models.d.ts.map +1 -0
  86. package/dist/providers/provider-ids.generated.d.ts +13 -0
  87. package/dist/providers/provider-ids.generated.d.ts.map +1 -0
  88. package/dist/providers/provider-keys.d.ts +13 -0
  89. package/dist/providers/provider-keys.d.ts.map +1 -0
  90. package/dist/providers/provider-request-capture.d.ts +10 -0
  91. package/dist/providers/provider-request-capture.d.ts.map +1 -0
  92. package/dist/providers/providers.generated.d.ts +19 -0
  93. package/dist/providers/providers.generated.d.ts.map +1 -0
  94. package/dist/providers/reasoning-history.d.ts +140 -0
  95. package/dist/providers/reasoning-history.d.ts.map +1 -0
  96. package/dist/providers/registry.d.ts +19 -0
  97. package/dist/providers/registry.d.ts.map +1 -0
  98. package/dist/providers/request-headers.d.ts +30 -0
  99. package/dist/providers/request-headers.d.ts.map +1 -0
  100. package/dist/providers/request-timings.d.ts +20 -0
  101. package/dist/providers/request-timings.d.ts.map +1 -0
  102. package/dist/providers/routing/anthropic-compatible.d.ts +35 -0
  103. package/dist/providers/routing/anthropic-compatible.d.ts.map +1 -0
  104. package/dist/providers/routing/bedrock-cache-point.d.ts +26 -0
  105. package/dist/providers/routing/bedrock-cache-point.d.ts.map +1 -0
  106. package/dist/providers/routing/generic-compatible.d.ts +10 -0
  107. package/dist/providers/routing/generic-compatible.d.ts.map +1 -0
  108. package/dist/providers/routing/glm-thinking.d.ts +16 -0
  109. package/dist/providers/routing/glm-thinking.d.ts.map +1 -0
  110. package/dist/providers/routing/minimax-thinking.d.ts +6 -0
  111. package/dist/providers/routing/minimax-thinking.d.ts.map +1 -0
  112. package/dist/providers/routing/portable-reasoning.d.ts +11 -0
  113. package/dist/providers/routing/portable-reasoning.d.ts.map +1 -0
  114. package/dist/providers/routing/provider-option-rules.d.ts +13 -0
  115. package/dist/providers/routing/provider-option-rules.d.ts.map +1 -0
  116. package/dist/providers/routing/provider-options-types.d.ts +57 -0
  117. package/dist/providers/routing/provider-options-types.d.ts.map +1 -0
  118. package/dist/providers/routing/provider-options.d.ts +27 -0
  119. package/dist/providers/routing/provider-options.d.ts.map +1 -0
  120. package/dist/providers/routing/reasoning-codecs.d.ts +4 -0
  121. package/dist/providers/routing/reasoning-codecs.d.ts.map +1 -0
  122. package/dist/providers/routing/reasoning-options.d.ts +8 -0
  123. package/dist/providers/routing/reasoning-options.d.ts.map +1 -0
  124. package/dist/providers/routing/utils.d.ts +31 -0
  125. package/dist/providers/routing/utils.d.ts.map +1 -0
  126. package/dist/providers/sdk-warnings.d.ts +14 -0
  127. package/dist/providers/sdk-warnings.d.ts.map +1 -0
  128. package/dist/providers/server-health.d.ts +66 -0
  129. package/dist/providers/server-health.d.ts.map +1 -0
  130. package/dist/providers/stream.d.ts +124 -0
  131. package/dist/providers/stream.d.ts.map +1 -0
  132. package/dist/providers/types.d.ts +10 -0
  133. package/dist/providers/types.d.ts.map +1 -0
  134. package/dist/providers/url.d.ts +3 -0
  135. package/dist/providers/url.d.ts.map +1 -0
  136. package/dist/providers/utils.d.ts +2 -0
  137. package/dist/providers/utils.d.ts.map +1 -0
  138. package/dist/providers/vendors/anthropic.d.ts +4 -0
  139. package/dist/providers/vendors/anthropic.d.ts.map +1 -0
  140. package/dist/providers/vendors/bedrock.d.ts +24 -0
  141. package/dist/providers/vendors/bedrock.d.ts.map +1 -0
  142. package/dist/providers/vendors/cline.d.ts +37 -0
  143. package/dist/providers/vendors/cline.d.ts.map +1 -0
  144. package/dist/providers/vendors/community.d.ts +8 -0
  145. package/dist/providers/vendors/community.d.ts.map +1 -0
  146. package/dist/providers/vendors/google.d.ts +12 -0
  147. package/dist/providers/vendors/google.d.ts.map +1 -0
  148. package/dist/providers/vendors/llamacpp-sampling.d.ts +130 -0
  149. package/dist/providers/vendors/llamacpp-sampling.d.ts.map +1 -0
  150. package/dist/providers/vendors/llamacpp-timings.d.ts +33 -0
  151. package/dist/providers/vendors/llamacpp-timings.d.ts.map +1 -0
  152. package/dist/providers/vendors/minimax-thinking.d.ts +5 -0
  153. package/dist/providers/vendors/minimax-thinking.d.ts.map +1 -0
  154. package/dist/providers/vendors/mistral.d.ts +4 -0
  155. package/dist/providers/vendors/mistral.d.ts.map +1 -0
  156. package/dist/providers/vendors/ollama-account.d.ts +128 -0
  157. package/dist/providers/vendors/ollama-account.d.ts.map +1 -0
  158. package/dist/providers/vendors/ollama-reachability.d.ts +42 -0
  159. package/dist/providers/vendors/ollama-reachability.d.ts.map +1 -0
  160. package/dist/providers/vendors/ollama-stall-watchdog.d.ts +86 -0
  161. package/dist/providers/vendors/ollama-stall-watchdog.d.ts.map +1 -0
  162. package/dist/providers/vendors/ollama-tool-images.d.ts +67 -0
  163. package/dist/providers/vendors/ollama-tool-images.d.ts.map +1 -0
  164. package/dist/providers/vendors/ollama.d.ts +256 -0
  165. package/dist/providers/vendors/ollama.d.ts.map +1 -0
  166. package/dist/providers/vendors/openai-compatible.d.ts +16 -0
  167. package/dist/providers/vendors/openai-compatible.d.ts.map +1 -0
  168. package/dist/providers/vendors/openai.d.ts +4 -0
  169. package/dist/providers/vendors/openai.d.ts.map +1 -0
  170. package/dist/providers/vendors/opencoti-agent-window.d.ts +44 -0
  171. package/dist/providers/vendors/opencoti-agent-window.d.ts.map +1 -0
  172. package/dist/providers/vendors/opencoti-kv-pressure.d.ts +322 -0
  173. package/dist/providers/vendors/opencoti-kv-pressure.d.ts.map +1 -0
  174. package/dist/providers/vendors/opencoti-liveness.d.ts +177 -0
  175. package/dist/providers/vendors/opencoti-liveness.d.ts.map +1 -0
  176. package/dist/providers/vendors/opencoti-window.d.ts +56 -0
  177. package/dist/providers/vendors/opencoti-window.d.ts.map +1 -0
  178. package/dist/providers/vendors/opencoti.d.ts +335 -0
  179. package/dist/providers/vendors/opencoti.d.ts.map +1 -0
  180. package/dist/providers/vendors/polykv-lead.d.ts +94 -0
  181. package/dist/providers/vendors/polykv-lead.d.ts.map +1 -0
  182. package/dist/providers/vendors/polykv-swarm.d.ts +705 -0
  183. package/dist/providers/vendors/polykv-swarm.d.ts.map +1 -0
  184. package/dist/providers/vendors/polykv.d.ts +958 -0
  185. package/dist/providers/vendors/polykv.d.ts.map +1 -0
  186. package/dist/providers/vendors/types.d.ts +176 -0
  187. package/dist/providers/vendors/types.d.ts.map +1 -0
  188. package/dist/providers/vendors/vertex.d.ts +4 -0
  189. package/dist/providers/vendors/vertex.d.ts.map +1 -0
  190. package/dist/providers/vendors/xollama-engine.d.ts +57 -0
  191. package/dist/providers/vendors/xollama-engine.d.ts.map +1 -0
  192. package/dist/providers/vendors/xollama.d.ts +188 -0
  193. package/dist/providers/vendors/xollama.d.ts.map +1 -0
  194. package/dist/providers.browser.d.ts +3 -0
  195. package/dist/providers.browser.d.ts.map +1 -0
  196. package/dist/providers.browser.js +16 -0
  197. package/dist/providers.d.ts +12 -0
  198. package/dist/providers.d.ts.map +1 -0
  199. package/dist/providers.js +272 -0
  200. package/dist/services/langfuse-telemetry.d.ts +19 -0
  201. package/dist/services/langfuse-telemetry.d.ts.map +1 -0
  202. package/dist/transcription.d.ts +53 -0
  203. package/dist/transcription.d.ts.map +1 -0
  204. package/package.json +84 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polykv.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/polykv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ import type { GatewayProviderContext, GatewayStreamRequest, GeneratedMedia, ModelTool, ModelToolName } from "@cerebriline/shared";
2
+ import type { CallSettings, ToolSet } from "ai";
3
+ import type { RetryEmptyResponseOptions } from "../middleware/retry-empty-response";
4
+ export type ProviderGeneratedMedia = Omit<GeneratedMedia, "id" | "sizeBytes">;
5
+ export interface ModelToolResultProjection {
6
+ media: readonly ProviderGeneratedMedia[];
7
+ activityOutput?: unknown;
8
+ }
9
+ export interface BuiltModelTool {
10
+ tool: ToolSet[string];
11
+ /** Project a provider-native tool result into canonical assistant media. */
12
+ projectResult?: (output: unknown) => ModelToolResultProjection;
13
+ }
14
+ export type BuiltModelTools = Partial<Record<ModelToolName, BuiltModelTool>>;
15
+ export interface ProviderFactoryResult {
16
+ operations: {
17
+ language: (modelId: string) => unknown;
18
+ imageGeneration?: (modelId: string) => unknown;
19
+ speechGeneration?: (modelId: string) => unknown;
20
+ videoGeneration?: (modelId: string) => unknown;
21
+ transcription?: (modelId: string) => unknown;
22
+ };
23
+ /** Translate portable model-tool intent into provider-defined AI SDK tools. */
24
+ buildModelTools?: (tools: readonly ModelTool[]) => BuiltModelTools;
25
+ /** AI SDK executes provider-defined client tools and continues model steps. */
26
+ executesModelTools?: boolean;
27
+ /**
28
+ * Policy for the gateway-level transient-failure retry. Every vendor
29
+ * model is wrapped with `createRetryEmptyResponseMiddleware` at the
30
+ * central composition point in `ai-sdk.ts`, which retries two transient
31
+ * failure modes within one attempt budget: an all-empty turn (no text,
32
+ * no reasoning, no tool call — otherwise hard-fails the task with
33
+ * "Model returned empty response") and a mid-stream network
34
+ * interruption before any model output (socket closed, body/headers
35
+ * timeout, ECONNRESET — otherwise kills the run; the AI SDK's own retry
36
+ * covers only request initiation). Set `false` to opt a vendor out, or
37
+ * provide options to tune attempts/delays without forking the
38
+ * middleware. Leave unset for the defaults.
39
+ */
40
+ retryEmptyResponses?: false | Omit<RetryEmptyResponseOptions, "logger">;
41
+ buildStreamConfig?: (request: GatewayStreamRequest, context: GatewayProviderContext) => Partial<CallSettings>;
42
+ }
43
+ export interface AiSdkStreamPart {
44
+ type?: string;
45
+ [key: string]: unknown;
46
+ }
47
+ /**
48
+ * AI SDK's normalized usage structure emitted in the finish stream part.
49
+ * This is the intermediate representation available before stream completion.
50
+ * All token counts use camelCase naming convention.
51
+ *
52
+ * @property inputTokens - Total input/prompt tokens (all providers)
53
+ * @property inputTokenDetails - Breakdown of input tokens:
54
+ * - noCacheTokens: Fresh (non-cached) input tokens (Anthropic, OpenRouter, Gemini)
55
+ * - cacheReadTokens: Tokens read from cache (Anthropic, OpenRouter)
56
+ * - cacheWriteTokens: Tokens written to cache (Anthropic, OpenRouter)
57
+ * @property outputTokens - Total output/completion tokens (all providers)
58
+ * @property outputTokenDetails - Breakdown of output tokens:
59
+ * - textTokens: Regular text tokens (OpenAI, OpenRouter, Gemini)
60
+ * - reasoningTokens: Tokens used for reasoning (OpenAI with o1, OpenRouter, Anthropic with extended thinking)
61
+ * @property totalTokens - Sum of input and output tokens (all providers)
62
+ * @property reasoningTokens - Total reasoning tokens (OpenAI, OpenRouter)
63
+ * @property cachedInputTokens - Alias for cache-read tokens (convenience field)
64
+ */
65
+ export interface AiSdkStreamTotalUsage {
66
+ inputTokens?: number;
67
+ inputTokenDetails?: {
68
+ noCacheTokens?: number;
69
+ cacheReadTokens?: number;
70
+ cacheWriteTokens?: number;
71
+ };
72
+ outputTokens?: number;
73
+ outputTokenDetails?: {
74
+ textTokens?: number;
75
+ reasoningTokens?: number;
76
+ };
77
+ totalTokens?: number;
78
+ reasoningTokens?: number;
79
+ cachedInputTokens?: number;
80
+ }
81
+ /**
82
+ * AI SDK's complete usage structure available via stream.usage promise after completion.
83
+ * Extends AiSdkStreamTotalUsage and adds the raw provider-specific response.
84
+ * The raw field contains unmodified provider responses, enabling cost extraction and detailed billing info.
85
+ *
86
+ * @property raw - Provider-specific raw response fields:
87
+ * **Anthropic**: input_tokens, cache_creation_input_tokens, cache_read_input_tokens,
88
+ * cache_creation.ephemeral_5m_input_tokens, cache_creation.ephemeral_1h_input_tokens,
89
+ * output_tokens, service_tier, inference_geo
90
+ * **Gemini**: promptTokenCount, candidatesTokenCount, totalTokenCount, promptTokensDetails
91
+ * **OpenAI/Vercel**: input_tokens, input_tokens_details.cached_tokens, output_tokens,
92
+ * output_tokens_details.reasoning_tokens
93
+ * **OpenRouter**: prompt_tokens, completion_tokens, total_tokens, prompt_tokens_details.cached_tokens,
94
+ * completion_tokens_details.reasoning_tokens, cost, is_byok, cost_details, market_cost
95
+ */
96
+ export interface AiSdkStreamUsage extends AiSdkStreamTotalUsage {
97
+ raw?: {
98
+ input_tokens?: number;
99
+ cache_creation_input_tokens?: number;
100
+ cache_read_input_tokens?: number;
101
+ cache_creation?: {
102
+ ephemeral_5m_input_tokens?: number;
103
+ ephemeral_1h_input_tokens?: number;
104
+ };
105
+ input_tokens_details?: {
106
+ cached_tokens?: number;
107
+ cache_write_tokens?: number;
108
+ };
109
+ output_tokens?: number;
110
+ output_tokens_details?: {
111
+ reasoning_tokens?: number;
112
+ };
113
+ service_tier?: string;
114
+ inference_geo?: string;
115
+ promptTokenCount?: number;
116
+ candidatesTokenCount?: number;
117
+ totalTokenCount?: number;
118
+ promptTokensDetails?: {
119
+ cached_tokens?: number;
120
+ cache_write_tokens?: number;
121
+ };
122
+ prompt_tokens?: number;
123
+ completion_tokens?: number;
124
+ total_tokens?: number;
125
+ prompt_tokens_details?: {
126
+ cached_tokens?: number;
127
+ cache_write_tokens?: number;
128
+ };
129
+ completion_tokens_details?: {
130
+ reasoning_tokens?: number;
131
+ };
132
+ cost?: number;
133
+ is_byok?: boolean;
134
+ cost_details?: {
135
+ upstream_inference_cost?: number | null;
136
+ upstream_inference_prompt_cost?: number;
137
+ upstream_inference_completions_cost?: number;
138
+ };
139
+ market_cost?: number;
140
+ };
141
+ reasoningTokens?: number;
142
+ cachedInputTokens?: number;
143
+ }
144
+ /**
145
+ * Finish event part emitted when streaming completes.
146
+ * Contains early usage data (without raw provider response) and finish metadata.
147
+ *
148
+ * @property type - Always "finish"
149
+ * @property finishReason - Normalized finish reason (stop, max_tokens, tool-calls, error)
150
+ * @property rawFinishReason - Provider's original finish reason string
151
+ * @property totalUsage - Usage snapshot at end of stream (AiSdkStreamTotalUsage structure)
152
+ */
153
+ export interface AiSdkStreamFinishPart {
154
+ type: "finish";
155
+ finishReason?: string;
156
+ rawFinishReason?: string;
157
+ totalUsage?: AiSdkStreamTotalUsage | Record<string, unknown>;
158
+ }
159
+ /**
160
+ * Complete result from AI SDK's streamText() call.
161
+ * Provides both streaming content (text, tool-calls, reasoning) and usage data via promises.
162
+ *
163
+ * @property fullStream - Raw stream parts (text-delta, tool-call, finish, etc.)
164
+ * @property textStream - Convenience iterator for just text deltas
165
+ * @property text - Promise that resolves to complete generated text
166
+ * @property usage - Promise that resolves to complete usage data with raw provider response.
167
+ * This is preferred over the finish part's totalUsage because it includes cost_details
168
+ * and other provider-specific metadata needed for accurate billing.
169
+ */
170
+ export interface AiSdkStreamResult {
171
+ fullStream?: AsyncIterable<AiSdkStreamPart>;
172
+ textStream?: AsyncIterable<string>;
173
+ text?: Promise<string> | string;
174
+ usage?: Promise<AiSdkStreamUsage | Record<string, unknown>>;
175
+ }
176
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { GatewayProviderContext, GatewayResolvedProviderConfig } from "@cerebriline/shared";
2
+ import type { ProviderFactoryResult } from "./types";
3
+ export declare function createVertexProviderModule(config: GatewayResolvedProviderConfig, context: GatewayProviderContext): Promise<ProviderFactoryResult>;
4
+ //# sourceMappingURL=vertex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertex.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/vertex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA8CrD,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAqDhC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * An opencoti engine behind xOllama, addressed as if it were a bare opencoti.
3
+ *
4
+ * xOllama runs one engine per loaded model and exposes its control plane at
5
+ * `/api/engine?model=M&endpoint=<route>`, answering with the engine's reply
6
+ * wrapped: `200 {status, body | text}` (xollama mail #414). Everything in
7
+ * `polykv.ts`, `polykv-lead.ts` and `polykv-swarm.ts` speaks to a root as
8
+ * `${root}/<route>`, so rather than teach each of them a second transport,
9
+ * this gives each model a root of its own -- `${origin}/xollama-engine/<model>`
10
+ * -- and a fetch that turns a call on it into the proxied one and unwraps the
11
+ * answer. Caches keyed by root are then per model, which is right: pools, boot
12
+ * ids and features belong to one engine.
13
+ *
14
+ * One route is not proxied. `/apply-template` renders with the ENGINE's chat
15
+ * template, but a chat through xOllama may be rendered by xOllama itself (a
16
+ * Modelfile TEMPLATE, a renderer) before the engine sees a prompt, and a pool
17
+ * built from the other rendering shares nothing while reporting success. So it
18
+ * becomes a render-only chat (`_debug_render_only`, `chat_render_v1`), which is
19
+ * xOllama's own answer to "what will you send the engine for this".
20
+ *
21
+ * That render schedules the model with the request's `options` before it
22
+ * renders. The fields the pool code forwards are the chat body's own, options
23
+ * included, so the render asks for the runner the chat will use -- a render
24
+ * with a different `num_ctx` would reload the model.
25
+ *
26
+ * And one route is translated. A swarm opens an owner session with an
27
+ * OpenAI-shaped `POST /v1/chat/completions` (`polykv-swarm.ts`), which the
28
+ * engine proxy does not carry: it becomes a native `/api/chat` with the window
29
+ * in `placement` and a one-token cap. Its `options` and `think` are the ones
30
+ * the model's chats were last sent with (see {@link rememberXollamaRunner}):
31
+ * Ollama reloads a runner whose options differ, and an owner open that reloads
32
+ * the model under a running swarm drops every session on it.
33
+ */
34
+ /** The root the PolyKV code is given for one model's engine. */
35
+ export declare function xollamaEngineRoot(baseUrl: string, model: string): string;
36
+ /** The model and route a root call names, or nothing for any other URL. */
37
+ export declare function parseXollamaEngineUrl(url: string): {
38
+ origin: string;
39
+ model: string;
40
+ endpoint: string;
41
+ query: URLSearchParams;
42
+ } | undefined;
43
+ /**
44
+ * The `options` and `think` a chat on `model` went out with, so a request this
45
+ * module makes on its own asks for the same runner. `num_predict` is the
46
+ * turn's, not the runner's, and is left out.
47
+ */
48
+ export declare function rememberXollamaRunner(origin: string, model: string, body: Readonly<Record<string, unknown>>): void;
49
+ export declare function resetXollamaRunners(): void;
50
+ /**
51
+ * A fetch that serves engine roots through xOllama and passes every other
52
+ * URL to `baseFetch` untouched.
53
+ */
54
+ export declare function xollamaEngineFetch(baseFetch: typeof fetch): typeof fetch;
55
+ /** Which engine serves each loaded model, from `GET /api/engine`. */
56
+ export declare function readXollamaEngines(baseUrl: string, fetchImpl: typeof fetch): Promise<Map<string, string>>;
57
+ //# sourceMappingURL=xollama-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xollama-engine.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/xollama-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAWH,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,MAAM,GAET;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC3E,SAAS,CAwBX;AA4GD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACrC,IAAI,CAYN;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AA4CD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,CAwBxE;AAED,qEAAqE;AACrE,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,KAAK,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsB9B"}
@@ -0,0 +1,188 @@
1
+ import { type AgentToolDefinition, type BasicLogger } from "@cerebriline/shared";
2
+ import { type OpencotiAgentWindow } from "./opencoti-agent-window";
3
+ /** xOllama's default origin: its own port, so it can run beside a stock Ollama. */
4
+ export declare const XOLLAMA_DEFAULT_BASE_URL = "http://localhost:22434";
5
+ /**
6
+ * How the request's session reaches the xOllama fetch layer. The AI SDK
7
+ * passes per-call headers through to `fetch`, and nothing else from the
8
+ * request gets that far; the layer moves it into the body and drops it.
9
+ */
10
+ export declare const XOLLAMA_SESSION_HEADER = "x-cerebriline-engine-session";
11
+ /** The names of the request's read-only tools, as a JSON array. */
12
+ export declare const XOLLAMA_READ_ONLY_HEADER = "x-cerebriline-read-only-tools";
13
+ /** The feature that makes a council turn resumable and tool-capable. */
14
+ export declare const XOLLAMA_COUNCIL_STATE_FEATURE = "council_chat_state_v1";
15
+ /**
16
+ * The server passes the engine's granted window back as `X-Context-Window` and
17
+ * negotiates one from `placement.num_ctx` / `num_ctx_min` (#424).
18
+ */
19
+ export declare const XOLLAMA_CONTEXT_WINDOW_FEATURE = "context_window_v1";
20
+ /**
21
+ * What a conversation on xOllama asks of the engine's window, read off the
22
+ * provider config the way opencoti's is (`resolveOpencotiWindow`):
23
+ *
24
+ * - a session already granted a window asks for exactly that one again -- a
25
+ * resumed conversation never negotiates down under a history that no longer
26
+ * fits;
27
+ * - an agent on a node with an "Agent window" share asks for the node's
28
+ * window, floored at its share measured off the request;
29
+ * - a conversation whose profile turned "Book a context window" on asks for
30
+ * the model's window, floored at "Never go below" (all or nothing without);
31
+ * - anything else asks for nothing, and the engine decides.
32
+ *
33
+ * Never through `options.num_ctx`: that is the model load, and changing it
34
+ * reloads the runner (#424).
35
+ */
36
+ export interface XollamaWindowOptions {
37
+ dynamicContextSize?: boolean;
38
+ contextFloor?: number;
39
+ contextWindow?: number;
40
+ agentWindow?: OpencotiAgentWindow;
41
+ }
42
+ export declare function readXollamaWindowOptions(options: Readonly<Record<string, unknown>> | undefined, contextWindow: number | undefined): XollamaWindowOptions;
43
+ /**
44
+ * A delegated agent's engine session: `~agent-`, `~teammate-` or a swarm
45
+ * worker's `:swarm:`. Its turns are plain chats even on a council model; the
46
+ * council is the lead's (user ruling, 2026-09-27).
47
+ */
48
+ export declare function isDelegatedEngineSession(session: string | undefined): boolean;
49
+ /** What `GET /api/xollama` answers. */
50
+ export interface XollamaServerInfo {
51
+ version?: string;
52
+ features: string[];
53
+ }
54
+ /** What `/api/show`'s `xollama` block says about one model. */
55
+ export interface XollamaModelInfo {
56
+ /** The model answers chat turns with its council. */
57
+ council: boolean;
58
+ /**
59
+ * Pool seats the model keeps for a client's own pools
60
+ * (`session.client_pools`). 0 on an older xOllama, which has none.
61
+ */
62
+ clientPools: number;
63
+ }
64
+ /**
65
+ * The server's xOllama answer, once per origin. `undefined` is a server that
66
+ * is not xOllama (a stock Ollama 404s the route) or did not answer; a failed
67
+ * read is not cached, so a server that comes up later is found.
68
+ */
69
+ export declare function probeXollama(baseUrl: string | undefined, fetchImpl: typeof fetch): Promise<XollamaServerInfo | undefined>;
70
+ /** One model's `xollama` block, once per origin and model. */
71
+ export declare function readXollamaModel(baseUrl: string | undefined, modelId: string, fetchImpl: typeof fetch): Promise<XollamaModelInfo | undefined>;
72
+ /**
73
+ * Whether the client drives this model's engine, as it drives opencoti: a
74
+ * plain model (a council's pools are xOllama's) with seats for client pools,
75
+ * on a server that negotiates windows -- pooled turns are counted against the
76
+ * window each answer reports. Asked of `/api/show` and `/api/xollama`, both
77
+ * cached; it does not need the model loaded.
78
+ */
79
+ export declare function xollamaDrivesModel(baseUrl: string | undefined, modelId: string, fetchImpl: typeof fetch): Promise<boolean>;
80
+ /**
81
+ * The provider's auth headers on every request to the xOllama server.
82
+ *
83
+ * xOllama can require a local key on every route (`api_key_v1`, #421):
84
+ * `Authorization: Bearer <key>`, `/api/engine` included. The chat itself gets
85
+ * it from the Ollama package's headers, but the rest of what this provider
86
+ * sends -- the feature and `/api/show` probes, the `num_ctx` and reinjection
87
+ * probes, the render-only chat and every `/api/engine` call of PolyKV -- goes
88
+ * through the bare fetch, and on a keyed server each of them is a 401.
89
+ *
90
+ * Only to that server's origin, so a key never travels with a request that
91
+ * happens to share the fetch. A header the request already carries wins: an
92
+ * explicit one is the caller's decision.
93
+ */
94
+ export declare function withXollamaAuth(baseFetch: typeof fetch, baseUrl: string | undefined, headers: Readonly<Record<string, string>>): typeof fetch;
95
+ /**
96
+ * Forget one model's `/api/show` answer, so the next read asks again. For the
97
+ * settings panel: a model given seats since it was read gets its pool on the
98
+ * next turn rather than after a reload.
99
+ */
100
+ export declare function forgetXollamaModel(baseUrl: string | undefined, modelId: string): void;
101
+ /** Forget what was read, for tests and for a server that was replaced. */
102
+ export declare function resetXollamaProbes(): void;
103
+ /** The session to name on the wire for a request's session. */
104
+ export declare function xollamaSessionHeaders(sessionId: string | undefined): Record<string, string>;
105
+ /** The request's read-only tools, named for the fetch layer to mark. */
106
+ export declare function xollamaReadOnlyHeaders(tools: readonly AgentToolDefinition[] | undefined): Record<string, string>;
107
+ /** `x_read_only` on each named tool's function object. */
108
+ /**
109
+ * The tool a council adds to its members' list and answers itself (#414): long
110
+ * tool results travel between members by reference through it. A client tool
111
+ * of the same name would be two tools under one name on a council turn.
112
+ */
113
+ export declare const XOLLAMA_COUNCIL_TOOL = "council_evidence";
114
+ /** A council member's tag, as `council_tags_v1` sends it. */
115
+ export interface XollamaCouncilTag {
116
+ role: string;
117
+ index: number;
118
+ round: number;
119
+ }
120
+ /**
121
+ * The heading a member's span opens with: its role, its number among its
122
+ * peers where there are several, and the round, all counted from 1.
123
+ */
124
+ export declare function councilHeading(tag: XollamaCouncilTag): string;
125
+ /**
126
+ * A council turn's deliberation with a heading at each member's span.
127
+ *
128
+ * The thinking block renders as Markdown, so the tag becomes a heading there.
129
+ * xOllama opens each span with its own `### Researcher 2` line for clients
130
+ * that do not read tags; that line is dropped for ours, and it can arrive
131
+ * split over several chunks, so a span's first text is held until its first
132
+ * line is known.
133
+ */
134
+ export declare class CouncilDeliberation {
135
+ private span;
136
+ private opening;
137
+ private held;
138
+ /** The thinking text to send for one chunk. */
139
+ thinking(tag: XollamaCouncilTag, text: string): string;
140
+ /**
141
+ * What is held when the span ends. Held text that began with `#` and never
142
+ * finished its line was the span's own heading; anything else is kept.
143
+ */
144
+ close(): string;
145
+ }
146
+ /**
147
+ * The lead conversation's pool on a plain model, as opencoti's lead tree
148
+ * builds it (`polykv-lead.ts`): the static system prompt and tools shared by
149
+ * every conversation on the model, rendered by xOllama and held once.
150
+ *
151
+ * Lifts the environment into its own turn (mutating `body`) only for a lead's
152
+ * request, and answers the placement to send, or nothing -- a model not
153
+ * loaded yet, an engine that is not opencoti, a refused create -- in which
154
+ * case the turn runs unpooled and the next one asks again. Never fails a turn.
155
+ */
156
+ /** See `withXollamaRequestFields`' `engine` option. */
157
+ export interface XollamaEngineRequest {
158
+ /** An exact booking, floored at itself: a compaction call's own window. */
159
+ booking?: number;
160
+ /** `false`: this call may not join the lead tree. */
161
+ leadPool?: boolean;
162
+ /** A pool this session borrows rather than builds (never the lead's). */
163
+ borrowedPool?: string;
164
+ /** The session id core keys this conversation by (`polykvSessionId`). */
165
+ sessionKey?: string;
166
+ }
167
+ /**
168
+ * xOllama's request fields, added to each `/api/chat` body: `session_id` from
169
+ * the request's session, `x_read_only` on its read-only tools, and, for a
170
+ * council model, the history without the council's past deliberation. A body
171
+ * that is not a chat body goes out untouched. A chat's streamed answer comes
172
+ * back with each council member's span of thinking under its own heading.
173
+ */
174
+ export declare function withXollamaRequestFields(baseFetch: typeof fetch, options?: {
175
+ logger?: BasicLogger;
176
+ window?: XollamaWindowOptions;
177
+ /** The profile's PolyKV switch: off, the lead builds no pool. */
178
+ pooling?: boolean;
179
+ /** "Keep the prefix resident"; on unless `false`. */
180
+ pinPrefix?: boolean;
181
+ /**
182
+ * What core put on this call, read per request (the live pool moves):
183
+ * a compaction call's exact booking, whether the lead tree may take it,
184
+ * and a pool it borrows (a critic on the frozen P').
185
+ */
186
+ engine?: () => XollamaEngineRequest;
187
+ }): typeof fetch;
188
+ //# sourceMappingURL=xollama.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xollama.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/xollama.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ClineFreeModelLimitError, ClineNotSubscribedError, ClineOrgIndividualInferenceSubscriptionError, ClinePassLimitError, extractClineFreeModelLimitResetTime, extractClinePassLimitMessage, getClineNotSubscribedMessage, getClineOrgIndividualInferenceSubscriptionMessage, getClinePassSubscriptionUrl, isClineFreeModelLimitError, isClineFreeModelLimitMessage, isClineModelNotFoundMessage, isClineNotSubscribedError, isClineNotSubscribedMessage, isClineOrgIndividualInferenceSubscriptionError, isClineOrgIndividualInferenceSubscriptionMessage, isClinePassLimitError, isClinePassLimitMessage, } from "./providers/errors";
2
+ export { normalizeProviderId, type ProviderCapability, type ProviderId, } from "./providers/types";
3
+ //# sourceMappingURL=providers.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.browser.d.ts","sourceRoot":"","sources":["../src/providers.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,4CAA4C,EAC5C,mBAAmB,EACnB,mCAAmC,EACnC,4BAA4B,EAC5B,4BAA4B,EAC5B,iDAAiD,EACjD,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,8CAA8C,EAC9C,gDAAgD,EAChD,qBAAqB,EACrB,uBAAuB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GACf,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import{z as t}from"zod";import{z as l}from"zod";import{z as m}from"zod";import{z as f}from"zod";import{z as s}from"zod";import{z as o}from"zod";import{z as d}from"zod";import{z as Kt}from"zod";import{z as n}from"zod";import S from"zod";import{z as p}from"zod";import{z as e}from"zod";import{z as Jn}from"zod";var j=["none","minimal","low","medium","high","xhigh","max"],V=m.enum(j),Z=V.exclude(["none"]),$=m.enum([...j,"default"]).nullable(),ee=m.discriminatedUnion("type",[m.object({type:m.literal("toggle")}).strict(),m.object({type:m.literal("effort"),values:m.array($)}).strict(),m.object({type:m.literal("budget_tokens"),min:m.number().min(-1).optional(),max:m.number().min(0).optional()}).strict().refine((r)=>r.min===void 0||r.max===void 0||r.min<=r.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]),te=l.enum(["default","openai-responses","r1"]);var ne=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),re=l.enum(["active","preview","deprecated","legacy"]),oe=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),ie=l.object({maxBudget:l.number().optional(),outputPrice:l.number().optional(),thinkingLevel:l.enum(["low","high"]).optional()}),ae=l.object({reasoningDefaultOn:l.boolean().optional()}).catchall(l.unknown()),O=l.enum(["text","image","audio","video","pdf"]),se=l.object({input:l.array(O),output:l.array(O)});function le(r){return(r?.input===void 0||r.input.includes("text"))&&(r?.output===void 0||r.output.includes("text"))}var ue=l.enum(["language","image-generation","speech-generation","video-generation","transcription"]);function Mt(r){return(r.operation===void 0||r.operation==="language")&&le(r.modalities)}var ce=l.enum(["batch","streaming"]);var L=l.object({id:l.string(),name:l.string().optional(),description:l.string().optional(),maxTokens:l.number().optional(),contextWindow:l.number().optional(),maxInputTokens:l.number().optional(),capabilities:l.array(ne).optional(),operation:ue.optional(),operationModes:l.array(ce).optional(),modalities:se.optional(),reasoningOptions:l.array(ee).optional(),apiFormat:te.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:oe.optional(),thinkingConfig:ie.optional(),status:re.optional(),deprecationNotice:l.string().optional(),replacedBy:l.string().optional(),releaseDate:l.string().optional(),deprecationDate:l.string().optional(),family:l.string().optional(),metadata:ae.optional()});var de=f.object({id:f.string(),name:f.string(),execution:f.enum(["client","provider"]).optional(),input:f.unknown(),output:f.unknown(),error:f.string().optional(),durationMs:f.number(),startedAt:f.date(),endedAt:f.date()}),me=t.enum(["completed","max_iterations","aborted","mistake_limit","error"]),pe=t.object({inputTokens:t.number(),outputTokens:t.number(),cacheReadTokens:t.number().optional(),cacheWriteTokens:t.number().optional(),totalCost:t.number().optional()}),Ot=t.object({text:t.string(),usage:pe,messages:t.array(t.custom()),toolCalls:t.array(de),iterations:t.number(),finishReason:me,model:t.object({id:t.string(),provider:t.string(),info:L.optional()}),startedAt:t.date(),endedAt:t.date(),durationMs:t.number()}),Rt=t.object({distinctId:t.string().optional(),sessionId:t.string().optional(),providerId:t.string(),modelId:t.string(),apiKey:t.string().optional(),baseUrl:t.string().url().optional(),headers:t.record(t.string(),t.string()).optional(),knownModels:t.record(t.string(),L).optional(),providerConfig:t.unknown().optional(),initialMessages:t.array(t.custom()).optional(),systemPrompt:t.string(),tools:t.array(t.custom()),modelTools:t.array(t.custom()).optional(),maxIterations:t.number().positive().optional(),maxParallelToolCalls:t.number().int().positive().default(8),maxTokensPerTurn:t.number().positive().optional(),maxToolResultChars:t.number().int().positive().optional(),temperature:t.number().nonnegative().optional(),apiTimeoutMs:t.number().positive().default(180000),userFileContentLoader:t.function().input([t.string()]).output(t.promise(t.string())).optional(),toolContextMetadata:t.record(t.string(),t.unknown()).optional(),execution:t.object({maxConsecutiveMistakes:t.number().int().positive().optional(),reminderAfterIterations:t.number().nonnegative().optional(),reminderText:t.string().optional(),loopDetection:t.union([t.literal(!1),t.object({softThreshold:t.number().int().positive().optional(),hardThreshold:t.number().int().positive().optional()})]).optional(),reasoningLoopDetection:t.union([t.literal(!1),t.object({minChars:t.number().int().positive().optional(),window:t.number().int().positive().optional(),maxPeriod:t.number().int().positive().optional(),minCycles:t.number().int().positive().optional(),maxUniqueInWindow:t.number().int().positive().optional(),minLineChars:t.number().int().positive().optional(),phraseMaxPeriod:t.number().int().positive().optional(),phraseMinCycles:t.number().int().positive().optional(),maxConsecutiveTrips:t.number().int().positive().optional()})]).optional(),reasoningRepetition:t.union([t.literal(!1),t.object({minChars:t.number().int().positive().optional(),minParagraphChars:t.number().int().positive().optional(),minStopwords:t.number().int().nonnegative().optional(),maxRepeatTrip:t.number().int().positive().optional(),duplicateFractionTrip:t.number().min(0).max(1).optional(),cooldownTurns:t.number().int().nonnegative().optional(),maxNudges:t.number().int().nonnegative().optional(),recoveryTokens:t.number().int().nonnegative().optional()})]).optional()}).optional(),reasoningEffort:Z.optional(),thinkingBudgetTokens:t.number().positive().optional(),thinking:t.boolean().optional(),onEvent:t.function().input([t.custom()]).output(t.void()).optional(),hooks:t.custom().optional(),parentAgentId:t.string().optional(),extensions:t.array(t.custom()).optional(),hookErrorMode:t.enum(["ignore","throw"]).default("ignore"),toolPolicies:t.record(t.string(),t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()})).optional(),requestToolApproval:t.function().input([t.object({sessionId:t.string(),agentId:t.string(),conversationId:t.string(),iteration:t.number(),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),policy:t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()}).default({})})]).output(t.union([t.object({approved:t.boolean(),reason:t.string().optional()}),t.promise(t.object({approved:t.boolean(),reason:t.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:t.function().input([t.object({iteration:t.number().int().positive(),consecutiveMistakes:t.number().int().positive(),maxConsecutiveMistakes:t.number().int().positive(),reason:t.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:t.string().optional()})]).output(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()}),t.promise(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()})]))])).optional(),logger:t.custom().optional(),extensionContext:t.custom().optional(),abortSignal:t.custom().optional()}),he=s.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),fe=s.object({id:s.string().optional(),label:s.string().optional(),role:s.string().optional(),participantKey:s.string().optional(),participantLabel:s.string().optional(),platformUserId:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),ge=s.object({source:s.string(),sourceEvent:s.string(),threadId:s.string(),channelId:s.string(),isDM:s.boolean(),sessionId:s.string().optional(),workspaceRoot:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),Pt=s.object({actor:fe,context:ge,payload:s.record(s.string(),s.unknown()).optional()}),jt=s.object({action:s.enum(["allow","deny"]).default("allow"),message:s.string().optional(),reason:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),Lt=s.object({adapter:s.string(),botUserName:s.string().optional(),event:he,payload:s.record(s.string(),s.unknown()),ts:s.string()});var be=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],qt=new Set(be);var w={CLINE_PASS:"ext-cline-pass",CODE_ONBOARDING_GITHUB:"code-onboarding-github"},Dt={[w.CLINE_PASS]:!1,[w.CODE_ONBOARDING_GITHUB]:!1},Bt=Object.values(w),ye=o.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),b=o.record(o.string(),o.string()),ve=o.object({toolName:o.string(),parameters:b}),ke=o.object({toolName:o.string(),parameters:b,result:o.string(),success:o.boolean(),executionTimeMs:o.number()}),Te=o.object({prompt:o.string(),attachments:o.array(o.string())}),Ee=o.object({taskMetadata:b}),we=o.object({taskMetadata:b,previousState:b}),Se=o.object({taskMetadata:b}),Ce=o.object({taskMetadata:b}),Ae=o.object({taskId:o.string(),ulid:o.string(),contextSize:o.number(),compactionStrategy:o.string(),previousApiReqIndex:o.number(),tokensIn:o.number(),tokensOut:o.number(),tokensInCache:o.number(),tokensOutCache:o.number(),deletedRangeStart:o.number(),deletedRangeEnd:o.number(),contextJsonPath:o.string(),contextRawPath:o.string()}),Ft=o.object({clineVersion:o.string(),hookName:ye,timestamp:o.string(),taskId:o.string(),sessionContext:o.object({rootSessionId:o.string().optional(),hookLogPath:o.string().optional()}).optional(),workspaceRoots:o.array(o.string()),workspaceInfo:o.custom().optional(),userId:o.string(),agent_id:o.string(),parent_agent_id:o.string().nullable(),iteration:o.number().optional(),reason:o.string().optional(),tool_call:o.object({id:o.string(),name:o.string(),input:o.unknown()}).optional(),tool_result:o.custom().optional(),turn:o.unknown().optional(),error:o.object({name:o.string(),message:o.string(),stack:o.string().optional()}).optional(),preToolUse:ve.optional(),postToolUse:ke.optional(),userPromptSubmit:Te.optional(),taskStart:Ee.optional(),taskResume:we.optional(),taskCancel:Se.optional(),taskComplete:Ce.optional(),preCompact:Ae.optional()}).passthrough();var xe=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Ht=new Set(xe);var _e=d.enum(["image","audio","video","file"]),Me=d.discriminatedUnion("type",[d.object({type:d.literal("base64"),data:d.string().min(1)}),d.object({type:d.literal("url"),url:d.string().url().refine((r)=>{let a=new URL(r).protocol;return a==="http:"||a==="https:"},"Generated media URLs must use HTTP or HTTPS")}),d.object({type:d.literal("artifact"),artifactId:d.string().min(1)})]);function Ie(r){if(r.startsWith("image/"))return"image";if(r.startsWith("audio/"))return"audio";if(r.startsWith("video/"))return"video";return"file"}var Gt=d.object({id:d.string().min(1),modality:_e,mediaType:d.string().min(1),source:Me,name:d.string().min(1).optional(),sizeBytes:d.number().int().nonnegative().optional()}).refine((r)=>Ie(r.mediaType)===r.modality,{message:"Generated media modality must match its media type",path:["modality"]});var zt=["show","hide","subscription"];function Oe(r){if(typeof globalThis.atob==="function")try{let a=globalThis.atob(r),c=Uint8Array.from(a,(g)=>g.charCodeAt(0));return new TextDecoder().decode(c)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(r,"base64").toString("utf8")}catch{return null}return null}function Xt(r){let a=r?.trim();if(!a)return null;try{let c=a.split(".");if(c.length!==3)return null;let g=c[1];if(!g)return null;let y=g.replace(/-/g,"+").replace(/_/g,"/"),Q=y.padEnd(y.length+(4-y.length%4)%4,"="),I=Oe(Q);return I?JSON.parse(I):null}catch{return null}}var Yt=new RegExp(`${"⁣⟦"}([^${"⟧"}]*)${"⟧"}([\\s\\S]*?)${"⟦/⟧⁣"}`,"g");var q=`# Plan Mode
2
+
3
+ You are in Plan mode. Your role is to explore, analyze, and plan -- not to execute.
4
+
5
+ - Read files, search the codebase, and gather context to understand the problem
6
+ - Ask clarifying questions when requirements are ambiguous
7
+ - Present your plan as a structured outline with clear steps
8
+ - Explain tradeoffs between different approaches when they exist
9
+ - Do NOT edit files, write code, run destructive commands, or make any changes
10
+ - Do NOT implement anything -- focus on understanding and alignment first
11
+
12
+ The run_commands tool remains available in plan mode strictly for read-only inspection -- listing files, reading configs, inspecting git history and diffs, checking tool versions, and the like. Searching is not among them: search_codebase and grep are tools of their own and neither goes through the shell. Never use it to change anything: no creating, modifying, or deleting files, no writing scripts that make changes, and no state-changing commands (installs, migrations, database or schema changes, container commands that mutate state, etc.). File-editing commands (rm/mv/cp, in-place edits like sed -i, output redirection to files outside /tmp, git commands that change the working tree, package installs) are hard-blocked in plan mode: they are not executed and return a tool error instead, so do not attempt them. The sed tool is blocked the same way when in_place is true, and for the same reason; without it the tool only prints what the script would produce, which is read-only and allowed. If the task requires a mutation, put it in the plan; it happens only after the user switches to act mode.`,Qt=`${q}
13
+
14
+ Once the user has reviewed your plan and explicitly approved it in a follow-up message, use the switch_to_act_mode tool to switch to act mode and begin implementation. Calling switch_to_act_mode immediately starts execution, so never call it in the same turn you present a plan and never treat the original task request as approval -- end your turn after presenting the plan and wait for the user's response.`,Vt=`${q}
15
+
16
+ Once you have presented your plan, end your turn and wait for the user's response. You do NOT have the ability to switch to act mode yourself -- the user must do it manually with the Plan/Act toggle once they are satisfied with the plan. If the task requires tools that are only available in act mode, ask the user to "toggle to Act mode" (use those words).`;var Zt="anthropic/claude-sonnet-5";var Re=n.object({id:n.string(),temperature:n.number().optional(),maxTokens:n.number().optional(),contextWindow:n.number().optional(),inputPrice:n.number().optional(),outputPrice:n.number().optional(),supportsImages:n.boolean().optional()}),Ne=n.object({models:n.array(Re).optional(),openAiBaseUrl:n.string().optional(),openAiHeaders:n.record(n.string(),n.string()).optional(),azureApiVersion:n.string().optional(),azureIdentity:n.boolean().optional()}),Pe=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),je=n.object({name:n.string(),baseModelId:n.string(),thinkingBudgetTokens:n.number().optional()}),Le=n.object({models:n.array(Pe).optional(),customModels:n.array(je).optional(),awsRegion:n.string().optional(),awsUseCrossRegionInference:n.boolean().optional(),awsUseGlobalInference:n.boolean().optional(),awsBedrockUsePromptCache:n.boolean().optional(),awsBedrockEndpoint:n.string().optional()}),qe=n.object({id:n.string()}),De=n.object({models:n.array(qe).optional()}),Be=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ue=n.object({models:n.array(Be).optional(),vertexProjectId:n.string().optional(),vertexRegion:n.string().optional()}),Fe=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional(),promptCachingEnabled:n.boolean().optional()}),He=n.object({models:n.array(Fe).optional(),baseUrl:n.string().optional()}),We=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ge=n.object({models:n.array(We).optional(),baseUrl:n.string().optional()}),ze=n.object({OpenAiCompatible:Ne.optional(),AwsBedrock:Le.optional(),Cline:De.optional(),Vertex:Ue.optional(),LiteLLM:He.optional(),Anthropic:Ge.optional()}),Xe=n.object({id:n.string()}),Je=n.object({name:n.string(),url:n.string(),alwaysEnabled:n.boolean().optional(),headers:n.record(n.string(),n.string()).optional()}),R=n.object({alwaysEnabled:n.boolean(),name:n.string(),contents:n.string()}),E=n.object({bucket:n.string(),accessKeyId:n.string(),secretAccessKey:n.string(),region:n.string().optional(),endpoint:n.string().optional(),accountId:n.string().optional()}),Ke=n.object({enabled:n.boolean().optional(),type:n.union([n.literal("s3_access_keys"),n.literal("r2_access_keys"),n.literal("azure_access_keys")]).optional(),s3AccessSettings:E.optional(),r2AccessSettings:E.optional(),azureAccessSettings:E.optional()}),Ye=n.object({promptUploading:Ke.optional()}),en=n.object({version:n.string(),providerSettings:ze.optional(),telemetryEnabled:n.boolean().optional(),kanbanEnabled:n.boolean().optional(),mcpMarketplaceEnabled:n.boolean().optional(),allowedMCPServers:n.array(Xe).optional(),remoteMCPServers:n.array(Je).optional(),blockPersonalRemoteMCPServers:n.boolean().optional(),yoloModeAllowed:n.boolean().optional(),openTelemetryEnabled:n.boolean().optional(),openTelemetryMetricsExporter:n.string().optional(),openTelemetryLogsExporter:n.string().optional(),openTelemetryOtlpProtocol:n.string().optional(),openTelemetryOtlpEndpoint:n.string().optional(),openTelemetryOtlpHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpMetricsProtocol:n.string().optional(),openTelemetryOtlpMetricsEndpoint:n.string().optional(),openTelemetryOtlpMetricsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpLogsProtocol:n.string().optional(),openTelemetryOtlpLogsEndpoint:n.string().optional(),openTelemetryOtlpLogsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryMetricExportInterval:n.number().optional(),openTelemetryOtlpInsecure:n.boolean().optional(),openTelemetryLogBatchSize:n.number().optional(),openTelemetryLogBatchTimeout:n.number().optional(),openTelemetryLogMaxQueueSize:n.number().optional(),enterpriseTelemetry:Ye.optional(),globalRules:n.array(R).optional(),globalWorkflows:n.array(R).optional()}),tn=n.record(n.string(),n.string());var rn=S.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),on=S.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),an=S.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var N={production:{environment:"production",appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",mcpBaseUrl:"https://api.cline.bot/v1/mcp",workOsClientId:"client_01K3A541FN8TA3EPPHTD2325AR"},staging:{environment:"staging",appBaseUrl:"https://staging-app.cline.bot",apiBaseUrl:"https://core-api.staging.int.cline.bot",mcpBaseUrl:"https://core-api.staging.int.cline.bot/v1/mcp",workOsClientId:"client_01K3A5415VF6QBQBG3XYCW91G6"},local:{environment:"local",appBaseUrl:"http://localhost:3000",apiBaseUrl:"http://localhost:7777",mcpBaseUrl:"http://localhost:7777/v1/mcp",workOsClientId:"client_01K6XQAY7JK6T5HXVSZW2S5VYK"}};function P(r){let a=r?.trim().toLowerCase();if(a==="production"||a==="staging"||a==="local")return a;return}function D(){if(typeof process>"u"||!process?.env)return{};return process.env}function Qe(){let r=D();return P(r.CLINE_ENVIRONMENT_OVERRIDE)??P(r.CLINE_ENVIRONMENT)??"production"}function Ve(r){if(typeof r==="string")return N[r];return N[Qe()]}function Ze(r,a){if(a.CLINE_API_BASE_URL)r={...r,apiBaseUrl:a.CLINE_API_BASE_URL,mcpBaseUrl:`${a.CLINE_API_BASE_URL}/v1/mcp`};return r}function B(r){let a=Ve(r);return Ze(a,D())}var $e=["rules","skills","workflows","plugins","hooks"];var sn=new Set($e);var et=p.object({rootPath:p.string().min(1),hint:p.string().min(1).optional(),associatedRemoteUrls:p.array(p.string().min(1)).optional(),latestGitCommitHash:p.string().min(1).optional(),latestGitBranchName:p.string().min(1).optional()}),un=p.object({currentWorkspacePath:p.string().min(1).optional(),workspaces:p.record(p.string().min(1),et)});var tt=["current_state","boundary_analysis","interface_proposal"];var h=e.preprocess((r)=>r instanceof Date?r.toISOString():r,e.string().datetime()),v=e.enum(["pending","in_progress","blocked","completed"]),U=e.enum(["queued","running","completed","failed","cancelled","interrupted"]),k=e.enum(["draft","in_review","finalized"]),nt=e.object({agentId:e.string(),role:e.enum(["lead","teammate"]),description:e.string().optional(),status:e.enum(["idle","running","stopped"])}),dn=e.object({agentId:e.string(),rolePrompt:e.string(),modelId:e.string().optional(),maxIterations:e.number().optional(),temperature:e.number().nonnegative().optional(),seed:e.number().int().optional(),seedRandom:e.boolean().optional(),temperatureBase:e.number().nonnegative().optional(),temperatureRange:e.number().min(0).max(100).optional()});function u(r){return e.preprocess((a)=>a===null?void 0:a,r.optional())}var mn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role"),temperature:u(e.union([e.number().nonnegative(),e.string()])).describe(`Sampling temperature for this teammate, over its model's own. "random": a draw within 2% of the model's own temperature (a model at 1.0 gets 0.98 to 1.02); that narrow band is the intended variation. Omit to keep the model's.`),seed:u(e.union([e.number().int(),e.string()])).describe('Sampling seed for this teammate. "random" draws one. Omit to leave it unset.'),temperature_range:u(e.union([e.number().min(0).max(100),e.string()])).describe("Percent the temperature is randomized by, around `temperature` or the model's own. Set it only when the user states a number; left out, 2 applies. Held to 10 at most.")}).strict(),pn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),hn=e.object({}),F={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var fn=e.object({action:e.enum(["create","list","claim","complete","block"]),title:u(e.string().min(1)).describe("Task title"),description:u(e.string().min(1)).describe("Task details"),dependsOn:u(e.array(e.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:u(e.string().min(1)).describe("Optional assignee"),status:u(e.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:u(e.string()).describe("Task ID"),summary:u(e.string().min(1)).describe("Completion summary"),reason:u(e.string().min(1)).describe("Blocking reason")}).superRefine((r,a)=>{for(let c of F[r.action]){if(r[c]!==void 0)continue;a.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),gn=e.object({action:e.enum(["list","claim","complete","block"]),status:u(e.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),assignee:u(e.string().min(1)).describe("Optional assignee filter"),taskId:u(e.string()).describe("Task ID"),summary:u(e.string().min(1)).describe("Completion summary"),reason:u(e.string().min(1)).describe("Blocking reason")}).superRefine((r,a)=>{for(let c of F[r.action]){if(r[c]!==void 0)continue;a.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),bn=e.object({agentId:e.string().describe("Teammate agent ID"),task:e.string().min(1).describe("Task instructions for the teammate"),taskId:u(e.string()).describe("Optional shared task list ID"),runMode:u(e.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:u(e.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),yn=e.object({status:u(e.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:u(e.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:u(e.boolean()).describe("Include completed/failed runs (default true)")}),vn=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),kn=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Tn=e.object({toAgentId:e.string().min(1).describe("Recipient agent ID"),subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),En=e.object({subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),wn=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),Sn=e.object({kind:e.enum(["progress","handoff","blocked","decision","done","error"]),summary:e.string().min(1).describe("Update summary"),taskId:u(e.string().min(1)).describe("Optional task ID context"),evidence:u(e.array(e.string().min(1))).describe("Optional evidence links/snippets"),nextAction:u(e.string().min(1)).describe("Planned next step")}),Cn=e.object({}),An=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(tt).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),xn=e.object({outcomeId:e.string().describe("Outcome ID"),section:e.string().describe("Section name"),sourceRunId:u(e.string()).describe("Optional source run ID"),content:e.string().describe("Section fragment content")}),_n=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),Mn=e.object({outcomeId:e.string().describe("Outcome ID")}),In=e.object({}),On=e.object({teamId:e.string(),teamName:e.string(),members:e.array(nt),taskCounts:e.record(v,e.number()),unreadMessages:e.number(),missionLogEntries:e.number(),activeRuns:e.number(),queuedRuns:e.number(),outcomeCounts:e.record(k,e.number())}),rt=e.object({id:e.string(),title:e.string(),description:e.string(),status:v,createdAt:h,updatedAt:h,createdBy:e.string(),assignee:e.string().optional(),dependsOn:e.array(e.string()),summary:e.string().optional(),isReady:e.boolean(),blockedBy:e.array(e.string())}),Rn=e.discriminatedUnion("action",[e.object({action:e.literal("create"),taskId:e.string(),status:v,ignoredFields:e.array(e.string()).optional(),note:e.string().optional()}),e.object({action:e.literal("list"),tasks:e.array(rt)}),e.object({action:e.literal("claim"),taskId:e.string(),status:v,nextStep:e.string()}),e.object({action:e.literal("complete"),taskId:e.string(),status:v}),e.object({action:e.literal("block"),taskId:e.string(),status:v})]),Nn=e.object({agentId:e.string(),mode:e.enum(["sync","async"]),status:e.enum(["dispatched","running","queued","joined"]),dispatched:e.boolean(),message:e.string(),deduped:e.boolean().optional(),runId:e.string().optional(),text:e.string().optional(),iterations:e.number().optional(),maxIterations:e.number().optional(),finishReason:e.string().optional(),stopReason:e.literal("iteration_cap").optional()}),ot=e.object({textPreview:e.string(),text:e.string().optional(),iterations:e.number(),finishReason:e.string(),durationMs:e.number(),usage:e.object({inputTokens:e.number(),outputTokens:e.number(),cacheReadTokens:e.number().optional(),cacheWriteTokens:e.number().optional(),totalCost:e.number().optional()})}),Pn=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:U,messagePreview:e.string(),priority:e.number(),retryCount:e.number(),maxRetries:e.number(),nextAttemptAt:h.optional(),continueConversation:e.boolean().optional(),startedAt:h,endedAt:h.optional(),leaseOwner:e.string().optional(),heartbeatAt:h.optional(),lastProgressAt:h.optional(),lastProgressMessage:e.string().optional(),currentActivity:e.string().optional(),error:e.string().optional(),resultSummary:ot.optional()}),jn=e.object({id:e.string(),teamId:e.string(),fromAgentId:e.string(),toAgentId:e.string(),subject:e.string(),body:e.string(),taskId:e.string().optional(),sentAt:h,readAt:h.optional()}),Ln=e.object({id:e.string(),teamId:e.string(),title:e.string(),status:k,requiredSections:e.array(e.string()),createdBy:e.string(),createdAt:h,finalizedAt:h.optional()}),qn=e.object({outcomeId:e.string(),status:k,requiredSections:e.array(e.string())}),Dn=e.object({agentId:e.string(),status:e.string()}),Bn=e.object({runId:e.string(),status:U}),Un=e.object({id:e.string(),toAgentId:e.string()}),Fn=e.object({delivered:e.number()}),Hn=e.object({id:e.string()}),Wn=e.object({status:e.string()}),Gn=e.object({fragmentId:e.string(),status:e.string()}),zn=e.object({outcomeId:e.string(),status:k}),it;((r)=>{r.TaskStart="task_start",r.TaskEnd="task_end",r.AgentEvent="agent_event",r.TeammateSpawned="teammate_spawned",r.TeammateShutdown="teammate_shutdown",r.TeamTaskUpdated="team_task_updated",r.TeamMessage="team_message",r.TeamMissionLog="team_mission_log",r.TeamTaskCompleted="team_task_completed",r.RunStarted="run_started",r.RunQueued="run_queued",r.RunProgress="run_progress",r.RunCompleted="run_completed",r.RunFailed="run_failed",r.RunCancelled="run_cancelled",r.RunInterrupted="run_interrupted",r.OutcomeCreated="outcome_created",r.OutcomeFragmentAttached="outcome_fragment_attached",r.OutcomeFragmentReviewed="outcome_fragment_reviewed",r.OutcomeFinalized="outcome_finalized",r.TeamCleaned="team_cleaned"})(it||={});var at="the user is not subscribed to required model plan",st="no access to clinepass subscription models yet. subscribe to clinepass",lt="organization accounts cannot use individual model inference subscriptions",ut="you have reached your",ct="clinepass limit",H="please try again later.",dt="free limit reached on model",W="try again in ",mt="model not found";function G(r){let a=r.toLowerCase(),c=a.indexOf(ut);if(c===-1)return;let g=a.indexOf(H,c);if(g===-1)return;let y=g+H.length;if(!a.slice(c,y).includes(ct))return;return{start:c,end:y}}function z(){return`${new URL("/dashboard/subscription?personal=true",B().appBaseUrl).toString()}`}function X(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${z()}`}class C extends Error{providerId;constructor(r){super(X());this.name="ClineNotSubscribedError",this.providerId=r}}function J(){return"Organization accounts cannot use ClinePass subscriptions. Go to /account -> change account to switch to your personal account for ClinePass"}class A extends Error{providerId;constructor(r){super(J());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=r}}class x extends Error{providerId;constructor(r,a){super(r);this.name="ClinePassLimitError",this.providerId=a}}class _ extends Error{providerId;constructor(r,a){super(r);this.name="ClineFreeModelLimitError",this.providerId=a}}function pt(r){return r instanceof C}function ht(r){return r instanceof A}function ft(r){return r instanceof x}function gt(r){return r instanceof _}function bt(r){let a=r.trim().toLowerCase();return a.includes(at)||a.includes(st)}function yt(r){return r.toLowerCase().includes(lt)}function vt(r){return G(r)!==void 0}function kt(r){let a=G(r);return a?r.slice(a.start,a.end):void 0}function Tt(r){return r.toLowerCase().includes(dt)}function Et(r){return r.toLowerCase().includes(mt)}function wt(r){let a=r.toLowerCase(),c=a.indexOf(W);if(c===-1)return;return a.slice(c+W.length).trim()||void 0}var K=["302ai","abacus","abliteration-ai","above","agentrouter","agnes","ai-router","aiand","aihubmix","aixy","aki-io","alibaba","alibaba-cn","alibaba-coding-plan","alibaba-coding-plan-cn","alibaba-token-plan","alibaba-token-plan-cn","ambient","amd","anthropic","anyapi","arcee","atomic-chat","auriko","bailing","baseten","bedrock","berget","blueclaw","bothub","cerebras","chutes","clarifai","claudinio","cline-pass","cloudferro-sherlock","cloudflare-workers-ai","coralbricks","cortecs","crof","crossmodel","crusoe","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","echo","edenai","empiriolabs","evroc","fastrouter","fireworks","freemodel","friendli","frogbot","gemini","github-copilot","gmicloud","greenpt","groq","helicone","hetzner","hpc-ai","huggingface","hyper","iflowcn","impossibl","inception","inceptron","inference","inferx","infomaniak","io-net","iteracompute","jalapeno","jiekou","kenari","kilo","kimi-for-coding","klokintegration","kosmik","kuae-cloud-coding-plan","lilac","llama","llmgateway","llmgateway-providers","llmtech","llmtr","lmstudio","longcat","lucidquery","lynkr","meganova","meta","minimax","minimax-cn","minimax-cn-coding-plan","minimax-coding-plan","mistral","mixlayer","moark","modal","model-oracle-ai","modelis","modelscope","moonshot","moonshotai-cn","morph","nano-gpt","nearai","nebius","neon","neosmith","neuralwatt","nova","novita-ai","nvidia","ofox","ollama","openai-native","opencode","opencode-go","openreason","openrouter","opper","orcarouter","ovhcloud","pendra","perplexity-agent","pioneer","poe","poolside","privatemode-ai","qihang-ai","qiniu-ai","regolo-ai","requesty","routing-run","runinfra","sakana","sapaicore","sarvam","scaleway","scnet-token-plan","scx-ai","sensenova","siliconflow","siliconflow-cn","snowflake-cortex","stackit","standardcompute","stepfun","stepfun-ai","stepfun-ai-step-plan","stepfun-step-plan","subconscious","submodel","synthetic","tencent-coding-plan","tencent-token-plan","tencent-tokenhub","tensorx","the-grid-ai","thinkingmachines","tinfoil","together","tokengo","tokenrouter","trustedrouter","umans-ai","umans-ai-coding-plan","unorouter","upstage","v0","vancine","vercel-ai-gateway","vertex","vivgrid","volcengine","volcengine-coding-plan","vultr","wafer.ai","wandb","xai","xiaomi","xiaomi-token-plan-ams","xiaomi-token-plan-cn","xiaomi-token-plan-sgp","xpersona","zai","zai-coding-plan","zeldoc","zenifra","zenmux","zhipuai","zhipuai-coding-plan"];var T;((i)=>{i.ANTHROPIC="anthropic";i.CLAUDE_CODE="claude-code";i.CLINE="cline";i.CLINE_PASS="cline-pass";i.ELEVENLABS="elevenlabs";i.OPENAI_COMPATIBLE="openai-compatible";i.OPENAI_NATIVE="openai-native";i.OPENAI_CODEX="openai-codex";i.OPENAI_CODEX_CLI="openai-codex-cli";i.OPENCODE="opencode";i.BEDROCK="bedrock";i.VERTEX="vertex";i.GEMINI="gemini";i.OLLAMA="ollama";i.XOLLAMA="xollama";i.OPENCOTI="opencoti";i.LMSTUDIO="lmstudio";i.DEEPSEEK="deepseek";i.XAI="xai";i.TOGETHER="together";i.FIREWORKS="fireworks";i.GROQ="groq";i.POOLSIDE="poolside";i.CEREBRAS="cerebras";i.SAMBANOVA="sambanova";i.NEBIUS="nebius";i.BASETEN="baseten";i.REQUESTY="requesty";i.LITELLM="litellm";i.HUGGINGFACE="huggingface";i.VERCEL_AI_GATEWAY="vercel-ai-gateway";i.V0="v0";i.AIHUBMIX="aihubmix";i.HICAP="hicap";i.NOUS_RESEARCH="nousResearch";i.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";i.WANDB="wandb";i.XIAOMI="xiaomi";i.TENCENT_TOKENHUB="tencent-tokenhub";i.KILO="kilo";i.ZAI="zai";i.ZAI_CODING_PLAN="zai-coding-plan";i.QWEN="qwen";i.QWEN_CODE="qwen-code";i.DOUBAO="doubao";i.MISTRAL="mistral";i.MOONSHOT="moonshot";i.ASKSAGE="asksage";i.MINIMAX="minimax";i.DIFY="dify";i.OCA="oca";i.SAPAICORE="sapaicore";i.OPENROUTER="openrouter"})(T||={});var St={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},Y=[...new Set([...Object.values(T),...K])];function M(r){let a=r.trim();return St[a]??a}export{M as normalizeProviderId,vt as isClinePassLimitMessage,ft as isClinePassLimitError,yt as isClineOrgIndividualInferenceSubscriptionMessage,ht as isClineOrgIndividualInferenceSubscriptionError,bt as isClineNotSubscribedMessage,pt as isClineNotSubscribedError,Et as isClineModelNotFoundMessage,Tt as isClineFreeModelLimitMessage,gt as isClineFreeModelLimitError,z as getClinePassSubscriptionUrl,J as getClineOrgIndividualInferenceSubscriptionMessage,X as getClineNotSubscribedMessage,kt as extractClinePassLimitMessage,wt as extractClineFreeModelLimitResetTime,x as ClinePassLimitError,A as ClineOrgIndividualInferenceSubscriptionError,C as ClineNotSubscribedError,_ as ClineFreeModelLimitError};
@@ -0,0 +1,12 @@
1
+ export { isProviderApiLine, OLLAMA_DEFAULT_CONTEXT_WINDOW, type ProviderApiLine, resolveProviderApiLineBaseUrl, } from "./providers/builtins";
2
+ export { type ApiHandler, BUILT_IN_PROVIDER, BUILT_IN_PROVIDER_IDS, type BuiltInProviderId, type HandlerFactory, isBuiltInProviderId, type LazyHandlerFactory, normalizeProviderId, type PolykvOptions, type ProviderCapability, type ProviderConfig, type ProviderId, type ProviderSamplingOptions, } from "./providers/types";
3
+ import { type ApiHandler, type ProviderConfig } from "./providers/types";
4
+ export { classifyProviderError } from "./providers/error-classification";
5
+ export { ClineFreeModelLimitError, ClineNotSubscribedError, ClineOrgIndividualInferenceSubscriptionError, ClinePassLimitError, extractClineFreeModelLimitResetTime, extractClinePassLimitMessage, getClineNotSubscribedMessage, getClineOrgIndividualInferenceSubscriptionMessage, getClinePassSubscriptionUrl, isClineFreeModelLimitError, isClineFreeModelLimitMessage, isClineModelNotFoundMessage, isClineNotSubscribedError, isClineNotSubscribedMessage, isClineOrgIndividualInferenceSubscriptionError, isClineOrgIndividualInferenceSubscriptionMessage, isClinePassLimitError, isClinePassLimitMessage, } from "./providers/errors";
6
+ export { getRegisteredHandler, getRegisteredHandlerAsync, hasRegisteredHandler, isRegisteredHandlerAsync, registerAsyncHandler, registerHandler, } from "./providers/factory-registry";
7
+ export type { ApiStreamChunk, ContentBlock, FileContent, HandlerModelInfo, ImageContent, Message, MessageRole, MessageWithMetadata, RedactedThinkingContent, TextContent, ThinkingContent, ToolDefinition, ToolResultContent, ToolUseContent, } from "./providers/types";
8
+ export declare function createHandler(config: ProviderConfig): ApiHandler;
9
+ export declare function createHandlerAsync(config: ProviderConfig): Promise<ApiHandler>;
10
+ export { hasOllamaFetch, hasOllamaNoStreamTimeoutDispatcher, OLLAMA_DEFAULT_REASONING_EFFORT, type OllamaThinkBudget, parseDeclaredThinkBudgetMessage, primeDeclaredNumCtx, probeOllamaThinkBudget, readDeclaredFamily, readDeclaredNumCtx, readDeclaredTemperature, readDeclaredThinkBudgetMessage, readResolvedOllamaWindow, setOllamaFetch, setOllamaNoStreamTimeoutDispatcher, } from "./providers/vendors/ollama";
11
+ export { looksLikeCloudName, matchOllamaRecommendation, type OllamaAccount, type OllamaAccountStatus, type OllamaCatalogEntry, type OllamaRecommendation, parseOllamaRecommendations, primeOllamaAccountStatus, readOllamaAccountCache, readOllamaAccountStatus, readOllamaCloudFlag, readOllamaRecommendation, resetOllamaAccountStatus, unpulledCloudModels, } from "./providers/vendors/ollama-account";
12
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,eAAe,EACpB,6BAA6B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,KAAK,UAAU,EACf,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,uBAAuB,GAC5B,MAAM,mBAAmB,CAAC;AAY3B,OAAO,EACN,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EACN,wBAAwB,EACxB,uBAAuB,EACvB,4CAA4C,EAC5C,mBAAmB,EACnB,mCAAmC,EACnC,4BAA4B,EAC5B,4BAA4B,EAC5B,iDAAiD,EACjD,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,8CAA8C,EAC9C,gDAAgD,EAChD,qBAAqB,EACrB,uBAAuB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,GACf,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAgB3B,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAiBhE;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CAerB;AAID,OAAO,EACN,cAAc,EACd,kCAAkC,EAClC,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,+BAA+B,EAG/B,mBAAmB,EACnB,sBAAsB,EAGtB,kBAAkB,EAClB,kBAAkB,EAGlB,uBAAuB,EACvB,8BAA8B,EAI9B,wBAAwB,EAGxB,cAAc,EAGd,kCAAkC,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,oCAAoC,CAAC"}