@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.
- package/README.md +1 -7
- package/dist/api/embedText.d.ts +9 -4
- package/dist/api/embedText.d.ts.map +1 -1
- package/dist/api/embedText.js +114 -8
- package/dist/api/embedText.js.map +1 -1
- package/dist/api/generateText.d.ts +57 -1
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +56 -14
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
- package/dist/api/runtime/provider-defaults.js +6 -2
- package/dist/api/runtime/provider-defaults.js.map +1 -1
- package/dist/api/sessionTranscript.d.ts +6 -0
- package/dist/api/sessionTranscript.d.ts.map +1 -1
- package/dist/api/sessionTranscript.js.map +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +9 -6
- package/dist/api/streamText.js.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.js +2 -0
- package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
- package/dist/cognition/substrate/GMI.d.ts.map +1 -1
- package/dist/cognition/substrate/GMI.js +3 -1
- package/dist/cognition/substrate/GMI.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +5 -0
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/core/llm/PromptEngine.d.ts.map +1 -1
- package/dist/core/llm/PromptEngine.js +1 -0
- package/dist/core/llm/PromptEngine.js.map +1 -1
- package/dist/core/llm/providers/IProvider.d.ts +9 -0
- package/dist/core/llm/providers/IProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts +11 -0
- package/dist/core/llm/providers/errors/GeminiProviderError.d.ts.map +1 -1
- package/dist/core/llm/providers/errors/GeminiProviderError.js.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +27 -6
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +78 -15
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +70 -7
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIBridge.js +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +56 -4
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +22 -5
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.js +512 -48
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +61 -0
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +164 -22
- package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js +6 -2
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts +32 -15
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.js +33 -16
- package/dist/core/llm/providers/model-forced-tool-choice.js.map +1 -1
- package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -1
- package/dist/core/llm/streaming/StreamingBatcher.js +3 -0
- package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -1
- package/dist/core/llm/streaming/StreamingReconstructor.d.ts +2 -0
- package/dist/core/llm/streaming/StreamingReconstructor.d.ts.map +1 -1
- package/dist/core/llm/streaming/StreamingReconstructor.js +12 -1
- package/dist/core/llm/streaming/StreamingReconstructor.js.map +1 -1
- package/dist/io/vision/providers/LLMVisionProvider.d.ts +2 -2
- package/dist/io/vision/providers/LLMVisionProvider.js +1 -1
- package/dist/io/vision/types.d.ts +1 -1
- package/dist/orchestration/pipeline/query/types.d.ts.map +1 -1
- package/dist/orchestration/pipeline/query/types.js +3 -2
- package/dist/orchestration/pipeline/query/types.js.map +1 -1
- package/dist/orchestration/planning/ProviderAssignmentEngine.d.ts.map +1 -1
- package/dist/orchestration/planning/ProviderAssignmentEngine.js +2 -1
- package/dist/orchestration/planning/ProviderAssignmentEngine.js.map +1 -1
- 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
|
|
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
|
package/dist/api/embedText.d.ts
CHANGED
|
@@ -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,
|
|
104
|
-
* OpenRouter). Returns raw float arrays suitable for vector
|
|
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":"
|
|
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"}
|
package/dist/api/embedText.js
CHANGED
|
@@ -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
|
|
6
|
-
* endpoints using the same provider resolution pipeline as
|
|
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,
|
|
91
|
-
* OpenRouter). Returns raw float arrays suitable for vector
|
|
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
|
|
179
|
-
totalTokens: result.usage
|
|
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":"AAAA
|
|
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-
|
|
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":"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;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;;;;;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,
|
|
1
|
+
{"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/api/generateText.ts"],"names":[],"mappings":"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"}
|
package/dist/api/generateText.js
CHANGED
|
@@ -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-
|
|
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
|
-
|
|
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
|
|
1419
|
-
//
|
|
1420
|
-
//
|
|
1421
|
-
//
|
|
1422
|
-
//
|
|
1423
|
-
|
|
1424
|
-
//
|
|
1425
|
-
//
|
|
1426
|
-
//
|
|
1427
|
-
//
|
|
1428
|
-
//
|
|
1429
|
-
...(
|
|
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,
|