@framers/agentos 0.10.20 → 0.10.22

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 (79) hide show
  1. package/README.md +1 -7
  2. package/dist/api/embedText.d.ts +9 -4
  3. package/dist/api/embedText.d.ts.map +1 -1
  4. package/dist/api/embedText.js +114 -8
  5. package/dist/api/embedText.js.map +1 -1
  6. package/dist/api/generateText.d.ts +57 -1
  7. package/dist/api/generateText.d.ts.map +1 -1
  8. package/dist/api/generateText.js +56 -14
  9. package/dist/api/generateText.js.map +1 -1
  10. package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
  11. package/dist/api/runtime/provider-defaults.js +6 -2
  12. package/dist/api/runtime/provider-defaults.js.map +1 -1
  13. package/dist/api/sessionTranscript.d.ts +6 -0
  14. package/dist/api/sessionTranscript.d.ts.map +1 -1
  15. package/dist/api/sessionTranscript.js.map +1 -1
  16. package/dist/api/streamText.d.ts.map +1 -1
  17. package/dist/api/streamText.js +9 -6
  18. package/dist/api/streamText.js.map +1 -1
  19. package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
  20. package/dist/cognition/substrate/ConversationHistoryManager.js +2 -0
  21. package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
  22. package/dist/cognition/substrate/GMI.d.ts.map +1 -1
  23. package/dist/cognition/substrate/GMI.js +3 -1
  24. package/dist/cognition/substrate/GMI.js.map +1 -1
  25. package/dist/cognition/substrate/IGMI.d.ts +5 -0
  26. package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
  27. package/dist/cognition/substrate/IGMI.js.map +1 -1
  28. package/dist/core/llm/PromptEngine.d.ts.map +1 -1
  29. package/dist/core/llm/PromptEngine.js +1 -0
  30. package/dist/core/llm/PromptEngine.js.map +1 -1
  31. package/dist/core/llm/providers/IProvider.d.ts +9 -0
  32. package/dist/core/llm/providers/IProvider.d.ts.map +1 -1
  33. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +11 -0
  34. package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -1
  35. package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -1
  36. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +27 -6
  37. package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -1
  38. package/dist/core/llm/providers/implementations/AnthropicProvider.js +78 -15
  39. package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -1
  40. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts +1 -1
  41. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -1
  42. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +70 -7
  43. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -1
  44. package/dist/core/llm/providers/implementations/GeminiCLIBridge.js +1 -1
  45. package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -1
  46. package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +56 -4
  47. package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -1
  48. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +22 -5
  49. package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -1
  50. package/dist/core/llm/providers/implementations/GeminiProvider.js +512 -48
  51. package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -1
  52. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +61 -0
  53. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
  54. package/dist/core/llm/providers/implementations/OpenAIProvider.js +164 -22
  55. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
  56. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -1
  57. package/dist/core/llm/providers/implementations/OpenRouterProvider.js +6 -2
  58. package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
  59. package/dist/core/llm/providers/model-forced-tool-choice.d.ts +32 -15
  60. package/dist/core/llm/providers/model-forced-tool-choice.d.ts.map +1 -1
  61. package/dist/core/llm/providers/model-forced-tool-choice.js +33 -16
  62. package/dist/core/llm/providers/model-forced-tool-choice.js.map +1 -1
  63. package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -1
  64. package/dist/core/llm/streaming/StreamingBatcher.js +3 -0
  65. package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -1
  66. package/dist/core/llm/streaming/StreamingReconstructor.d.ts +2 -0
  67. package/dist/core/llm/streaming/StreamingReconstructor.d.ts.map +1 -1
  68. package/dist/core/llm/streaming/StreamingReconstructor.js +12 -1
  69. package/dist/core/llm/streaming/StreamingReconstructor.js.map +1 -1
  70. package/dist/io/vision/providers/LLMVisionProvider.d.ts +2 -2
  71. package/dist/io/vision/providers/LLMVisionProvider.js +1 -1
  72. package/dist/io/vision/types.d.ts +1 -1
  73. package/dist/orchestration/pipeline/query/types.d.ts.map +1 -1
  74. package/dist/orchestration/pipeline/query/types.js +3 -2
  75. package/dist/orchestration/pipeline/query/types.js.map +1 -1
  76. package/dist/orchestration/planning/ProviderAssignmentEngine.d.ts.map +1 -1
  77. package/dist/orchestration/planning/ProviderAssignmentEngine.js +2 -1
  78. package/dist/orchestration/planning/ProviderAssignmentEngine.js.map +1 -1
  79. package/package.json +1 -1
