@framers/agentos 0.10.22 → 0.10.24
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 -1
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +3 -2
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +25 -10
- package/dist/api/agent.js.map +1 -1
- package/dist/api/embedText.d.ts.map +1 -1
- package/dist/api/embedText.js +53 -17
- package/dist/api/embedText.js.map +1 -1
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +51 -7
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateText.d.ts +50 -7
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +265 -35
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/model.d.ts +25 -1
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +108 -3
- package/dist/api/model.js.map +1 -1
- package/dist/api/runtime/SelfImprovementSessionManager.d.ts +34 -2
- package/dist/api/runtime/SelfImprovementSessionManager.d.ts.map +1 -1
- package/dist/api/runtime/SelfImprovementSessionManager.js +119 -33
- package/dist/api/runtime/SelfImprovementSessionManager.js.map +1 -1
- package/dist/api/runtime/global-default.d.ts +9 -1
- package/dist/api/runtime/global-default.d.ts.map +1 -1
- package/dist/api/runtime/global-default.js.map +1 -1
- package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
- package/dist/api/runtime/provider-defaults.js +10 -4
- package/dist/api/runtime/provider-defaults.js.map +1 -1
- package/dist/api/runtime/tool-emulation/history.d.ts +16 -0
- package/dist/api/runtime/tool-emulation/history.d.ts.map +1 -0
- package/dist/api/runtime/tool-emulation/history.js +89 -0
- package/dist/api/runtime/tool-emulation/history.js.map +1 -0
- package/dist/api/runtime/tool-emulation/index.d.ts +1 -0
- package/dist/api/runtime/tool-emulation/index.d.ts.map +1 -1
- package/dist/api/runtime/tool-emulation/index.js +1 -0
- package/dist/api/runtime/tool-emulation/index.js.map +1 -1
- package/dist/api/runtime/tool-emulation/loop.d.ts +6 -0
- package/dist/api/runtime/tool-emulation/loop.d.ts.map +1 -1
- package/dist/api/runtime/tool-emulation/loop.js +1 -0
- package/dist/api/runtime/tool-emulation/loop.js.map +1 -1
- package/dist/api/sessionTranscript.d.ts +34 -0
- package/dist/api/sessionTranscript.d.ts.map +1 -1
- package/dist/api/sessionTranscript.js +61 -1
- package/dist/api/sessionTranscript.js.map +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +120 -24
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/types/AgentOSInput.d.ts +11 -0
- package/dist/api/types/AgentOSInput.d.ts.map +1 -1
- package/dist/api/types.d.ts +14 -6
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/cognition/emergent/AdaptPersonalityTool.d.ts +13 -4
- package/dist/cognition/emergent/AdaptPersonalityTool.d.ts.map +1 -1
- package/dist/cognition/emergent/AdaptPersonalityTool.js +32 -23
- package/dist/cognition/emergent/AdaptPersonalityTool.js.map +1 -1
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +18 -6
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/cognition/emergent/SelfEvaluateTool.d.ts +10 -3
- package/dist/cognition/emergent/SelfEvaluateTool.d.ts.map +1 -1
- package/dist/cognition/emergent/SelfEvaluateTool.js +3 -2
- package/dist/cognition/emergent/SelfEvaluateTool.js.map +1 -1
- package/dist/cognition/substrate/CognitiveMemoryBridge.d.ts +51 -2
- package/dist/cognition/substrate/CognitiveMemoryBridge.d.ts.map +1 -1
- package/dist/cognition/substrate/CognitiveMemoryBridge.js +84 -2
- package/dist/cognition/substrate/CognitiveMemoryBridge.js.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts +8 -4
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.js +17 -5
- package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
- package/dist/cognition/substrate/GMI.d.ts +92 -5
- package/dist/cognition/substrate/GMI.d.ts.map +1 -1
- package/dist/cognition/substrate/GMI.js +291 -65
- package/dist/cognition/substrate/GMI.js.map +1 -1
- package/dist/cognition/substrate/GMIManager.d.ts +12 -0
- package/dist/cognition/substrate/GMIManager.d.ts.map +1 -1
- package/dist/cognition/substrate/GMIManager.js +22 -16
- package/dist/cognition/substrate/GMIManager.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +23 -0
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/cognition/substrate/MetapromptExecutor.d.ts +183 -28
- package/dist/cognition/substrate/MetapromptExecutor.d.ts.map +1 -1
- package/dist/cognition/substrate/MetapromptExecutor.js +431 -108
- package/dist/cognition/substrate/MetapromptExecutor.js.map +1 -1
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts +5 -0
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/PersonaValidation.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/PersonaValidation.js +30 -0
- package/dist/cognition/substrate/personas/PersonaValidation.js.map +1 -1
- package/dist/cognition/substrate/personas/SoulLoader.d.ts +14 -1
- package/dist/cognition/substrate/personas/SoulLoader.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/SoulLoader.js +45 -12
- package/dist/cognition/substrate/personas/SoulLoader.js.map +1 -1
- package/dist/cognition/substrate/personas/definitions/default_assistant_persona.json +3 -35
- package/dist/cognition/substrate/personas/hexaco.d.ts +34 -0
- package/dist/cognition/substrate/personas/hexaco.d.ts.map +1 -0
- package/dist/cognition/substrate/personas/hexaco.js +66 -0
- package/dist/cognition/substrate/personas/hexaco.js.map +1 -0
- package/dist/cognition/substrate/userFeedback.d.ts +69 -0
- package/dist/cognition/substrate/userFeedback.d.ts.map +1 -0
- package/dist/cognition/substrate/userFeedback.js +107 -0
- package/dist/cognition/substrate/userFeedback.js.map +1 -0
- package/dist/core/conversation/ConversationMessage.d.ts +9 -0
- package/dist/core/conversation/ConversationMessage.d.ts.map +1 -1
- package/dist/core/conversation/ConversationMessage.js.map +1 -1
- package/dist/core/llm/IPromptEngine.d.ts +9 -0
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/PromptEngine.d.ts +30 -1
- package/dist/core/llm/PromptEngine.d.ts.map +1 -1
- package/dist/core/llm/PromptEngine.js +229 -92
- package/dist/core/llm/PromptEngine.js.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +20 -0
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.js +35 -5
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
- package/dist/core/llm/providers/IProvider.d.ts +28 -8
- package/dist/core/llm/providers/IProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +135 -49
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +323 -114
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +15 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +51 -24
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +25 -6
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.js +108 -90
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts +11 -0
- package/dist/core/llm/providers/implementations/MistralProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/MistralProvider.js +32 -2
- package/dist/core/llm/providers/implementations/MistralProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OllamaProvider.js +7 -7
- package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +53 -2
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +84 -17
- 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 +8 -3
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts +3 -3
- package/dist/core/llm/providers/implementations/TogetherProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/TogetherProvider.js +25 -13
- package/dist/core/llm/providers/implementations/TogetherProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/cacheLeakDetector.d.ts +15 -7
- package/dist/core/llm/providers/implementations/cacheLeakDetector.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/cacheLeakDetector.js +12 -7
- package/dist/core/llm/providers/implementations/cacheLeakDetector.js.map +1 -1
- package/dist/core/llm/providers/model-cache-capabilities.d.ts +24 -9
- package/dist/core/llm/providers/model-cache-capabilities.d.ts.map +1 -1
- package/dist/core/llm/providers/model-cache-capabilities.js +59 -44
- package/dist/core/llm/providers/model-cache-capabilities.js.map +1 -1
- package/dist/core/llm/providers/model-effort.d.ts +14 -0
- package/dist/core/llm/providers/model-effort.d.ts.map +1 -1
- package/dist/core/llm/providers/model-effort.js +22 -0
- package/dist/core/llm/providers/model-effort.js.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts +13 -6
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.js +14 -7
- package/dist/core/llm/providers/model-forced-tool-choice.js.map +1 -1
- package/dist/core/llm/providers/model-thinking.d.ts +64 -13
- package/dist/core/llm/providers/model-thinking.d.ts.map +1 -1
- package/dist/core/llm/providers/model-thinking.js +52 -12
- package/dist/core/llm/providers/model-thinking.js.map +1 -1
- package/dist/core/llm/providers/openrouter-only-params.d.ts +26 -7
- package/dist/core/llm/providers/openrouter-only-params.d.ts.map +1 -1
- package/dist/core/llm/providers/openrouter-only-params.js +58 -9
- package/dist/core/llm/providers/openrouter-only-params.js.map +1 -1
- package/dist/core/llm/providers/url-secrets.d.ts +42 -0
- package/dist/core/llm/providers/url-secrets.d.ts.map +1 -0
- package/dist/core/llm/providers/url-secrets.js +64 -0
- package/dist/core/llm/providers/url-secrets.js.map +1 -0
- package/dist/core/llm/streaming/StreamingBatcher.d.ts +4 -3
- package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -1
- package/dist/core/llm/streaming/StreamingBatcher.js +8 -3
- package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -1
- package/dist/core/safety/LLMProviderHealthRegistry.d.ts +4 -0
- package/dist/core/safety/LLMProviderHealthRegistry.d.ts.map +1 -1
- package/dist/core/safety/LLMProviderHealthRegistry.js +26 -0
- package/dist/core/safety/LLMProviderHealthRegistry.js.map +1 -1
- package/dist/core/utils/sha256.d.ts +19 -0
- package/dist/core/utils/sha256.d.ts.map +1 -0
- package/dist/core/utils/sha256.js +101 -0
- package/dist/core/utils/sha256.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestration/pipeline/query/types.js +3 -3
- package/dist/orchestration/pipeline/query/types.js.map +1 -1
- package/dist/orchestration/planning/ProviderAssignmentEngine.js +2 -2
- package/dist/orchestration/planning/ProviderAssignmentEngine.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiCLIProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/GeminiCLIProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeminiCLIProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/GeminiCLIProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* conventions used by IProvider:
|
|
7
7
|
*
|
|
8
8
|
* Key API differences from OpenAI:
|
|
9
|
-
* - Auth: API key
|
|
9
|
+
* - Auth: API key in the `x-goog-api-key` header, never in the URL.
|
|
10
10
|
* - Roles: Gemini uses `user` / `model` (not `assistant`).
|
|
11
11
|
* - System instruction: Separate `systemInstruction` field, not a role.
|
|
12
12
|
* - Tool calling: Uses `functionDeclarations` under `tools[]`, response uses `functionCall`.
|
|
@@ -32,7 +32,8 @@ export interface GeminiProviderConfig {
|
|
|
32
32
|
/**
|
|
33
33
|
* Google Gemini API key.
|
|
34
34
|
* Typically sourced from the `GEMINI_API_KEY` environment variable.
|
|
35
|
-
*
|
|
35
|
+
* Sent in the `x-goog-api-key` header, never in the request URL, so it
|
|
36
|
+
* stays out of proxy and access logs.
|
|
36
37
|
*/
|
|
37
38
|
apiKey: string;
|
|
38
39
|
/**
|
|
@@ -228,6 +229,12 @@ export declare class GeminiProvider implements IProvider {
|
|
|
228
229
|
* - `assistant` -> `model` (Gemini uses "model" instead of "assistant")
|
|
229
230
|
* - `tool` -> `user` with `functionResponse` parts
|
|
230
231
|
*
|
|
232
|
+
* Consecutive tool results share one `user` turn, because Gemini requires
|
|
233
|
+
* the responses to a turn of parallel function calls in a single content
|
|
234
|
+
* (one functionResponse part per call). A tool result without `name`, as
|
|
235
|
+
* `generateText` records them, takes the function name of the call with the
|
|
236
|
+
* same id.
|
|
237
|
+
*
|
|
231
238
|
* @param {ChatMessage[]} messages - IProvider-format messages.
|
|
232
239
|
* @returns {GeminiContent[]} Gemini-format content array.
|
|
233
240
|
* @private
|
|
@@ -308,11 +315,23 @@ export declare class GeminiProvider implements IProvider {
|
|
|
308
315
|
* @private
|
|
309
316
|
*/
|
|
310
317
|
private buildAbortChunk;
|
|
318
|
+
/**
|
|
319
|
+
* The next API key to send: the pool rotates between configured keys and
|
|
320
|
+
* skips one in cooldown after a 429. Falls back to the configured key when
|
|
321
|
+
* the provider was configured without initialization (tests).
|
|
322
|
+
*/
|
|
323
|
+
private nextApiKey;
|
|
324
|
+
/**
|
|
325
|
+
* Request headers for one call. The key travels in `x-goog-api-key`, which
|
|
326
|
+
* Gemini accepts on every endpoint this provider calls.
|
|
327
|
+
*/
|
|
328
|
+
private requestHeaders;
|
|
311
329
|
/**
|
|
312
330
|
* Makes a non-streaming API request to the Gemini API with retry logic.
|
|
313
331
|
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
332
|
+
* The API key goes in the `x-goog-api-key` header. Each attempt draws a key
|
|
333
|
+
* from the pool, so a retry after a 429 uses another key when one is
|
|
334
|
+
* configured.
|
|
316
335
|
*
|
|
317
336
|
* @template T The expected response type.
|
|
318
337
|
* @param {string} endpoint - API endpoint path (e.g., "/models/gemini-2.5-flash:generateContent").
|
|
@@ -325,8 +344,8 @@ export declare class GeminiProvider implements IProvider {
|
|
|
325
344
|
/**
|
|
326
345
|
* Makes a streaming API request and returns the raw ReadableStream.
|
|
327
346
|
*
|
|
328
|
-
* Uses the `?alt=sse` query parameter to enable SSE streaming
|
|
329
|
-
*
|
|
347
|
+
* Uses the `?alt=sse` query parameter to enable SSE streaming; the API key
|
|
348
|
+
* goes in the `x-goog-api-key` header.
|
|
330
349
|
*
|
|
331
350
|
* @param {string} endpoint - API endpoint (e.g., "/models/gemini-2.5-flash:streamGenerateContent").
|
|
332
351
|
* @param {Record<string, unknown>} body - Request body.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/GeminiProvider.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EAEvB,SAAS,EAET,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"GeminiProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/GeminiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// File: backend/agentos/core/llm/providers/implementations/GeminiProvider.ts
|
|
2
2
|
import { stripOpenRouterOnlyParams } from '../openrouter-only-params.js';
|
|
3
|
+
import { redactUrlSecrets } from '../url-secrets.js';
|
|
3
4
|
import { GeminiProviderError } from '../errors/GeminiProviderError.js';
|
|
4
5
|
import { ApiKeyPool } from '../../../providers/ApiKeyPool.js';
|
|
5
6
|
import { computeRetryBackoffMs } from './retry-backoff.js';
|
|
@@ -18,53 +19,6 @@ const GEMINI_EMBED_BATCH_LIMIT = 100;
|
|
|
18
19
|
* 2026-09-29).
|
|
19
20
|
*/
|
|
20
21
|
const GEMINI_SKIP_THOUGHT_SIGNATURE = 'skip_thought_signature_validator';
|
|
21
|
-
/**
|
|
22
|
-
* The credentials part of a base URL, read from the raw string: the text
|
|
23
|
-
* between the authority start (after a leading `scheme://` or `//`, else the
|
|
24
|
-
* start of a scheme-less URL) and the last `@`. The last `@` is used because an email-style username
|
|
25
|
-
* carries its own `@`, and the raw string because a URL that fails to parse
|
|
26
|
-
* (for example with a `/` in the password) still appears verbatim in fetch's
|
|
27
|
-
* error.
|
|
28
|
-
*
|
|
29
|
-
* @param baseURL Configured base URL.
|
|
30
|
-
* @returns The credentials substring, or undefined when there is none.
|
|
31
|
-
*/
|
|
32
|
-
function baseUrlCredentials(baseURL) {
|
|
33
|
-
if (!baseURL)
|
|
34
|
-
return undefined;
|
|
35
|
-
// Only a leading scheme or `//` opens the authority; a `//` later in the
|
|
36
|
-
// path must not move the start past the credentials.
|
|
37
|
-
const scheme = /^[a-z][a-z\d+.-]*:\/\//i.exec(baseURL);
|
|
38
|
-
const start = scheme ? scheme[0].length : baseURL.startsWith('//') ? 2 : 0;
|
|
39
|
-
const at = baseURL.lastIndexOf('@');
|
|
40
|
-
return at > start ? baseURL.slice(start, at) : undefined;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Masks the secrets a request URL carries out of an error message: the API
|
|
44
|
-
* key the request sent as `key=` and any credentials in the base URL. The
|
|
45
|
-
* known values are replaced literally, since a pattern cannot tell where
|
|
46
|
-
* arbitrary credentials end. A fetch that rejects its URL (relative,
|
|
47
|
-
* scheme-less or credential-bearing) names the whole URL in its error.
|
|
48
|
-
*
|
|
49
|
-
* @param message Error message that may contain the request URL.
|
|
50
|
-
* @param apiKey The key the request carried.
|
|
51
|
-
* @param baseURL Configured base URL.
|
|
52
|
-
* @returns The message with those secrets replaced by `[redacted]`.
|
|
53
|
-
*/
|
|
54
|
-
function redactUrlSecrets(message, apiKey, baseURL) {
|
|
55
|
-
// Longest first, so a key that also appears inside the credentials cannot
|
|
56
|
-
// split them before the whole credentials string is replaced.
|
|
57
|
-
const secrets = [baseUrlCredentials(baseURL), apiKey]
|
|
58
|
-
.filter((secret) => Boolean(secret))
|
|
59
|
-
.sort((a, b) => b.length - a.length);
|
|
60
|
-
let out = message;
|
|
61
|
-
for (const secret of secrets)
|
|
62
|
-
out = out.split(secret).join('[redacted]');
|
|
63
|
-
// Backstops for any other key= value or //user:password@ credentials.
|
|
64
|
-
return out
|
|
65
|
-
.replace(/([?&]key=)[^&\s"')]+/g, '$1[redacted]')
|
|
66
|
-
.replace(/(\/\/)[^/\s@"')]+@/g, '$1[redacted]@');
|
|
67
|
-
}
|
|
68
22
|
/**
|
|
69
23
|
* Thinking levels each model accepts, keyed by exact model id and limited to
|
|
70
24
|
* what was verified against the live API (2026-09-30). The set differs per
|
|
@@ -148,9 +102,9 @@ const GEMINI_MODELS = [
|
|
|
148
102
|
status: 'active',
|
|
149
103
|
},
|
|
150
104
|
// --- Flash. 3.6, 3.7 and 3.8 list at $0.75 / $3.75 through 2026-12-31 and
|
|
151
|
-
// $1.50 / $7.50 from 2027-01-01. They meter at $1.50 / $7.50
|
|
152
|
-
//
|
|
153
|
-
//
|
|
105
|
+
// $1.50 / $7.50 from 2027-01-01. They meter at $1.50 / $7.50 because the
|
|
106
|
+
// promotion has a published end date: cost rollups stay conservative until
|
|
107
|
+
// then and stay right after it. ---
|
|
154
108
|
{
|
|
155
109
|
modelId: 'gemini-3.8-flash',
|
|
156
110
|
providerId: 'gemini',
|
|
@@ -560,6 +514,7 @@ export class GeminiProvider {
|
|
|
560
514
|
}
|
|
561
515
|
// Accumulators for building the complete response
|
|
562
516
|
let accumulatedContent = '';
|
|
517
|
+
let accumulatedReasoning = '';
|
|
563
518
|
let lastFinishReason = null;
|
|
564
519
|
let lastUsage;
|
|
565
520
|
/** Map from part index -> tool call accumulator */
|
|
@@ -611,9 +566,22 @@ export class GeminiProvider {
|
|
|
611
566
|
}
|
|
612
567
|
const parts = candidate.content?.parts ?? [];
|
|
613
568
|
for (const part of parts) {
|
|
614
|
-
// A thought summary is the model's reasoning
|
|
615
|
-
|
|
569
|
+
// A thought summary is the model's reasoning: it streams as
|
|
570
|
+
// reasoning text, apart from the answer.
|
|
571
|
+
if (part.thought) {
|
|
572
|
+
if (typeof part.text === 'string' && part.text) {
|
|
573
|
+
accumulatedReasoning += part.text;
|
|
574
|
+
yield {
|
|
575
|
+
id: responseId,
|
|
576
|
+
object: 'chat.completion.chunk',
|
|
577
|
+
created: Math.floor(Date.now() / 1000),
|
|
578
|
+
modelId,
|
|
579
|
+
choices: [{ index: 0, message: { role: 'assistant', content: null }, finishReason: null }],
|
|
580
|
+
reasoningTextDelta: part.text,
|
|
581
|
+
};
|
|
582
|
+
}
|
|
616
583
|
continue;
|
|
584
|
+
}
|
|
617
585
|
if (part.text !== undefined) {
|
|
618
586
|
// Text delta
|
|
619
587
|
accumulatedContent += part.text;
|
|
@@ -686,6 +654,7 @@ export class GeminiProvider {
|
|
|
686
654
|
role: 'assistant',
|
|
687
655
|
content: accumulatedContent || null,
|
|
688
656
|
...(hasToolCalls && { tool_calls: toolCalls }),
|
|
657
|
+
...(accumulatedReasoning && { reasoningText: accumulatedReasoning }),
|
|
689
658
|
},
|
|
690
659
|
finishReason: this.mapFinishReason(lastFinishReason),
|
|
691
660
|
}],
|
|
@@ -990,12 +959,19 @@ export class GeminiProvider {
|
|
|
990
959
|
* - `assistant` -> `model` (Gemini uses "model" instead of "assistant")
|
|
991
960
|
* - `tool` -> `user` with `functionResponse` parts
|
|
992
961
|
*
|
|
962
|
+
* Consecutive tool results share one `user` turn, because Gemini requires
|
|
963
|
+
* the responses to a turn of parallel function calls in a single content
|
|
964
|
+
* (one functionResponse part per call). A tool result without `name`, as
|
|
965
|
+
* `generateText` records them, takes the function name of the call with the
|
|
966
|
+
* same id.
|
|
967
|
+
*
|
|
993
968
|
* @param {ChatMessage[]} messages - IProvider-format messages.
|
|
994
969
|
* @returns {GeminiContent[]} Gemini-format content array.
|
|
995
970
|
* @private
|
|
996
971
|
*/
|
|
997
972
|
convertMessages(messages) {
|
|
998
973
|
const contents = [];
|
|
974
|
+
const toolNameByCallId = new Map();
|
|
999
975
|
for (const msg of messages) {
|
|
1000
976
|
if (msg.role === 'assistant') {
|
|
1001
977
|
// --- Assistant messages map to "model" role ---
|
|
@@ -1012,6 +988,8 @@ export class GeminiProvider {
|
|
|
1012
988
|
if (msg.tool_calls?.length) {
|
|
1013
989
|
const turnHasSignature = msg.tool_calls.some(tc => tc.thoughtSignature);
|
|
1014
990
|
msg.tool_calls.forEach((tc, i) => {
|
|
991
|
+
if (tc.id)
|
|
992
|
+
toolNameByCallId.set(tc.id, tc.function.name);
|
|
1015
993
|
let parsedArgs;
|
|
1016
994
|
try {
|
|
1017
995
|
parsedArgs = typeof tc.function.arguments === 'string'
|
|
@@ -1043,25 +1021,42 @@ export class GeminiProvider {
|
|
|
1043
1021
|
// --- Tool result messages become user-role functionResponse ---
|
|
1044
1022
|
// Gemini expects tool results as functionResponse parts in a user turn.
|
|
1045
1023
|
let responseData;
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1024
|
+
if (typeof msg.content === 'string') {
|
|
1025
|
+
let parsed;
|
|
1026
|
+
try {
|
|
1027
|
+
parsed = JSON.parse(msg.content);
|
|
1028
|
+
}
|
|
1029
|
+
catch {
|
|
1030
|
+
// If the tool result isn't valid JSON, wrap it
|
|
1031
|
+
parsed = msg.content;
|
|
1032
|
+
}
|
|
1033
|
+
// functionResponse.response is a JSON object (a protobuf Struct);
|
|
1034
|
+
// Gemini rejects a string, number, array or null there with HTTP
|
|
1035
|
+
// 400, so such a result is wrapped.
|
|
1036
|
+
responseData = parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
1037
|
+
? parsed
|
|
1038
|
+
: { result: parsed };
|
|
1051
1039
|
}
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1040
|
+
else {
|
|
1041
|
+
responseData = { result: JSON.stringify(msg.content ?? '') };
|
|
1042
|
+
}
|
|
1043
|
+
const responsePart = {
|
|
1044
|
+
functionResponse: {
|
|
1045
|
+
name: msg.name
|
|
1046
|
+
|| (msg.tool_call_id ? toolNameByCallId.get(msg.tool_call_id) : undefined)
|
|
1047
|
+
|| 'unknown',
|
|
1048
|
+
response: responseData,
|
|
1049
|
+
},
|
|
1050
|
+
};
|
|
1051
|
+
const previous = contents[contents.length - 1];
|
|
1052
|
+
if (previous?.role === 'user'
|
|
1053
|
+
&& previous.parts.length > 0
|
|
1054
|
+
&& previous.parts.every(part => part.functionResponse)) {
|
|
1055
|
+
previous.parts.push(responsePart);
|
|
1056
|
+
}
|
|
1057
|
+
else {
|
|
1058
|
+
contents.push({ role: 'user', parts: [responsePart] });
|
|
1055
1059
|
}
|
|
1056
|
-
contents.push({
|
|
1057
|
-
role: 'user',
|
|
1058
|
-
parts: [{
|
|
1059
|
-
functionResponse: {
|
|
1060
|
-
name: msg.name || 'unknown',
|
|
1061
|
-
response: responseData,
|
|
1062
|
-
},
|
|
1063
|
-
}],
|
|
1064
|
-
});
|
|
1065
1060
|
}
|
|
1066
1061
|
else {
|
|
1067
1062
|
// --- User messages ---
|
|
@@ -1142,6 +1137,11 @@ export class GeminiProvider {
|
|
|
1142
1137
|
.filter(p => p.text !== undefined && !p.thought)
|
|
1143
1138
|
.map(p => p.text);
|
|
1144
1139
|
const fullText = textParts.join('');
|
|
1140
|
+
// They are returned apart, as the turn's reasoning summary.
|
|
1141
|
+
const reasoningText = parts
|
|
1142
|
+
.filter(p => p.thought && typeof p.text === 'string' && p.text)
|
|
1143
|
+
.map(p => p.text)
|
|
1144
|
+
.join('');
|
|
1145
1145
|
// Collect function calls and convert to OpenAI-style tool_calls
|
|
1146
1146
|
const toolCalls = parts
|
|
1147
1147
|
.filter(p => p.functionCall)
|
|
@@ -1171,6 +1171,7 @@ export class GeminiProvider {
|
|
|
1171
1171
|
role: 'assistant',
|
|
1172
1172
|
content: fullText || null,
|
|
1173
1173
|
...(hasToolCalls && { tool_calls: toolCalls }),
|
|
1174
|
+
...(reasoningText && { reasoningText }),
|
|
1174
1175
|
},
|
|
1175
1176
|
finishReason,
|
|
1176
1177
|
};
|
|
@@ -1305,11 +1306,31 @@ export class GeminiProvider {
|
|
|
1305
1306
|
// -------------------------------------------------------------------------
|
|
1306
1307
|
// HTTP transport
|
|
1307
1308
|
// -------------------------------------------------------------------------
|
|
1309
|
+
/**
|
|
1310
|
+
* The next API key to send: the pool rotates between configured keys and
|
|
1311
|
+
* skips one in cooldown after a 429. Falls back to the configured key when
|
|
1312
|
+
* the provider was configured without initialization (tests).
|
|
1313
|
+
*/
|
|
1314
|
+
nextApiKey() {
|
|
1315
|
+
return this.keyPool?.hasKeys ? this.keyPool.next() : this.config.apiKey;
|
|
1316
|
+
}
|
|
1317
|
+
/**
|
|
1318
|
+
* Request headers for one call. The key travels in `x-goog-api-key`, which
|
|
1319
|
+
* Gemini accepts on every endpoint this provider calls.
|
|
1320
|
+
*/
|
|
1321
|
+
requestHeaders(apiKey) {
|
|
1322
|
+
return {
|
|
1323
|
+
'Content-Type': 'application/json',
|
|
1324
|
+
'User-Agent': 'AgentOS/1.0 (GeminiProvider)',
|
|
1325
|
+
'x-goog-api-key': apiKey,
|
|
1326
|
+
};
|
|
1327
|
+
}
|
|
1308
1328
|
/**
|
|
1309
1329
|
* Makes a non-streaming API request to the Gemini API with retry logic.
|
|
1310
1330
|
*
|
|
1311
|
-
*
|
|
1312
|
-
*
|
|
1331
|
+
* The API key goes in the `x-goog-api-key` header. Each attempt draws a key
|
|
1332
|
+
* from the pool, so a retry after a 429 uses another key when one is
|
|
1333
|
+
* configured.
|
|
1313
1334
|
*
|
|
1314
1335
|
* @template T The expected response type.
|
|
1315
1336
|
* @param {string} endpoint - API endpoint path (e.g., "/models/gemini-2.5-flash:generateContent").
|
|
@@ -1319,13 +1340,7 @@ export class GeminiProvider {
|
|
|
1319
1340
|
* @private
|
|
1320
1341
|
*/
|
|
1321
1342
|
async makeApiRequest(endpoint, body, requestTimeoutOverride) {
|
|
1322
|
-
|
|
1323
|
-
const apiKey = this.keyPool?.hasKeys ? this.keyPool.next() : this.config.apiKey;
|
|
1324
|
-
const url = `${this.config.baseURL}${endpoint}?key=${apiKey}`;
|
|
1325
|
-
const headers = {
|
|
1326
|
-
'Content-Type': 'application/json',
|
|
1327
|
-
'User-Agent': 'AgentOS/1.0 (GeminiProvider)',
|
|
1328
|
-
};
|
|
1343
|
+
const url = `${this.config.baseURL}${endpoint}`;
|
|
1329
1344
|
let lastError = new GeminiProviderError('Request failed after all retries.', 'MAX_RETRIES_REACHED');
|
|
1330
1345
|
// CR8: honor a per-call requestTimeout override (e.g. long codegen) over
|
|
1331
1346
|
// the provider default; only Anthropic read this before.
|
|
@@ -1333,12 +1348,13 @@ export class GeminiProvider {
|
|
|
1333
1348
|
? requestTimeoutOverride
|
|
1334
1349
|
: this.config.requestTimeout;
|
|
1335
1350
|
for (let attempt = 0; attempt < this.config.maxRetries; attempt++) {
|
|
1351
|
+
const apiKey = this.nextApiKey();
|
|
1336
1352
|
const controller = new AbortController();
|
|
1337
1353
|
const timeoutId = setTimeout(() => controller.abort(), effectiveTimeout);
|
|
1338
1354
|
try {
|
|
1339
1355
|
const response = await fetch(url, {
|
|
1340
1356
|
method: 'POST',
|
|
1341
|
-
headers,
|
|
1357
|
+
headers: this.requestHeaders(apiKey),
|
|
1342
1358
|
body: JSON.stringify(body),
|
|
1343
1359
|
signal: controller.signal,
|
|
1344
1360
|
});
|
|
@@ -1354,6 +1370,9 @@ export class GeminiProvider {
|
|
|
1354
1370
|
// Rate limit — respect Retry-After header
|
|
1355
1371
|
if (response.status === 429) {
|
|
1356
1372
|
lastError = new GeminiProviderError(errorMessage, 'RATE_LIMIT_EXCEEDED', 429, errorStatus, errorData);
|
|
1373
|
+
// The key's quota is spent: the pool rests it, and the next
|
|
1374
|
+
// attempt draws another key when one is configured.
|
|
1375
|
+
this.keyPool?.markExhausted(apiKey);
|
|
1357
1376
|
const retryAfter = response.headers.get('retry-after');
|
|
1358
1377
|
// Retry-After is authoritative when present; otherwise jittered backoff.
|
|
1359
1378
|
const retryAfterMs = retryAfter ? parseInt(retryAfter, 10) * 1000 : computeRetryBackoffMs(attempt);
|
|
@@ -1382,7 +1401,7 @@ export class GeminiProvider {
|
|
|
1382
1401
|
}
|
|
1383
1402
|
else {
|
|
1384
1403
|
lastError = new GeminiProviderError(error instanceof Error
|
|
1385
|
-
? redactUrlSecrets(error.message,
|
|
1404
|
+
? redactUrlSecrets(error.message, this.config.baseURL, [apiKey])
|
|
1386
1405
|
: 'Network or unknown error', 'NETWORK_ERROR');
|
|
1387
1406
|
}
|
|
1388
1407
|
if (attempt === this.config.maxRetries - 1)
|
|
@@ -1397,8 +1416,8 @@ export class GeminiProvider {
|
|
|
1397
1416
|
/**
|
|
1398
1417
|
* Makes a streaming API request and returns the raw ReadableStream.
|
|
1399
1418
|
*
|
|
1400
|
-
* Uses the `?alt=sse` query parameter to enable SSE streaming
|
|
1401
|
-
*
|
|
1419
|
+
* Uses the `?alt=sse` query parameter to enable SSE streaming; the API key
|
|
1420
|
+
* goes in the `x-goog-api-key` header.
|
|
1402
1421
|
*
|
|
1403
1422
|
* @param {string} endpoint - API endpoint (e.g., "/models/gemini-2.5-flash:streamGenerateContent").
|
|
1404
1423
|
* @param {Record<string, unknown>} body - Request body.
|
|
@@ -1407,13 +1426,9 @@ export class GeminiProvider {
|
|
|
1407
1426
|
* @private
|
|
1408
1427
|
*/
|
|
1409
1428
|
async makeStreamRequest(endpoint, body, requestTimeoutOverride) {
|
|
1410
|
-
|
|
1411
|
-
const
|
|
1412
|
-
const
|
|
1413
|
-
const headers = {
|
|
1414
|
-
'Content-Type': 'application/json',
|
|
1415
|
-
'User-Agent': 'AgentOS/1.0 (GeminiProvider)',
|
|
1416
|
-
};
|
|
1429
|
+
const apiKey = this.nextApiKey();
|
|
1430
|
+
const url = `${this.config.baseURL}${endpoint}?alt=sse`;
|
|
1431
|
+
const headers = this.requestHeaders(apiKey);
|
|
1417
1432
|
const controller = new AbortController();
|
|
1418
1433
|
// CR8: honor a per-call requestTimeout override over the provider default.
|
|
1419
1434
|
const effectiveTimeout = typeof requestTimeoutOverride === 'number' && requestTimeoutOverride > 0
|
|
@@ -1431,6 +1446,9 @@ export class GeminiProvider {
|
|
|
1431
1446
|
if (!response.ok) {
|
|
1432
1447
|
const errorData = await response.json().catch(() => ({}));
|
|
1433
1448
|
const errorMessage = errorData.error?.message || `HTTP ${response.status}: ${response.statusText}`;
|
|
1449
|
+
// A key whose quota is spent rests, so the next request draws another.
|
|
1450
|
+
if (response.status === 429)
|
|
1451
|
+
this.keyPool?.markExhausted(apiKey);
|
|
1434
1452
|
throw new GeminiProviderError(errorMessage, 'STREAM_CONNECTION_FAILED', response.status, errorData.error?.status, errorData);
|
|
1435
1453
|
}
|
|
1436
1454
|
if (!response.body) {
|
|
@@ -1443,7 +1461,7 @@ export class GeminiProvider {
|
|
|
1443
1461
|
if (error instanceof GeminiProviderError)
|
|
1444
1462
|
throw error;
|
|
1445
1463
|
throw new GeminiProviderError(error instanceof Error
|
|
1446
|
-
? redactUrlSecrets(error.message,
|
|
1464
|
+
? redactUrlSecrets(error.message, this.config.baseURL, [apiKey])
|
|
1447
1465
|
: 'Failed to connect to Gemini stream.', 'STREAM_CONNECTION_FAILED');
|
|
1448
1466
|
}
|
|
1449
1467
|
}
|