@cline/llms 0.0.69 → 0.0.70

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 (42) hide show
  1. package/dist/catalog/catalog.generated.d.ts.map +1 -1
  2. package/dist/index.browser.js +16 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +66 -64
  6. package/dist/models.js +53 -51
  7. package/dist/providers/ai-sdk.d.ts +19 -1
  8. package/dist/providers/ai-sdk.d.ts.map +1 -1
  9. package/dist/providers/builtins.d.ts.map +1 -1
  10. package/dist/providers/compat.d.ts.map +1 -1
  11. package/dist/providers/error-classification.d.ts +13 -0
  12. package/dist/providers/error-classification.d.ts.map +1 -0
  13. package/dist/providers/middleware/retry-empty-response.d.ts +5 -3
  14. package/dist/providers/middleware/retry-empty-response.d.ts.map +1 -1
  15. package/dist/providers/middleware/split-tool-images.d.ts +6 -6
  16. package/dist/providers/middleware/split-tool-images.d.ts.map +1 -1
  17. package/dist/providers/middleware/stream-part-classification.d.ts +33 -0
  18. package/dist/providers/middleware/stream-part-classification.d.ts.map +1 -0
  19. package/dist/providers/model-facts.d.ts +29 -0
  20. package/dist/providers/model-facts.d.ts.map +1 -1
  21. package/dist/providers/provider-ids.generated.d.ts +1 -1
  22. package/dist/providers/provider-ids.generated.d.ts.map +1 -1
  23. package/dist/providers/providers.generated.d.ts.map +1 -1
  24. package/dist/providers/routing/anthropic-compatible.d.ts.map +1 -1
  25. package/dist/providers/routing/bedrock-cache-point.d.ts +26 -0
  26. package/dist/providers/routing/bedrock-cache-point.d.ts.map +1 -0
  27. package/dist/providers/routing/provider-option-rules.d.ts.map +1 -1
  28. package/dist/providers/vendors/bedrock.d.ts +20 -0
  29. package/dist/providers/vendors/bedrock.d.ts.map +1 -1
  30. package/dist/providers/vendors/minimax-thinking.d.ts +2 -2
  31. package/dist/providers/vendors/ollama.d.ts +3 -12
  32. package/dist/providers/vendors/ollama.d.ts.map +1 -1
  33. package/dist/providers/vendors/openai-compatible.d.ts +11 -0
  34. package/dist/providers/vendors/openai-compatible.d.ts.map +1 -1
  35. package/dist/providers/vendors/types.d.ts +11 -0
  36. package/dist/providers/vendors/types.d.ts.map +1 -1
  37. package/dist/providers.browser.js +16 -1
  38. package/dist/providers.d.ts +1 -0
  39. package/dist/providers.d.ts.map +1 -1
  40. package/dist/providers.js +55 -53
  41. package/dist/services/langfuse-telemetry.d.ts.map +1 -1
  42. package/package.json +17 -16
@@ -1,6 +1,6 @@
1
1
  import type { GatewayProviderContext, GatewayProviderFactory, GatewayStreamRequest } from "@cline/shared";
2
2
  import { type CallSettings } from "ai";