package/README.md CHANGED
@@ -78,20 +78,14 @@ await session.send('Can you expand on that?'); // remembers context
78
78
 
79
79
  [Full quickstart](https://docs.agentos.sh/getting-started) * [Examples cookbook](https://docs.agentos.sh/getting-started/examples) * [API reference](https://docs.agentos.sh/api)
80
80
 
81
- **Sessions in 0.10.** Sessions carry a lossless conversation transcript — assistant tool calls, tool results, thinking blocks — independent of the memory subsystem, bounded by default (whole-block eviction past a ~120K-token estimate). `memory: false` no longer makes a session stateless; pass `history: false` for that. Long tool-driving loops get `session.reseed(snapshot)` (atomic history replacement with in-flight epoch guarding), `session.messages()` as checkpoint material, and per-send generation overrides (`toolChoice`, `requestTimeout`, `cache`, `cacheDiagnostics`, `blockLabel`):
81
+ **Sessions.** A session keeps the whole conversation, including tool calls and their results, whether memory is on or off. History is capped at about 120K tokens by default. Set `history: false` for a stateless session, set `history: { maxTokens }` to change the cap, and call `reseed()` to replace the history with a shorter set of messages you build yourself.
82
82
 
83
83
  ```ts
84
- // Before 0.10 — stateless unless memory was on:
85
- const s = agent({ model, memory: false }).session('job-1'); // kept no history
86
-
87
- // 0.10 — sessions remember by default; opt out explicitly:
88
84
  const stateless = agent({ model, memory: false, history: false }).session('job-1');
89
85
  const bounded = agent({ model, history: { maxTokens: 60_000 } }).session('job-2');
90
86
  bounded.reseed([{ role: 'user', content: 'compact resume snapshot' }]);
91
87
  ```
92
88
 
93
- Cache note: history byte-stability holds for the stored transcript between eviction events; the wire request can still legitimately differ when dynamic memory context or message-mutating hooks inject per-call content.
94
-
95
89
  ---
96
90
 
97
91
  ## Emergent Design
@@ -22,7 +22,7 @@ export interface EmbedTextOptions {
22
22
  * Provider name. When supplied without `model`, the default embedding model
23
23
  * for the provider is resolved automatically from the built-in defaults.
24
24
  *
25
- * @example `"openai"`, `"ollama"`, `"openrouter"`
25
+ * @example `"openai"`, `"ollama"`, `"openrouter"`, `"gemini"`
26
26
  */
27
27
  provider?: string;
28
28
  /**
@@ -93,6 +93,11 @@ export interface EmbedTextResult {
93
93
  promptTokens: number;
94
94
  /** Sum of prompt and any other tokens (usually equal to `promptTokens`). */
95
95
  totalTokens: number;
96
+ /**
97
+ * Cost in USD when the provider prices the call itself (Gemini embedding
98
+ * models with a catalog price). Absent when the provider reports none.
99
+ */
100
+ costUSD?: number;
96
101
  };
97
102
  }