3
- import type { AiSdkStreamTotalUsage, AiSdkStreamUsage } from "./vendors/types";
3
+ import type { AiSdkStreamTotalUsage, AiSdkStreamUsage, ProviderFactoryResult } from "./vendors/types";
4
4
  interface GatewayNormalizedUsage {
5
5
  inputTokens: number;
6
6
  outputTokens: number;
@@ -37,6 +37,24 @@ export declare function repairMalformedToolCall<T extends RepairableToolCall>({
37
37
  * @param pricingValue - Fallback pricing config (per 1M tokens) when no explicit cost found
38
38
  */
39
39
  export declare function normalizeUsage(usageValue: AiSdkStreamUsage | AiSdkStreamTotalUsage | Record<string, unknown> | undefined, providerMetadata?: unknown, pricingValue?: unknown): GatewayNormalizedUsage;
40
+ /**
41
+ * Wrap a vendor-constructed model with the empty-response retry middleware.
42
+ *
43
+ * All-empty turns (no text, no reasoning, no tool call) are a cross-provider
44
+ * phenomenon: production telemetry shows them on hosted backends (openrouter,
45
+ * cline, generic OpenAI-compatible endpoints), not just local Ollama. An
46
+ * empty assistant turn is a hard failure in the agent runtime ("Model
47
+ * returned empty response"), so a single transient flake kills the task.
48
+ * Retrying here — the one composition point every AI SDK vendor flows
49
+ * through — turns those flakes into non-events while leaving the runtime's
50
+ * loud failure in place for models that are persistently empty.
51
+ *
52
+ * Applied as the *outermost* wrap so each retry re-runs the vendor's full
53
+ * request pipeline, including any vendor-level middleware attached inside
54
+ * `provider.model(...)`. Vendors opt out or tune attempts through
55
+ * `ProviderFactoryResult.retryEmptyResponses`.
56
+ */
57
+ export declare function withEmptyResponseRetry(model: unknown, retryEmptyResponses: ProviderFactoryResult["retryEmptyResponses"], logger: GatewayProviderContext["logger"]): unknown;
40
58
  export declare const createOpenAIProvider: GatewayProviderFactory;
41
59
  export declare const createOpenAICompatibleProvider: GatewayProviderFactory;
42
60
  export declare const createAnthropicProvider: GatewayProviderFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,sBAAsB,EACtB,sBAAsB,EAEtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,KAAK,YAAY,EAA2C,MAAM,IAAI,CAAC;AAoBhF,OAAO,KAAK,EAGX,qBAAqB,EACrB,gBAAgB,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAOvB;AAwVD,UAAU,kBAAkB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC3E,QAAQ,EACR,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBpB;AAkOD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EACP,gBAAgB,GAChB,qBAAqB,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,EACZ,gBAAgB,CAAC,EAAE,OAAO,EAC1B,YAAY,CAAC,EAAE,OAAO,GACpB,sBAAsB,CAsIxB;AAgeD,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,8BAA8B,wBACF,CAAC;AAC1C,eAAO,MAAM,uBAAuB,wBAAmC,CAAC;AACxE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,wBAAqC,CAAC;AAC3E,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,wBAAkC,CAAC;AACtE,eAAO,MAAM,kBAAkB,wBAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,wBAAmC,CAAC"}
1
+ {"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIX,sBAAsB,EACtB,sBAAsB,EAEtB,oBAAoB,EAEpB,MAAM,eAAe,CAAC;AASvB,OAAO,EACN,KAAK,YAAY,EAMjB,MAAM,IAAI,CAAC;AA2BZ,OAAO,KAAK,EAGX,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAOvB;AAiWD,UAAU,kBAAkB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC3E,QAAQ,EACR,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBpB;AAkOD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EACP,gBAAgB,GAChB,qBAAqB,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,EACZ,gBAAgB,CAAC,EAAE,OAAO,EAC1B,YAAY,CAAC,EAAE,OAAO,GACpB,sBAAsB,CAsIxB;AAuXD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,EACd,mBAAmB,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,EACjE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,GACtC,OAAO,CAWT;AAiKD,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,8BAA8B,wBACF,CAAC;AAC1C,eAAO,MAAM,uBAAuB,wBAAmC,CAAC;AACxE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,wBAAqC,CAAC;AAC3E,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,wBAAkC,CAAC;AACtE,eAAO,MAAM,kBAAkB,wBAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,wBAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/providers/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsBpE,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AAWhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AA8hCzB,eAAO,MAAM,aAAa,EAAE,WAAW,EAGtC,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CAOpB;AAiDD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,uBAAuB,CAiCrE;AAED,eAAO,MAAM,gCAAgC,EAAE,eAAe,EACzB,CAAC;AAEtC,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACtD,MAAM,EACN,eAAe,CAMf,CAAC"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/providers/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAuBpE,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AAWhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AAshCzB,eAAO,MAAM,aAAa,EAAE,WAAW,EAGtC,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CAOpB;AAiDD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,uBAAuB,CAiCrE;AAED,eAAO,MAAM,gCAAgC,EAAE,eAAe,EACzB,CAAC;AAEtC,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACtD,MAAM,EACN,eAAe,CAMf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,sBAAsB,EAGtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AA4BvB,OAAO,EACN,KAAK,UAAU,EAIf,KAAK,OAAO,EAEZ,KAAK,cAAc,EAGnB,MAAM,SAAS,CAAC;AAqQjB,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,OAAO,EAAE,GACjB,oBAAoB,CAAC,UAAU,CAAC,CA+FlC;AAwCD,iBAAS,kBAAkB,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAAE,GAAG,SAAS,CAkE1D;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCjD;AAgJD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAE1E;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,sBAAsB,EAGtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AA4BvB,OAAO,EACN,KAAK,UAAU,EAIf,KAAK,OAAO,EAEZ,KAAK,cAAc,EAGnB,MAAM,SAAS,CAAC;AAqQjB,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,OAAO,EAAE,GACjB,oBAAoB,CAAC,UAAU,CAAC,CA+FlC;AAwCD,iBAAS,kBAAkB,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAAE,GAAG,SAAS,CAkE1D;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCjD;AA0JD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAE1E;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CAqCrB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ProviderErrorClass } from "@cline/shared";
2
+ /**
3
+ * Classify a raw provider error (or an already-flattened error message) into
4
+ * a {@link ProviderErrorClass}. Call this where the structured error object
5
+ * is still available — `extractErrorMessage` discards the structure this
6
+ * classification relies on.
7
+ *
8
+ * Typed AI SDK error instances are classified first via their typed fields;
9
+ * everything else — including plain JSON payloads that only *look* like AI
10
+ * SDK errors — goes through the conservative structural walk.
11
+ */
12
+ export declare function classifyProviderError(error: unknown): ProviderErrorClass;
13
+ //# sourceMappingURL=error-classification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,eAAe,CAAC;AAsQvE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqBxE"}
@@ -1,4 +1,4 @@
1
- import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
1
+ import type { LanguageModelV4Middleware, LanguageModelV4Usage } from "@ai-sdk/provider";
2
2
  /** Minimal logger surface (a subset of `BasicLogger`). */
3
3
  interface RetryLogger {
4
4
  log?(message: string, meta?: Record<string, unknown>): void;
@@ -14,11 +14,13 @@ export interface RetryEmptyResponseOptions {
14
14
  export declare const DEFAULT_EMPTY_RESPONSE_MAX_ATTEMPTS = 3;
15
15
  /** Default delay before a retry. */
16
16
  export declare const DEFAULT_EMPTY_RESPONSE_RETRY_DELAY_MS = 250;
17
+ /** Sum two standardized v4 usage records field by field. */
18
+ export declare function addUsage(a: LanguageModelV4Usage, b: LanguageModelV4Usage): LanguageModelV4Usage;
17
19
  /**
18
- * Create a middleware that retries empty Ollama responses. Apply it as the
20
+ * Create a middleware that retries empty model responses. Apply it as the
19
21
  * outermost middleware (first in the `wrapLanguageModel` array) so each retry
20
22
  * re-runs the full request.
21
23
  */
22
- export declare function createRetryEmptyResponseMiddleware(options?: RetryEmptyResponseOptions): LanguageModelV3Middleware;
24
+ export declare function createRetryEmptyResponseMiddleware(options?: RetryEmptyResponseOptions): LanguageModelV4Middleware;
23
25
  export {};
24
26
  //# sourceMappingURL=retry-empty-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry-empty-response.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/retry-empty-response.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACX,yBAAyB,EAGzB,MAAM,kBAAkB,CAAC;AAE1B,0DAA0D;AAC1D,UAAU,WAAW;IACpB,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACzC,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,sDAAsD;AACtD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,oCAAoC;AACpC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAwCzD;;;;GAIG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,GAAE,yBAA8B,GACrC,yBAAyB,CAwG3B"}
1
+ {"version":3,"file":"retry-empty-response.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/retry-empty-response.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EACX,yBAAyB,EAGzB,oBAAoB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,0DAA0D;AAC1D,UAAU,WAAW;IACpB,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACzC,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,sDAAsD;AACtD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,oCAAoC;AACpC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAsBzD,4DAA4D;AAC5D,wBAAgB,QAAQ,CACvB,CAAC,EAAE,oBAAoB,EACvB,CAAC,EAAE,oBAAoB,GACrB,oBAAoB,CAuBtB;AAyBD;;;;GAIG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,GAAE,yBAA8B,GACrC,yBAAyB,CAqI3B"}
@@ -1,18 +1,18 @@
1
- import type { LanguageModelV3Message, LanguageModelV3Middleware } from "@ai-sdk/provider";
1
+ import type { LanguageModelV4Message, LanguageModelV4Middleware } from "@ai-sdk/provider";
2
2
  /**
3
- * Walk a `LanguageModelV3Prompt` and rewrite every `role:"tool"` message
3
+ * Walk a `LanguageModelV4Prompt` and rewrite every `role:"tool"` message
4
4
  * containing image/file parts inside its tool-result `output`s. See the
5
5
  * file-level comment for the rewrite shape.
6
6
  *
7
7
  * Returns the (possibly new) prompt array and a `mutated` flag for
8
8
  * test/observation use.
9
9
  */
10
- export declare function rewritePromptToolImages(prompt: LanguageModelV3Message[]): {
11
- prompt: LanguageModelV3Message[];
10
+ export declare function rewritePromptToolImages(prompt: LanguageModelV4Message[]): {
11
+ prompt: LanguageModelV4Message[];
12
12
  mutated: boolean;
13
13
  };
14
14
  /**
15
- * `LanguageModelV3Middleware` that splits image-carrying tool-result
15
+ * `LanguageModelV4Middleware` that splits image-carrying tool-result
16
16
  * messages so chat-completions-style converters don't lose the bytes.
17
17
  *
18
18
  * Apply via `wrapLanguageModel({ model, middleware: splitToolImagesMiddleware })`
@@ -25,5 +25,5 @@ export declare function rewritePromptToolImages(prompt: LanguageModelV3Message[]
25
25
  * structurally-faithful tool-results with the placeholder text + sibling
26
26
  * user message pattern unnecessarily.
27
27
  */
28
- export declare const splitToolImagesMiddleware: LanguageModelV3Middleware;
28
+ export declare const splitToolImagesMiddleware: LanguageModelV4Middleware;
29
29
  //# sourceMappingURL=split-tool-images.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"split-tool-images.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/split-tool-images.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAGX,sBAAsB,EACtB,yBAAyB,EAIzB,MAAM,kBAAkB,CAAC;AA8U1B;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG;IAC1E,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CACjB,CAwCA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB,EAAE,yBAevC,CAAC"}
1
+ {"version":3,"file":"split-tool-images.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/split-tool-images.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAGX,sBAAsB,EACtB,yBAAyB,EAIzB,MAAM,kBAAkB,CAAC;AA8R1B;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG;IAC1E,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CACjB,CAwCA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB,EAAE,yBAevC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { LanguageModelV4StreamPart } from "@ai-sdk/provider";
2
+ export type ModelStreamPartClass =
3
+ /**
4
+ * Output that `emitAiSdkEvents()` converts into `AgentModelEvent`s and
5
+ * that therefore reaches the assistant message. A turn containing any of
6
+ * these is not empty.
7
+ */
8
+ "converted-content"
9
+ /**
10
+ * Real model output that Cline does not (yet) convert into agent events.
11
+ * The model responded, so retrying would waste billable requests and
12
+ * likely reproduce the same output — never retried. If a turn contains
13
+ * ONLY unsupported output the assistant message can still come out
14
+ * empty; that is an explicit contract gap of this bucket, preferred over
15
+ * silently re-billing a turn the model did answer.
16
+ */
17
+ | "unsupported-output"
18
+ /** Markers and metadata that do not constitute model output. */
19
+ | "structural"
20
+ /** `stream-start` — carries warnings; one per attempt. */
21
+ | "stream-start"
22
+ /** Terminal accounting part — carries usage and the finish reason. */
23
+ | "finish"
24
+ /** An upstream error surfaced as a stream part. */
25
+ | "error";
26
+ export declare function classifyModelStreamPart(part: LanguageModelV4StreamPart): ModelStreamPartClass;
27
+ /**
28
+ * Whether a completed attempt that contained only parts for which this
29
+ * returns `false` (plus `stream-start`/`finish`) counts as a genuinely empty
30
+ * turn. Both converted and unsupported output mean "the model responded".
31
+ */
32
+ export declare function isModelOutputPart(part: LanguageModelV4StreamPart): boolean;
33
+ //# sourceMappingURL=stream-part-classification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-part-classification.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/stream-part-classification.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,oBAAoB;AAC/B;;;;GAIG;AACD,mBAAmB;AACrB;;;;;;;GAOG;GACD,oBAAoB;AACtB,gEAAgE;GAC9D,YAAY;AACd,0DAA0D;GACxD,cAAc;AAChB,sEAAsE;GACpE,QAAQ;AACV,mDAAmD;GACjD,OAAO,CAAC;AAEX,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,yBAAyB,GAC7B,oBAAoB,CAoDtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAG1E"}
@@ -22,10 +22,32 @@ export declare function isAnthropicCompatibleModel(options: {
22
22
  export declare function isAnthropicCompatibleModelId(modelId: string | undefined): boolean;
23
23
  export declare function isClaudeModelId(modelId: string | undefined): boolean;
24
24
  export declare function isClaudeFableModelId(modelId: string | undefined): boolean;
25
+ /**
26
+ * Wire-shape era of a Claude model id, used only as a fallback when catalog
27
+ * `reasoningOptions` metadata is unavailable (offline baked catalog,
28
+ * user-typed unlisted ids such as "claude-opus-4-6:1m").
29
+ *
30
+ * - "adaptive": 4.6+/5.x models; the Anthropic API rejects the manual
31
+ * `thinking: {type: "enabled", budgetTokens}` shape for these.
32
+ * - "legacy": known pre-4.6 families that require the manual shape.
33
+ * - "unknown-claude": a Claude id the version parser does not recognize.
34
+ * Callers should treat these as NEWER than the known list and prefer
35
+ * adaptive — the forward-compatible policy the ecosystem converged on
36
+ * (vercel/ai#17804 for @ai-sdk/anthropic's capability lookup; opencode's
37
+ * transform.ts after repeated allowlist misses for opus-4.7, sonnet-5,
38
+ * and opus-5). New Claude releases reject the manual shape, so an
39
+ * allowlist that lags a release turns every reasoning request into a
40
+ * hard API error.
41
+ * - "not-claude": non-Claude ids (including Anthropic-compatible aliases)
42
+ * stay conservative for third-party endpoints.
43
+ */
44
+ export type ClaudeThinkingEra = "adaptive" | "legacy" | "unknown-claude" | "not-claude";
45
+ export declare function resolveClaudeThinkingEra(modelId: string | undefined): ClaudeThinkingEra;
25
46
  export declare function isQwenModel(options: {
26
47
  modelId?: string;
27
48
  family?: string;
28
49
  }): boolean;
50
+ export declare function isOpenAIReasoningEraModelId(modelId: string | undefined): boolean;
29
51
  export declare function resolveGeminiThinkingMode(input: {
30
52
  request: Pick<GatewayStreamRequest, "modelId">;
31
53
  context: GatewayProviderContext;
@@ -41,6 +63,13 @@ export declare function isMiniMaxM3Model(request: Pick<GatewayStreamRequest, "mo
41
63
  export declare function isKimiK26Family(context: GatewayProviderContext): boolean;
42
64
  export declare function isMoonshotKimiModelIdFallback(request: Pick<GatewayStreamRequest, "modelId">): boolean;
43
65
  export declare function isDeepSeekFamily(context: GatewayProviderContext): boolean;
66
+ /**
67
+ * Whether the resolved model advertises image input (`"images"` in its
68
+ * gateway capabilities). Models with no capability data at all (e.g. ids
69
+ * resolved outside any catalog) fail open: images are kept rather than
70
+ * hidden from a possibly capable model.
71
+ */
72
+ export declare function modelSupportsImageInput(context: GatewayProviderContext): boolean;
44
73
  export declare function getReasoningDefaultOnMetadata(context: GatewayProviderContext): boolean | undefined;
45
74
  export declare function isOllamaQwen3ModelIdFallback(request: Pick<GatewayStreamRequest, "providerId" | "modelId">): boolean;
46
75
  export declare function isCerebrasProvider(request: Pick<GatewayStreamRequest, "providerId">, context: GatewayProviderContext): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"model-facts.d.ts","sourceRoot":"","sources":["../../src/providers/model-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-facts.d.ts","sourceRoot":"","sources":["../../src/providers/model-facts.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@
9
9
  *
10
10
  * WARNING: DO NOT EDIT THIS FILE MANUALLY.
11
11
  */
12
- export declare const GENERATED_PROVIDER_IDS: readonly ["302ai", "abacus", "abliteration-ai", "ai-router", "aiand", "aihubmix", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "anthropic", "anyapi", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "empiriolabs", "evroc", "fastrouter", "fireworks", "freemodel", "friendli", "frogbot", "gemini", "github-copilot", "github-models", "gmicloud", "greenpt", "groq", "helicone", "hetzner", "hpc-ai", "huggingface", "hyper", "iflowcn", "inception", "inceptron", "inference", "inferx", "io-net", "jiekou", "kenari", "kilo", "kimi-for-coding", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "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", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openrouter", "orcarouter", "ovhcloud", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "sakana", "sapaicore", "sarvam", "scaleway", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "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", "trustedrouter", "umans-ai", "umans-ai-coding-plan", "unorouter", "upstage", "v0", "vercel-ai-gateway", "vertex", "vivgrid", "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"];
12
+ export declare const GENERATED_PROVIDER_IDS: readonly ["302ai", "abacus", "abliteration-ai", "ai-router", "aiand", "aihubmix", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "anthropic", "anyapi", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "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", "jiekou", "kenari", "kilo", "kimi-for-coding", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "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", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openrouter", "orcarouter", "ovhcloud", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "sakana", "sapaicore", "sarvam", "scaleway", "scx", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "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", "trustedrouter", "umans-ai", "umans-ai-coding-plan", "unorouter", "upstage", "v0", "vercel-ai-gateway", "vertex", "vivgrid", "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"];
13
13
  //# sourceMappingURL=provider-ids.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-ids.generated.d.ts","sourceRoot":"","sources":["../../src/providers/provider-ids.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,osEAwKzB,CAAC"}
1
+ {"version":3,"file":"provider-ids.generated.d.ts","sourceRoot":"","sources":["../../src/providers/provider-ids.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,qtEA0KzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.generated.d.ts","sourceRoot":"","sources":["../../src/providers/providers.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,SAAS,WAAW,EA8xE1D,CAAC"}
1
+ {"version":3,"file":"providers.generated.d.ts","sourceRoot":"","sources":["../../src/providers/providers.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,SAAS,WAAW,EA4zE1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-compatible.d.ts","sourceRoot":"","sources":["../../../src/providers/routing/anthropic-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,MAAM,eAAe,CAAC;AAavB,MAAM,MAAM,+BAA+B,GACxC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAoDlC,eAAO,MAAM,0BAA0B,yBAAmC,CAAC;AAE3E,eAAO,MAAM,2BAA2B,yBAGtC,CAAC;AAEH,eAAO,MAAM,yCAAyC,yBAGnD,CAAC;AAEJ,wBAAgB,gCAAgC,CAC/C,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,OAAO,2BAgBzB;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,OAAO,GACvB,IAAI,CA2DN;AAED,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAET;AAyFD,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,iBAAiB,GAAG,SAAS,CAiB/B;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,iBAAiB,GAAG,SAAS,CAmB/B;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAGT;AAED,wBAAgB,sCAAsC,CACrD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,+BAA+B,CA6BjC;AAED,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB;;;;;;EAmC/B;AAED,wBAAgB,yCAAyC,CAAC,OAAO,EAAE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,sBA2CA;AAsBD,wBAAgB,wCAAwC,CACvD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,uCA8B/B;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,uCA2D/B"}
1
+ {"version":3,"file":"anthropic-compatible.d.ts","sourceRoot":"","sources":["../../../src/providers/routing/anthropic-compatible.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,MAAM,eAAe,CAAC;AAcvB,MAAM,MAAM,+BAA+B,GACxC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAoDlC,eAAO,MAAM,0BAA0B,yBAAmC,CAAC;AAE3E,eAAO,MAAM,2BAA2B,yBAGtC,CAAC;AAEH,eAAO,MAAM,yCAAyC,yBAGnD,CAAC;AAEJ,wBAAgB,gCAAgC,CAC/C,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,OAAO,2BAgBzB;AAED,wBAAgB,8BAA8B,CAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,OAAO,GACvB,IAAI,CA2DN;AAED,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAET;AAyFD,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,iBAAiB,GAAG,SAAS,CAiB/B;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,iBAAiB,GAAG,SAAS,CAmB/B;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAGT;AAED,wBAAgB,sCAAsC,CACrD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,+BAA+B,CAoCjC;AAED,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB;;;;;;EAmC/B;AAED,wBAAgB,yCAAyC,CAAC,OAAO,EAAE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,sBA2CA;AAsBD,wBAAgB,wCAAwC,CACvD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,uCA8B/B;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,uCA2D/B"}
@@ -0,0 +1,26 @@
1
+ import type { GatewayModelRoute, GatewayProviderContext, GatewayProviderMetadata, GatewayStreamRequest } from "@cline/shared";
2
+ /**
3
+ * Bedrock's Converse API expresses prompt-cache checkpoints as dedicated
4
+ * `cachePoint` content blocks. `@ai-sdk/amazon-bedrock` only emits them from
5
+ * `providerOptions.bedrock.cachePoint` markers and silently drops the
6
+ * Anthropic `cache_control` dialect, so Bedrock needs its own prompt-cache
7
+ * wire format.
8
+ */
9
+ export declare const BEDROCK_ROUTING_METADATA: GatewayProviderMetadata;
10
+ export declare function resolveBedrockCachePointRoute(request: GatewayStreamRequest, context: GatewayProviderContext): GatewayModelRoute | undefined;
11
+ export declare function shouldApplyBedrockCachePoint(request: GatewayStreamRequest, context: GatewayProviderContext): boolean;
12
+ export declare function createBedrockCachePointProviderOptions(): {
13
+ bedrock: {
14
+ cachePoint: {
15
+ type: "default";
16
+ };
17
+ };
18
+ };
19
+ /**
20
+ * Attach a message-level cache-point marker to the last user message. The
21
+ * Bedrock message converter appends the `cachePoint` block after that
22
+ * message's content, caching the whole prefix (tools, system, and history)
23
+ * up to it — mirroring the Anthropic writer's checkpoint placement.
24
+ */
25
+ export declare function applyBedrockCachePointToLastUserMessage(messages: Array<Record<string, unknown>>): void;
26
+ //# sourceMappingURL=bedrock-cache-point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-cache-point.d.ts","sourceRoot":"","sources":["../../../src/providers/routing/bedrock-cache-point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AAGvB;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,uBAWtC,CAAC;AAEF,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,iBAAiB,GAAG,SAAS,CAa/B;AAED,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAET;AAED,wBAAgB,sCAAsC;;;;;;EAIrD;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACtD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,IAAI,CAYN"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-option-rules.d.ts","sourceRoot":"","sources":["../../../src/providers/routing/provider-option-rules.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AAijBjB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,kBAAkB,CAsBnE,CAAC;AAEF,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,EACxC,KAAK,EAAE,wBAAwB,GAC7B,KAAK,CAAC,yBAAyB,CAAC,CAQlC;AAED,wBAAgB,iCAAiC,CAChD,YAAY,EAAE,aAAa,CAAC,yBAAyB,CAAC,GACpD,yBAAyB,CAc3B;AAED,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,aAAa,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,wBAAwB,GAC7B,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAEzC"}
1
+ {"version":3,"file":"provider-option-rules.d.ts","sourceRoot":"","sources":["../../../src/providers/routing/provider-option-rules.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,SAAS,CAAC;AAgkBjB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,kBAAkB,CAsBnE,CAAC;AAEF,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,EACxC,KAAK,EAAE,wBAAwB,GAC7B,KAAK,CAAC,yBAAyB,CAAC,CAQlC;AAED,wBAAgB,iCAAiC,CAChD,YAAY,EAAE,aAAa,CAAC,yBAAyB,CAAC,GACpD,yBAAyB,CAc3B;AAED,wBAAgB,8BAA8B,CAC7C,YAAY,EAAE,aAAa,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,wBAAwB,GAC7B,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAEzC"}
@@ -1,4 +1,24 @@
1
1
  import type { GatewayResolvedProviderConfig } from "@cline/shared";
2
2
  import type { ProviderFactoryResult } from "./types";
3
+ interface BedrockModelIdOptions {
4
+ region?: string;
5
+ useCrossRegionInference?: boolean;
6
+ useGlobalInference?: boolean;
7
+ /** Catalog membership probe; overridable in tests. */
8
+ hasCatalogModel?: (modelId: string) => boolean;
9
+ }
10
+ /**
11
+ * Resolves the model id sent to Bedrock, prepending a geo inference-profile
12
+ * prefix derived from the configured AWS region when required.
13
+ *
14
+ * Ids that are already profile-prefixed and ARNs (provisioned throughput,
15
+ * imported/custom models, application inference profiles) are always passed
16
+ * through unmodified. Ids without a known matching profile are kept raw
17
+ * rather than manufacturing a profile id that may not exist — AWS's
18
+ * on-demand error is more actionable than "provided model identifier is
19
+ * invalid".
20
+ */
21
+ export declare function resolveBedrockModelId(modelId: string, options: BedrockModelIdOptions): string;
3
22
  export declare function createBedrockProviderModule(config: GatewayResolvedProviderConfig): Promise<ProviderFactoryResult>;
23
+ export {};
4
24
  //# sourceMappingURL=bedrock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/bedrock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAsBrD,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAmDhC"}
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/bedrock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA4ErD,UAAU,qBAAqB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC5B,MAAM,CAsCR;AAmCD,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA6DhC"}
@@ -1,5 +1,5 @@
1
- import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
1
+ import type { LanguageModelV4Middleware } from "@ai-sdk/provider";
2
2
  export declare const MINIMAX_THINKING_DISABLED_HEADER = "x-cline-minimax-thinking-disabled";
3
- export declare const miniMaxThinkingDisabledMiddleware: LanguageModelV3Middleware;
3
+ export declare const miniMaxThinkingDisabledMiddleware: LanguageModelV4Middleware;
4
4
  export declare function createMiniMaxThinkingFetch(baseFetch?: typeof fetch): typeof fetch;
5
5
  //# sourceMappingURL=minimax-thinking.d.ts.map
@@ -1,23 +1,14 @@
1
1
  import type { GatewayProviderContext, GatewayResolvedProviderConfig } from "@cline/shared";
2
2
  import type { ProviderFactoryResult } from "./types";
3
- /** See {@link OLLAMA_DEFAULT_CONTEXT_WINDOW} — re-exported under the wire-format name. */
4
- export declare const OLLAMA_DEFAULT_NUM_CTX = 32768;
5
3
  /**
6
- * Normalize a configured base URL to the origin the `ollama` client expects
7
- * as its `host` (the client appends `/api/...` itself).
4
+ * Normalize a configured base URL to the native Ollama API root expected by
5
+ * the provider (it appends endpoint paths such as `/chat`).
8
6
  *
9
7
  * Users configure hosts like `http://localhost:11434` or
10
8
  * `https://ollama.com`; configs saved by the 4.0.0 OpenAI-compatible
11
9
  * routing may carry a `/v1` suffix, and native-API configs an `/api` one.
12
10
  */
13
11
  export declare function normalizeOllamaBaseUrl(baseUrl: string | undefined): string | undefined;
14
- /**
15
- * Resolve the `num_ctx` to request from the resolved model's context window.
16
- * `num_ctx` stays an Ollama wire-format detail: callers express intent through
17
- * the provider-neutral model `contextWindow` (from the model catalog or the
18
- * user's configured context window), and this boundary maps it onto the wire.
19
- */
20
- export declare function readOllamaNumCtx(context: GatewayProviderContext): number;
21
12
  /**
22
13
  * Time to wait for the response to start when no timeout is configured.
23
14
  *
@@ -47,5 +38,5 @@ export declare function readOllamaTimeoutMs(config: GatewayResolvedProviderConfi
47
38
  * against a timeout rather than bounding the whole generation.
48
39
  */
49
40
  export declare function withOllamaResponseTimeout(baseFetch: typeof fetch, timeoutMs: number): typeof fetch;
50
- export declare function createOllamaProviderModule(config: GatewayResolvedProviderConfig, context: GatewayProviderContext): Promise<ProviderFactoryResult>;
41
+ export declare function createOllamaProviderModule(config: GatewayResolvedProviderConfig, _context: GatewayProviderContext): Promise<ProviderFactoryResult>;
51
42
  //# sourceMappingURL=ollama.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/ollama.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,QAAgC,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAMpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAMxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,6BAA6B,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,OAAO,KAAK,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,KAAK,CAyBd;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiChC"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/ollama.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAcvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAMpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,6BAA6B,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,OAAO,KAAK,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,KAAK,CAyBd;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,QAAQ,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAkChC"}
@@ -1,4 +1,15 @@
1
1
  import type { GatewayProviderContext, GatewayResolvedProviderConfig } from "@cline/shared";
2
2
  import type { ProviderFactoryResult } from "./types";
3
+ /**
4
+ * OpenAI's chat-completions API rejects `max_tokens` for reasoning-era
5
+ * models ("Unsupported parameter: 'max_tokens' is not supported with this
6
+ * model. Use 'max_completion_tokens' instead."). Rename the parameter only
7
+ * for model ids that require it: OpenAI, Azure OpenAI, and the major
8
+ * OpenAI-compatible gateways (OpenRouter, LiteLLM) all accept
9
+ * `max_completion_tokens`, while older third-party servers that only know
10
+ * `max_tokens` do not serve o-series/gpt-5 model ids — so every other
11
+ * request keeps its exact current wire format.
12
+ */
13
+ export declare function withMaxCompletionTokensForReasoningModels(body: Record<string, unknown>): Record<string, unknown>;
3
14
  export declare function createOpenAICompatibleProviderModule(config: GatewayResolvedProviderConfig, context: GatewayProviderContext): Promise<ProviderFactoryResult>;
4
15
  //# sourceMappingURL=openai-compatible.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/openai-compatible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAiGrD,wBAAsB,oCAAoC,CACzD,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CA0ChC"}
1
+ {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/openai-compatible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAKvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAiGrD;;;;;;;;;GASG;AACH,wBAAgB,yCAAyC,CACxD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAED,wBAAsB,oCAAoC,CACzD,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CA2ChC"}
@@ -1,7 +1,18 @@
1
1
  import type { GatewayProviderContext, GatewayStreamRequest } from "@cline/shared";
2
2
  import type { CallSettings } from "ai";
3
+ import type { RetryEmptyResponseOptions } from "../middleware/retry-empty-response";
3
4
  export interface ProviderFactoryResult {
4
5
  model: (modelId: string) => unknown;
6
+ /**
7
+ * Policy for the gateway-level empty-response retry. Every vendor model
8
+ * is wrapped with `createRetryEmptyResponseMiddleware` at the central
9
+ * composition point in `ai-sdk.ts` (an all-empty turn — no text, no
10
+ * reasoning, no tool call — otherwise hard-fails the task with "Model
11
+ * returned empty response"). Set `false` to opt a vendor out, or provide
12
+ * options to tune attempts/delay without forking the middleware. Leave
13
+ * unset for the defaults.
14
+ */
15
+ retryEmptyResponses?: false | Omit<RetryEmptyResponseOptions, "logger">;
5
16
  buildStreamConfig?: (request: GatewayStreamRequest, context: GatewayProviderContext) => Partial<CallSettings>;
6
17
  }
7
18
  export interface AiSdkStreamPart {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/types.ts"],"names":[],"mappings":"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"}