98
103
  /**
@@ -100,9 +105,9 @@ export interface EmbedTextResult {
100
105
  * provider-agnostic `provider:model` string.
101
106
  *
102
107
  * Resolves credentials via the standard AgentOS provider pipeline, then
103
- * dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
104
- * OpenRouter). Returns raw float arrays suitable for vector similarity
105
- * search, clustering, or any downstream ML pipeline.
108
+ * dispatches to the appropriate embedding endpoint (OpenAI, Ollama,
109
+ * OpenRouter or Gemini). Returns raw float arrays suitable for vector
110
+ * similarity search, clustering, or any downstream ML pipeline.
106
111
  *
107
112
  * @param opts - Embedding options including model, input text(s), and
108
113
  * optional provider/key overrides.
@@ -1 +1 @@
1
- {"version":3,"file":"embedText.d.ts","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAO9F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,EAAE;QACL,sDAAsD;QACtD,YAAY,EAAE,MAAM,CAAC;QACrB,4EAA4E;QAC5E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAsID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuIhF"}
1
+ {"version":3,"file":"embedText.d.ts","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAO9F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IAEvB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,EAAE;QACL,sDAAsD;QACtD,YAAY,EAAE,MAAM,CAAC;QACrB,4EAA4E;QAC5E,WAAW,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAmMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqLhF"}
@@ -2,8 +2,9 @@
2
2
  * @file embedText.ts
3
3
  * Provider-agnostic text embedding generation for the AgentOS high-level API.
4
4
  *
5
- * Dispatches embedding requests to OpenAI-compatible, Ollama, or OpenRouter
6
- * endpoints using the same provider resolution pipeline as {@link generateText}.
5
+ * Dispatches embedding requests to OpenAI-compatible, Ollama, OpenRouter, or
6
+ * Gemini endpoints using the same provider resolution pipeline as
7
+ * {@link generateText}.
7
8
  * Supports single and batch text inputs, optional dimensionality reduction,
8
9
  * and returns raw float vectors.
9
10
  *
@@ -11,6 +12,9 @@
11
12
  * @see {@link resolveModelOption} for model resolution with `TaskType = 'embedding'`.
12
13
  */
13
14
  import { resolveModelOption, resolveProvider } from './model.js';
15
+ import { GeminiProvider } from '../core/llm/providers/implementations/GeminiProvider.js';
16
+ import { GeminiProviderError } from '../core/llm/providers/errors/GeminiProviderError.js';
17
+ import { getDefaultProvider } from './runtime/global-default.js';
14
18
  import { attachGenAiAttributes, attachUsageAttributes, toTurnMetricUsage } from './observability.js';
15
19
  import { recordAgentOSUsage } from './runtime/usageLedger.js';
16
20
  import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../safety/evaluation/observability/otel.js';
@@ -82,14 +86,73 @@ async function callOllamaEmbed(baseUrl, modelId, input) {
82
86
  // ---------------------------------------------------------------------------
83
87
  // Main function
84
88
  // ---------------------------------------------------------------------------
89
+ /**
90
+ * Embedding model used when Gemini is the effective provider and no embedding
91
+ * model is named. It is applied here and kept out of the shared provider
92
+ * defaults: those defaults also decide embedding auto-detection, where Gemini
93
+ * comes before Ollama, so a registry entry would silently move a caller who
94
+ * has a Gemini key and embeds through Ollama onto a different vector space.
95
+ */
96
+ const GEMINI_DEFAULT_EMBEDDING_MODEL = 'gemini-embedding-2';
97
+ /**
98
+ * Whether a `gemini` embedding call should use Gemini's native
99
+ * batchEmbedContents protocol: with no base URL (GeminiProvider's default
100
+ * endpoint) or with Google's own native endpoint. Any other base URL, such as
101
+ * an OpenAI-compatible gateway or Google's OpenAI-compatible surface (a path
102
+ * ending in `/openai`), keeps the OpenAI-style `/embeddings` route with bearer
103
+ * auth that those endpoints serve.
104
+ *
105
+ * @param baseUrl Resolved base URL, if any.
106
+ * @returns True when the native Gemini protocol applies.
107
+ */
108
+ function usesNativeGeminiEmbeddings(baseUrl) {
109
+ if (baseUrl === undefined)
110
+ return true;
111
+ let url;
112
+ try {
113
+ url = new URL(baseUrl);
114
+ }
115
+ catch {
116
+ return false;
117
+ }
118
+ return url.hostname === 'generativelanguage.googleapis.com' && !/\/openai\/*$/.test(url.pathname);
119
+ }
120
+ /**
121
+ * Applies {@link GEMINI_DEFAULT_EMBEDDING_MODEL} when the effective provider is
122
+ * Gemini and no embedding model is named: `provider: 'gemini'` inline without a
123
+ * model, or a global default provider of `gemini` (set with
124
+ * `setDefaultProvider`). A global default's model is kept only when it is an
125
+ * embedding model. It is normally the chat model `generateText` uses, and
126
+ * Gemini's embedding endpoint rejects a chat model. The global default applies
127
+ * only when neither provider nor model is inline, as in `resolveModelOption`.
128
+ *
129
+ * @param opts Caller options.
130
+ * @returns Options with the Gemini embedding model filled in where needed.
131
+ */
132
+ function withGeminiEmbeddingDefault(opts) {
133
+ if (opts.model)
134
+ return opts;
135
+ if (opts.provider) {
136
+ return opts.provider === 'gemini' ? { ...opts, model: GEMINI_DEFAULT_EMBEDDING_MODEL } : opts;
137
+ }
138
+ const globalDefault = getDefaultProvider();
139
+ if (globalDefault?.provider !== 'gemini')
140
+ return opts;
141
+ const globalModel = globalDefault.model;
142
+ return {
143
+ ...opts,
144
+ provider: 'gemini',
145
+ model: globalModel && /embedding/i.test(globalModel) ? globalModel : GEMINI_DEFAULT_EMBEDDING_MODEL,
146
+ };
147
+ }
85
148
  /**
86
149
  * Generates embedding vectors for one or more text inputs using a
87
150
  * provider-agnostic `provider:model` string.
88
151
  *
89
152
  * Resolves credentials via the standard AgentOS provider pipeline, then
90
- * dispatches to the appropriate embedding endpoint (OpenAI, Ollama, or
91
- * OpenRouter). Returns raw float arrays suitable for vector similarity
92
- * search, clustering, or any downstream ML pipeline.
153
+ * dispatches to the appropriate embedding endpoint (OpenAI, Ollama,
154
+ * OpenRouter or Gemini). Returns raw float arrays suitable for vector
155
+ * similarity search, clustering, or any downstream ML pipeline.
93
156
  *
94
157
  * @param opts - Embedding options including model, input text(s), and
95
158
  * optional provider/key overrides.
@@ -136,7 +199,7 @@ export async function embedText(opts) {
136
199
  return await withAgentOSSpan('agentos.api.embed_text', async (span) => {
137
200
  // Resolve provider/model using the 'embedding' task type so the
138
201
  // correct default model is selected (e.g. text-embedding-3-small).
139
- const { providerId, modelId } = resolveModelOption(opts, 'embedding');
202
+ const { providerId, modelId } = resolveModelOption(withGeminiEmbeddingDefault(opts), 'embedding');
140
203
  const resolved = resolveProvider(providerId, modelId, {
141
204
  apiKey: opts.apiKey,
142
205
  baseUrl: opts.baseUrl,
@@ -160,6 +223,44 @@ export async function embedText(opts) {
160
223
  // Ollama doesn't report token usage for embeddings
161
224
  usage = { promptTokens: 0, totalTokens: 0 };
162
225
  }
226
+ else if (resolved.providerId === 'gemini' && usesNativeGeminiEmbeddings(resolved.baseUrl)) {
227
+ // Gemini's native API serves embeddings through batchEmbedContents,
228
+ // which GeminiProvider implements (including the API's limit of 100
229
+ // texts per call). A gateway or Google's OpenAI-compatible base URL
230
+ // takes the OpenAI-compatible branch below instead.
231
+ if (!resolved.apiKey) {
232
+ throw new Error('No API key available for embedding provider "gemini".');
233
+ }
234
+ const gemini = new GeminiProvider();
235
+ await gemini.initialize({
236
+ apiKey: resolved.apiKey,
237
+ ...(resolved.baseUrl ? { baseURL: resolved.baseUrl } : {}),
238
+ });
239
+ const result = await gemini
240
+ .generateEmbeddings(resolved.modelId, inputArray, opts.dimensions ? { dimensions: opts.dimensions } : undefined)
241
+ .catch((error) => {
242
+ // A batch that fails after earlier ones succeeded still leaves
243
+ // those billed; record their usage before the error propagates.
244
+ const partial = error instanceof GeminiProviderError ? error.partialUsage : undefined;
245
+ if (partial) {
246
+ metricUsage = {
247
+ promptTokens: partial.prompt_tokens,
248
+ totalTokens: partial.total_tokens,
249
+ ...(partial.costUSD !== undefined ? { costUSD: partial.costUSD } : {}),
250
+ };
251
+ }
252
+ throw error;
253
+ });
254
+ embeddings = [...result.data].sort((a, b) => a.index - b.index).map((d) => d.embedding);
255
+ reportedModel = result.model;
256
+ // gemini-embedding-2 reports prompt tokens, which GeminiProvider
257
+ // prices; gemini-embedding-001 reports none, so its calls count zero.
258
+ usage = {
259
+ promptTokens: result.usage.prompt_tokens,
260
+ totalTokens: result.usage.total_tokens,
261
+ ...(result.usage.costUSD !== undefined ? { costUSD: result.usage.costUSD } : {}),
262
+ };
263
+ }
163
264
  else {
164
265
  // OpenAI, OpenRouter, and any OpenAI-compatible provider
165
266
  const baseUrl = resolved.baseUrl ?? (resolved.providerId === 'openrouter'
@@ -174,9 +275,11 @@ export async function embedText(opts) {
174
275
  const sorted = [...result.data].sort((a, b) => a.index - b.index);
175
276
  embeddings = sorted.map((d) => d.embedding);
176
277
  reportedModel = result.model;
278
+ // Unreported usage counts as zero rather than failing a call
279
+ // that already returned vectors.
177
280
  usage = {
178
- promptTokens: result.usage.prompt_tokens,
179
- totalTokens: result.usage.total_tokens,
281
+ promptTokens: result.usage?.prompt_tokens ?? 0,
282
+ totalTokens: result.usage?.total_tokens ?? 0,
180
283
  };
181
284
  }
182
285
  metricUsage = usage;
@@ -184,6 +287,7 @@ export async function embedText(opts) {
184
287
  attachUsageAttributes(span, {
185
288
  promptTokens: usage.promptTokens,
186
289
  totalTokens: usage.totalTokens,
290
+ ...(usage.costUSD !== undefined ? { costUSD: usage.costUSD } : {}),
187
291
  });
188
292
  // GenAI semconv for the embeddings operation (queue item:
189
293
  // modality-aware operation names — embeddings input carries no
@@ -222,6 +326,7 @@ export async function embedText(opts) {
222
326
  promptTokens: metricUsage.promptTokens,
223
327
  completionTokens: 0,
224
328
  totalTokens: metricUsage.totalTokens,
329
+ ...(metricUsage.costUSD !== undefined ? { costUSD: metricUsage.costUSD } : {}),
225
330
  } : undefined,
226
331
  options: {
227
332
  ...opts.usageLedger,
@@ -239,6 +344,7 @@ export async function embedText(opts) {
239
344
  promptTokens: metricUsage.promptTokens,
240
345
  completionTokens: 0,
241
346
  totalTokens: metricUsage.totalTokens,
347
+ ...(metricUsage.costUSD !== undefined ? { costUSD: metricUsage.costUSD } : {}),
242
348
  } : undefined),
243
349
  });
244
350
  }
@@ -1 +1 @@
1
- {"version":3,"file":"embedText.js","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedText.js","sourceRoot":"","sources":["../../src/api/embedText.ts"],"names":[],"mappings":"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"}
@@ -187,6 +187,35 @@ export interface FallbackProviderEntry {
187
187
  cache?: {
188
188
  ttl?: '5m' | '1h';
189
189
  } | false;
190
+ /**
191
+ * Extra output tokens granted ONLY when THIS entry serves the call: the hop
192
+ * runs with `maxTokens = <the original call's maxTokens> + headroom`. For
193
+ * models whose hidden reasoning shares the output cap. Every current Gemini
194
+ * 3.x model thinks, and its thinking tokens count against
195
+ * `maxOutputTokens`; a rescue hop inherits a budget sized for the primary,
196
+ * and without room for the thinking the visible reply comes back cut short
197
+ * or empty (measured 2026-09-30: `gemini-3.1-pro-preview` at 400 tokens
198
+ * spent 382 thinking and returned 60 characters).
199
+ *
200
+ * Ignored when the call set no `maxTokens`. Never compounds: every hop is
201
+ * granted its own headroom over the ORIGINAL budget, and an entry without
202
+ * headroom runs at the original.
203
+ */
204
+ maxTokensHeadroom?: number;
205
+ }
206
+ /**
207
+ * The original call's values for the options a fallback entry can override,
208
+ * carried down the fallback recursion so every hop's overrides are computed
209
+ * over the ORIGINAL call and never over the previous hop.
210
+ *
211
+ * @internal
212
+ */
213
+ export interface FallbackHopBase {
214
+ maxTokens?: number;
215
+ effort?: string;
216
+ cache?: {
217
+ ttl?: '5m' | '1h';
218
+ } | false;
190
219
  }
191
220
  /**
192
221
  * A structured block of system prompt content with optional cache breakpoint.
@@ -514,6 +543,16 @@ export interface GenerateTextOptions {
514
543
  * @internal
515
544
  */
516
545
  __fallbackDepth?: number;
546
+ /**
547
+ * Internal — DO NOT set from application code. The outermost call's
548
+ * `maxTokens`, `effort` and `cache`, threaded into the provider-fallback
549
+ * recursion so a hop's per-entry overrides (see
550
+ * {@link fallbackHopOverrides}) apply to that hop alone. Absent on a
551
+ * top-level call, where the call's own values are the base.
552
+ *
553
+ * @internal
554
+ */
555
+ __hopBase?: FallbackHopBase;
517
556
  /**
518
557
  * Optional model router for intelligent provider/model selection.
519
558
  * When provided, the router's `selectModel()` is called before provider
@@ -861,7 +900,7 @@ export declare function isRetryableError(error: unknown): boolean;
861
900
  * 1. OpenAI (`gpt-5.6-sol`)
862
901
  * 2. Anthropic (`claude-sonnet-5`)
863
902
  * 3. OpenRouter (`openai/gpt-5.6-sol`)
864
- * 4. Gemini (`gemini-2.5-flash`)
903
+ * 4. Gemini (`gemini-3.1-pro-preview`)
865
904
  *
866
905
  * @param excludeProvider - Provider to omit from the chain (typically the
867
906
  * primary provider that already failed).
@@ -881,6 +920,23 @@ export declare function isRetryableError(error: unknown): boolean;
881
920
  * ```
882
921
  */
883
922
  export declare function buildFallbackChain(excludeProvider?: string): FallbackProviderEntry[];
923
+ /**
924
+ * The options a fallback hop runs with where its entry can override the
925
+ * call: `effort`, `cache` and the output budget. Each is the entry's own
926
+ * value when it has one and the ORIGINAL call's otherwise, with the original
927
+ * values carried along as `__hopBase` so a fallback of the fallback starts
928
+ * from them again. The budget is the original `maxTokens` plus the entry's
929
+ * {@link FallbackProviderEntry.maxTokensHeadroom}; a call without `maxTokens`
930
+ * stays uncapped. Shared by the `generateText` and `streamText` walkers.
931
+ */
932
+ export declare function fallbackHopOverrides(opts: Pick<GenerateTextOptions, 'maxTokens' | 'effort' | 'cache' | '__hopBase'>, entry: Pick<FallbackProviderEntry, 'effort' | 'cache' | 'maxTokensHeadroom'>): {
933
+ maxTokens: number | undefined;
934
+ effort: string | undefined;
935
+ cache: {
936
+ ttl?: '5m' | '1h';
937
+ } | false | undefined;
938
+ __hopBase: FallbackHopBase;
939
+ };
884
940
  /**
885
941
  * Build a policy-tier-aware fallback chain. Used by callers that pass
886
942
  * `policyTier: 'mature' | 'private-adult'` so refusals from the
@@ -1 +1 @@
1
- {"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"AAiBA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAwB,MAAM,wBAAwB,CAAC;AAG1E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoDpE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAS7D;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,0FAA0F;IAC1F,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAOtE;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qDAAqD;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;IACtC;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACvC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACzC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;IACnD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IACvD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;IACtC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG;QAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACnE;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC5C;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC9D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC/F;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC3F;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrF;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC;;;;;;OAMG;IACH,wCAAwC,CAAC,EAAE,MAAM,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,oCAAoC,EAAE,gBAAgB,CAAC;IAC1E;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,IAAI,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAChE;AAMD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAClD,gDAAgD;IAChD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,iCAAiC;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iYAKU,CAAC;AAE/C;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI3F;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE;IAAE,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,EAClE,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5C,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CA+E3B;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwC9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoCxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,CAAC,EAAE,MAAM,GACvB,qBAAqB,EAAE,CAgDzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,EAC/E,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,GAAG,OAAO,GAAG,mBAAmB,CAAC,GAC3E;IACD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK,GAAG,SAAS,CAAC;IACjD,SAAS,EAAE,eAAe,CAAC;CAC5B,CAgBA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,EAClE,eAAe,CAAC,EAAE,MAAM,GACvB,qBAAqB,EAAE,CA0CzB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAygCzF"}
@@ -370,7 +370,7 @@ export function isRetryableError(error) {
370
370
  * 1. OpenAI (`gpt-5.6-sol`)
371
371
  * 2. Anthropic (`claude-sonnet-5`)
372
372
  * 3. OpenRouter (`openai/gpt-5.6-sol`)
373
- * 4. Gemini (`gemini-2.5-flash`)
373
+ * 4. Gemini (`gemini-3.1-pro-preview`)
374
374
  *
375
375
  * @param excludeProvider - Provider to omit from the chain (typically the
376
376
  * primary provider that already failed).
@@ -415,10 +415,52 @@ export function buildFallbackChain(excludeProvider) {
415
415
  chain.push({ provider: 'openrouter', model: 'openai/gpt-5.6-sol', cache: false });
416
416
  }
417
417
  if (process.env.GEMINI_API_KEY && excludeProvider !== 'gemini') {
418
- chain.push({ provider: 'gemini', cache: false });
418
+ // Pinned at the pro tier, like every other leg: a model-less entry took
419
+ // the provider default (`gemini-2.5-flash`) and served a whole degraded
420
+ // run on a flash model (2026-09-29). `gemini-3.1-pro-preview` is the top
421
+ // pro model Google serves; if Google retires the preview id, the Gemini
422
+ // provider retries the request on its alias (`gemini-pro-latest`), so the
423
+ // leg keeps its tier.
424
+ //
425
+ // Gemini 3.x always thinks and the thinking shares the output cap, so
426
+ // the rescue hop gets bounded thinking (`effort: 'low'`, 380-470 tokens
427
+ // measured on the pro model) and the room for it on top of the caller's
428
+ // budget.
429
+ chain.push({
430
+ provider: 'gemini',
431
+ model: 'gemini-3.1-pro-preview',
432
+ cache: false,
433
+ effort: 'low',
434
+ maxTokensHeadroom: 1024,
435
+ });
419
436
  }
420
437
  return chain;
421
438
  }
439
+ /**
440
+ * The options a fallback hop runs with where its entry can override the
441
+ * call: `effort`, `cache` and the output budget. Each is the entry's own
442
+ * value when it has one and the ORIGINAL call's otherwise, with the original
443
+ * values carried along as `__hopBase` so a fallback of the fallback starts
444
+ * from them again. The budget is the original `maxTokens` plus the entry's
445
+ * {@link FallbackProviderEntry.maxTokensHeadroom}; a call without `maxTokens`
446
+ * stays uncapped. Shared by the `generateText` and `streamText` walkers.
447
+ */
448
+ export function fallbackHopOverrides(opts, entry) {
449
+ const base = opts.__hopBase ?? {
450
+ maxTokens: opts.maxTokens,
451
+ effort: opts.effort,
452
+ cache: opts.cache,
453
+ };
454
+ const headroom = typeof entry.maxTokensHeadroom === 'number' && entry.maxTokensHeadroom > 0
455
+ ? Math.floor(entry.maxTokensHeadroom)
456
+ : 0;
457
+ return {
458
+ maxTokens: typeof base.maxTokens === 'number' ? base.maxTokens + headroom : base.maxTokens,
459
+ effort: entry.effort !== undefined ? entry.effort : base.effort,
460
+ cache: entry.cache !== undefined ? entry.cache : base.cache,
461
+ __hopBase: base,
462
+ };
463
+ }
422
464
  /**
423
465
  * Build a policy-tier-aware fallback chain. Used by callers that pass
424
466
  * `policyTier: 'mature' | 'private-adult'` so refusals from the
@@ -1415,18 +1457,18 @@ export async function generateText(opts) {
1415
1457
  // Stamp the leg's observer events with its hop depth (see
1416
1458
  // LlmUsageEvent.fallbackDepth).
1417
1459
  __fallbackDepth: (opts.__fallbackDepth ?? 0) + 1,
1418
- // Per-hop effort: when this fallback entry sets `effort`, it
1419
- // overrides the call-level effort for THIS hop only (the spread
1420
- // above carries opts.effort; an entry without `effort` inherits it).
1421
- // Lets an explicit chain run the fallback at a higher depth than the
1422
- // primary without changing the primary call's effort.
1423
- ...(fb.effort !== undefined ? { effort: fb.effort } : {}),
1424
- // Per-hop cache: same override semantics as per-hop effort above.
1425
- // The canonical chains pin `cache: false` on their legs so a
1426
- // rescue hop sends zero cache_control (no write premium paid on
1427
- // one-shot failover traffic); an entry without `cache` inherits
1428
- // the call-level disposition via the `...opts` spread.
1429
- ...(fb.cache !== undefined ? { cache: fb.cache } : {}),
1460
+ // Per-hop effort, cache and output budget. An entry's `effort` /
1461
+ // `cache` override the call level for THIS hop only, and its
1462
+ // `maxTokensHeadroom` is added to the call's maxTokens; an entry
1463
+ // without one takes the ORIGINAL call's value — not the previous
1464
+ // hop's, which is what the `...opts` spread used to hand the next
1465
+ // entry when a hop failed and fell back again. Lets an explicit
1466
+ // chain run a fallback at a different depth than the primary
1467
+ // without changing the primary call's effort, and the canonical
1468
+ // chains pin `cache: false` on their legs so a rescue hop sends
1469
+ // zero cache_control (no write premium on one-shot failover
1470
+ // traffic).
1471
+ ...fallbackHopOverrides(opts, fb),
1430
1472
  // Clear explicit keys/URLs so resolution uses env vars for the
1431
1473
  // fallback provider rather than the primary's overrides.
1432
1474
  apiKey: undefined,