agentfootprint 9.28.0 → 9.30.0

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 (101) hide show
  1. package/README.md +3 -2
  2. package/dist/adapters/google/aiPlatform.js +23 -1
  3. package/dist/adapters/google/aiPlatform.js.map +1 -1
  4. package/dist/adapters/hosting/googleAgentEngine.js +180 -61
  5. package/dist/adapters/hosting/googleAgentEngine.js.map +1 -1
  6. package/dist/adapters/identity/google.js +18 -4
  7. package/dist/adapters/identity/google.js.map +1 -1
  8. package/dist/adapters/llm/GeminiProvider.js +198 -36
  9. package/dist/adapters/llm/GeminiProvider.js.map +1 -1
  10. package/dist/adapters/llm/OpenAIProvider.js +66 -2
  11. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  12. package/dist/adapters/llm/googleGenAI.js +155 -8
  13. package/dist/adapters/llm/googleGenAI.js.map +1 -1
  14. package/dist/adapters/memory/memoryBank.js +250 -6
  15. package/dist/adapters/memory/memoryBank.js.map +1 -1
  16. package/dist/adapters/types.js.map +1 -1
  17. package/dist/artifacts/gcsArtifacts.js +21 -5
  18. package/dist/artifacts/gcsArtifacts.js.map +1 -1
  19. package/dist/embedders/index.js +8 -6
  20. package/dist/embedders/index.js.map +1 -1
  21. package/dist/esm/adapters/google/aiPlatform.d.ts +44 -0
  22. package/dist/esm/adapters/google/aiPlatform.js +23 -1
  23. package/dist/esm/adapters/google/aiPlatform.js.map +1 -1
  24. package/dist/esm/adapters/hosting/googleAgentEngine.d.ts +104 -18
  25. package/dist/esm/adapters/hosting/googleAgentEngine.js +179 -60
  26. package/dist/esm/adapters/hosting/googleAgentEngine.js.map +1 -1
  27. package/dist/esm/adapters/identity/google.d.ts +18 -4
  28. package/dist/esm/adapters/identity/google.js +18 -4
  29. package/dist/esm/adapters/identity/google.js.map +1 -1
  30. package/dist/esm/adapters/llm/GeminiProvider.d.ts +96 -15
  31. package/dist/esm/adapters/llm/GeminiProvider.js +199 -37
  32. package/dist/esm/adapters/llm/GeminiProvider.js.map +1 -1
  33. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +34 -2
  34. package/dist/esm/adapters/llm/OpenAIProvider.js +66 -2
  35. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  36. package/dist/esm/adapters/llm/googleGenAI.d.ts +105 -4
  37. package/dist/esm/adapters/llm/googleGenAI.js +152 -7
  38. package/dist/esm/adapters/llm/googleGenAI.js.map +1 -1
  39. package/dist/esm/adapters/memory/memoryBank.d.ts +42 -3
  40. package/dist/esm/adapters/memory/memoryBank.js +249 -5
  41. package/dist/esm/adapters/memory/memoryBank.js.map +1 -1
  42. package/dist/esm/adapters/types.d.ts +27 -0
  43. package/dist/esm/adapters/types.js.map +1 -1
  44. package/dist/esm/artifacts/gcsArtifacts.d.ts +21 -5
  45. package/dist/esm/artifacts/gcsArtifacts.js +21 -5
  46. package/dist/esm/artifacts/gcsArtifacts.js.map +1 -1
  47. package/dist/esm/core/agent/types.d.ts +1 -0
  48. package/dist/esm/embedders/index.js +9 -7
  49. package/dist/esm/embedders/index.js.map +1 -1
  50. package/dist/esm/events/payloads.d.ts +22 -0
  51. package/dist/esm/hosting-providers.d.ts +4 -2
  52. package/dist/esm/hosting-providers.js +4 -2
  53. package/dist/esm/hosting-providers.js.map +1 -1
  54. package/dist/esm/memory-providers.d.ts +1 -1
  55. package/dist/esm/memory-providers.js +4 -2
  56. package/dist/esm/memory-providers.js.map +1 -1
  57. package/dist/esm/providers.js.map +1 -1
  58. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +5 -1
  59. package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
  60. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +44 -3
  61. package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  62. package/dist/hosting-providers.js +5 -2
  63. package/dist/hosting-providers.js.map +1 -1
  64. package/dist/memory-providers.js +5 -2
  65. package/dist/memory-providers.js.map +1 -1
  66. package/dist/providers.js.map +1 -1
  67. package/dist/recorders/observability/AgentThinkingTraceRecorder.js +5 -1
  68. package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
  69. package/dist/recorders/observability/commentary/commentaryTemplates.js +44 -3
  70. package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
  71. package/dist/types/adapters/google/aiPlatform.d.ts +44 -0
  72. package/dist/types/adapters/google/aiPlatform.d.ts.map +1 -1
  73. package/dist/types/adapters/hosting/googleAgentEngine.d.ts +104 -18
  74. package/dist/types/adapters/hosting/googleAgentEngine.d.ts.map +1 -1
  75. package/dist/types/adapters/identity/google.d.ts +18 -4
  76. package/dist/types/adapters/identity/google.d.ts.map +1 -1
  77. package/dist/types/adapters/llm/GeminiProvider.d.ts +96 -15
  78. package/dist/types/adapters/llm/GeminiProvider.d.ts.map +1 -1
  79. package/dist/types/adapters/llm/OpenAIProvider.d.ts +34 -2
  80. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  81. package/dist/types/adapters/llm/googleGenAI.d.ts +105 -4
  82. package/dist/types/adapters/llm/googleGenAI.d.ts.map +1 -1
  83. package/dist/types/adapters/memory/memoryBank.d.ts +42 -3
  84. package/dist/types/adapters/memory/memoryBank.d.ts.map +1 -1
  85. package/dist/types/adapters/types.d.ts +27 -0
  86. package/dist/types/adapters/types.d.ts.map +1 -1
  87. package/dist/types/artifacts/gcsArtifacts.d.ts +21 -5
  88. package/dist/types/artifacts/gcsArtifacts.d.ts.map +1 -1
  89. package/dist/types/core/agent/types.d.ts +1 -0
  90. package/dist/types/core/agent/types.d.ts.map +1 -1
  91. package/dist/types/embedders/index.d.ts.map +1 -1
  92. package/dist/types/events/payloads.d.ts +22 -0
  93. package/dist/types/events/payloads.d.ts.map +1 -1
  94. package/dist/types/hosting-providers.d.ts +4 -2
  95. package/dist/types/hosting-providers.d.ts.map +1 -1
  96. package/dist/types/memory-providers.d.ts +1 -1
  97. package/dist/types/memory-providers.d.ts.map +1 -1
  98. package/dist/types/providers.d.ts.map +1 -1
  99. package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
  100. package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
  101. package/package.json +1 -1
@@ -27,18 +27,77 @@
27
27
  * the first call, which reads like a network problem rather than a missing
28
28
  * setting.
29
29
  *
30
+ * ─── Status, per door, because the doors differ ─────────────────────
31
+ *
32
+ * • **Vertex: field-validated.** An independent trial ran this adapter,
33
+ * unchanged since 9.13.0, against a live project through Application Default
34
+ * Credentials: a two-call tool loop on `gemini-2.5-flash` returning the
35
+ * expected answer with real token counts, and a stream delivering 10 content
36
+ * chunks that reconstructed exactly (FINDINGS "Part 1 — native Gemini on
37
+ * Vertex through ADC", "Part 2C"). `geminiEmbedder` passed on the same door.
38
+ * • **Gemini API (AI Studio): NOT field-validated, and not for want of
39
+ * trying.** The trial's key-door calls never reached a model: the old
40
+ * default model answered 404 for a new account, and a current model answered
41
+ * 429 for AI Studio prepayment, which is billing SEPARATE from the Google
42
+ * Cloud account's credit. What that door does with a funded key is
43
+ * untested here, which is why it has no default model.
44
+ * • **Tool calling on a 3.x model: field-validated.** The signature round trip
45
+ * below was built from the trial's captured 400, and the same independent
46
+ * trial then re-ran it on live Vertex against the published fix
47
+ * (2026-08-14): `gemini-3.1-flash-lite` called a tool, the tool answered,
48
+ * the signature went back byte for byte, and the second model call
49
+ * completed with the right answer — two LLM calls, one tool execution, real
50
+ * token counts. What it does NOT cover is a signature attached to a TEXT
51
+ * part with no function call beside it; see below.
52
+ *
30
53
  * ─── Why native, and not `openai({ baseURL })` ──────────────────────
31
54
  *
32
55
  * Google publishes an OpenAI-compatible endpoint, and it does work — for about
33
- * an hour. It authenticates with an OAuth access token that expires and has no
34
- * refresh home in `OpenAIProviderOptions`; its `tools.function.parameters` is
35
- * **OpenAPI**, not JSON Schema, so `$ref` / `oneOf` / `additionalProperties`
36
- * diverge silently; unsupported parameters are ignored rather than refused; and
37
- * its documented response carries no cached- or reasoning-token counts. This
38
- * adapter exists because every one of those is answerable on the native SDK:
39
- * ADC refreshes itself, tools go over as JSON Schema untranslated
40
- * (`parametersJsonSchema`), a forced single tool is expressible, and
41
- * `usageMetadata` reports cached and thinking tokens as separate numbers.
56
+ * an hour. It authenticates with an OAuth access token that expires (9.29.0
57
+ * gives `openai({ apiKey })` a callback form so a long-running process can
58
+ * refresh one, which is a mitigation and not a fix); its
59
+ * `tools.function.parameters` is **OpenAPI**, not JSON Schema, so `$ref` /
60
+ * `oneOf` / `additionalProperties` diverge silently; unsupported parameters are
61
+ * ignored rather than refused; and its documented response carries no cached-
62
+ * or reasoning-token counts. This adapter exists because every one of those is
63
+ * answerable on the native SDK: ADC refreshes itself, tools go over as JSON
64
+ * Schema untranslated (`parametersJsonSchema`), a forced single tool is
65
+ * expressible, and `usageMetadata` reports cached and thinking tokens as
66
+ * separate numbers.
67
+ *
68
+ * A field trial measured both halves of that: the native path completed a call
69
+ * after a forced credential expiry, while the compatible path returned HTTP 401
70
+ * on an expired token (FINDINGS "Part 2B").
71
+ *
72
+ * ─── Thought signatures: the round trip a tool loop cannot skip ─────
73
+ *
74
+ * A current Gemini model does not merely PREFER its thought signature back —
75
+ * it refuses the turn without it. An independent field trial on live GCP ran
76
+ * `gemini-3.1-flash-lite` on Vertex through one ordinary tool loop: the first
77
+ * call asked for the function, the tool ran, and the second call came back
78
+ *
79
+ * 400 INVALID_ARGUMENT — "Function call is missing a thought_signature in
80
+ * functionCall parts. This is required for tools to work correctly …"
81
+ *
82
+ * (FINDINGS "Failure 4"). The cost of that shape is what makes it worth this
83
+ * paragraph: the failure lands AFTER the tool has already executed, so a
84
+ * side-effecting tool has run and the answer is unreachable.
85
+ *
86
+ * So the signature is CARRIED, not dropped. `Part.thoughtSignature` (a base64
87
+ * string on the installed @google/genai 2.16.0 `Part`) is read off the same
88
+ * part as the `functionCall` it belongs to, parked on the port's neutral
89
+ * `toolCalls[].providerMeta`, and written back onto the reconstructed
90
+ * `functionCall` part on the next request — byte for byte, because a signature
91
+ * is checked and not read. This is the same round trip the Anthropic adapter
92
+ * does with signed thinking blocks, one field along: there the carrier is
93
+ * `LLMMessage.thinkingBlocks[].signature`, here it is the tool call itself,
94
+ * because that is where Google puts it.
95
+ *
96
+ * What that does NOT cover, said plainly: a signature attached to a TEXT part
97
+ * of an answer with no function call. The port's assistant turn is a string,
98
+ * and a string has nowhere to keep one. The trial's failure was the functionCall
99
+ * shape; that shape is fixed here, and the other one is named rather than
100
+ * quietly half-handled.
42
101
  *
43
102
  * ─── Limitations (stated, not discovered) ───────────────────────────
44
103
  *
@@ -48,12 +107,12 @@
48
107
  * • **Thought summaries are not requested.** `usage.thinking` is reported
49
108
  * honestly from `thoughtsTokenCount`, and `req.thinking.budget` is threaded
50
109
  * to `thinkingConfig.thinkingBudget` — but `includeThoughts` is deliberately
51
- * left unset, so no `rawThinking` is produced. Gemini's thought parts carry a
52
- * `thoughtSignature` that has to be echoed byte-exact on the next turn, and
53
- * there is no Gemini `ThinkingHandler` in this release to normalize and
54
- * round-trip them. Asking for content nothing can carry would be a leak, not
55
- * a feature. `thinkingConfig.thinkingLevel` has no field on `LLMRequest` and
56
- * is likewise not sent.
110
+ * left unset, so no `rawThinking` is produced and there is no Gemini
111
+ * `ThinkingHandler` in this release to normalize thought TEXT. Asking for
112
+ * content nothing can carry would be a leak, not a feature. Signature
113
+ * round-tripping (above) is a separate thing and does not need one.
114
+ * `thinkingConfig.thinkingLevel` has no field on `LLMRequest` and is
115
+ * likewise not sent.
57
116
  * • `responseJsonSchema` (native structured output) is NOT exposed; use
58
117
  * `.outputSchema(...)`, which goes over as a forced tool — a shape this
59
118
  * adapter DOES carry.
@@ -75,8 +134,22 @@ const googleGenAI_js_1 = require("./googleGenAI.js");
75
134
  * the recording and the request.
76
135
  */
77
136
  const CARRIES_IN_MESSAGES = Object.freeze(['user', 'assistant']);
78
- /** The model asked for when the request says only `'gemini'`. */
79
- const DEFAULT_MODEL = 'gemini-2.5-flash';
137
+ /**
138
+ * The model asked for when the request says only `'gemini'` — **on Vertex**.
139
+ *
140
+ * Field-proven rather than assumed: an independent trial on live GCP completed
141
+ * a real Vertex tool round trip on `gemini-2.5-flash` through Application
142
+ * Default Credentials, two LLM calls and one tool execution (FINDINGS "Part 1 —
143
+ * native Gemini on Vertex through ADC"). Google lists the model's retirement
144
+ * for **October 16, 2026**, so this is a default with an expiry date, not a
145
+ * recommendation — name a current model in `defaultModel` when you have one.
146
+ *
147
+ * There is deliberately NO sibling constant for the key door. See
148
+ * {@link GeminiProviderOptions.defaultModel}.
149
+ */
150
+ const DEFAULT_VERTEX_MODEL = 'gemini-2.5-flash';
151
+ /** The request-side shorthand that asks for whatever the door's default is. */
152
+ const MODEL_SHORTHAND = 'gemini';
80
153
  /**
81
154
  * Prefix on a tool-call id THIS ADAPTER invented.
82
155
  *
@@ -115,16 +188,24 @@ const SYNTHETIC_ID_PREFIX = 'gemini-call-';
115
188
  * and when `@google/genai` is not installed.
116
189
  */
117
190
  function gemini(options = {}) {
118
- const client = (0, googleGenAI_js_1.resolveGoogleGenAIClient)(options, 'gemini', options._client);
119
- const defaultModel = options.defaultModel ?? DEFAULT_MODEL;
191
+ // Eager, so a missing `@google/genai` and an unanswerable door are still
192
+ // refused where the consumer typed `gemini(...)`. Under a callback key
193
+ // there is nothing to build yet — see the resolver.
194
+ const connect = (0, googleGenAI_js_1.createGoogleGenAIClientResolver)(options, 'gemini', options._client, true);
195
+ // A double talks to nobody, so its door comes from the options alone and
196
+ // never from the ambient environment of whoever is running the tests.
197
+ const door = (0, googleGenAI_js_1.resolveGoogleDoor)(options, options._client === undefined);
198
+ const defaultModel = options.defaultModel ?? (door === 'vertex' ? DEFAULT_VERTEX_MODEL : undefined);
120
199
  const defaultMaxTokens = options.defaultMaxTokens;
121
200
  // Ids are invented per PROVIDER INSTANCE, in call order — the same shape
122
201
  // `ollama()` uses, and for the same reason: the wire omits them.
123
202
  let toolCallSeq = 0;
124
203
  const nextToolCallId = () => `${SYNTHETIC_ID_PREFIX}${++toolCallSeq}`;
125
204
  // The ONE secret this adapter holds, so the ONE string its errors promise
126
- // never to print — see `wrapError`.
127
- const wrap = (err) => wrapError(err, options.apiKey);
205
+ // never to print — see `wrapError`. Under a callback key the secret CHANGES,
206
+ // so the string to redact is the one the failing call actually used, not the
207
+ // one the options were built with.
208
+ const wrap = (err, apiKey) => wrapError(err, apiKey);
128
209
  const provider = {
129
210
  name: 'gemini',
130
211
  carriesInMessages: CARRIES_IN_MESSAGES,
@@ -135,29 +216,40 @@ function gemini(options = {}) {
135
216
  // is no endpoint whose behaviour we would be promising on its behalf.
136
217
  carriesForcedToolChoice: true,
137
218
  async complete(req) {
138
- const params = buildParams(req, defaultModel, defaultMaxTokens);
219
+ const params = buildParams(req, resolveModel(req.model, defaultModel, door), defaultMaxTokens);
220
+ // Resolved BEFORE the try so a lease failure carries no key to redact
221
+ // that we would have had to guess at; the resolver's own refusals never
222
+ // quote the credential.
223
+ const lease = await connect();
139
224
  try {
140
- const response = await client.models.generateContent(params);
225
+ const response = await lease.client.models.generateContent(params);
141
226
  return fromGeminiResponse(response, nextToolCallId);
142
227
  }
143
228
  catch (err) {
144
- throw wrap(err);
229
+ throw wrap(err, lease.apiKey);
145
230
  }
146
231
  },
147
232
  async *stream(req) {
148
- const params = buildParams(req, defaultModel, defaultMaxTokens);
233
+ const params = buildParams(req, resolveModel(req.model, defaultModel, door), defaultMaxTokens);
234
+ // One lease for the whole stream. A key that rotates mid-stream cannot
235
+ // be applied to a socket that is already open — see the refresh boundary
236
+ // in googleGenAI.ts.
237
+ const lease = await connect();
149
238
  let stream;
150
239
  try {
151
240
  // Two awaits, one call: `generateContentStream` answers with a PROMISE
152
241
  // of an async generator, so `for await` over the return value directly
153
242
  // iterates a promise and yields nothing.
154
- stream = await client.models.generateContentStream(params);
243
+ stream = await lease.client.models.generateContentStream(params);
155
244
  }
156
245
  catch (err) {
157
- throw wrap(err);
246
+ throw wrap(err, lease.apiKey);
158
247
  }
159
248
  const textParts = [];
160
- const functionCalls = [];
249
+ // The PART, not just its `functionCall`: the thought signature is the
250
+ // part's field, and a call collected without it is a call that cannot
251
+ // go back (see the file header's Failure-4 note).
252
+ const functionParts = [];
161
253
  let usage;
162
254
  let finishReason;
163
255
  let responseId;
@@ -179,7 +271,7 @@ function gemini(options = {}) {
179
271
  finishReason = candidate.finishReason;
180
272
  for (const part of candidate?.content?.parts ?? []) {
181
273
  if (part.functionCall)
182
- functionCalls.push(part.functionCall);
274
+ functionParts.push(part);
183
275
  // A thought-summary part is not visible content and is never
184
276
  // streamed as one. Nothing asks for them today (see the file
185
277
  // header); the guard is here so that a model that volunteers one
@@ -193,7 +285,7 @@ function gemini(options = {}) {
193
285
  }
194
286
  }
195
287
  }
196
- const toolCalls = functionCalls.map((fc) => toLLMToolCall(fc, nextToolCallId));
288
+ const toolCalls = functionParts.map((part) => toLLMToolCall(part, nextToolCallId));
197
289
  const response = {
198
290
  content: textParts.join(''),
199
291
  toolCalls,
@@ -210,13 +302,41 @@ function gemini(options = {}) {
210
302
  yield { tokenIndex, content: '', done: true, response };
211
303
  }
212
304
  catch (err) {
213
- throw wrap(err);
305
+ throw wrap(err, lease.apiKey);
214
306
  }
215
307
  },
216
308
  };
217
309
  return provider;
218
310
  }
219
311
  exports.gemini = gemini;
312
+ /**
313
+ * The model this request is for — and the ONE refusal the doors do not share.
314
+ *
315
+ * A request naming a model wins, always. The shorthand `'gemini'` resolves to
316
+ * the door's default, and the Gemini API door HAS no default (see
317
+ * {@link GeminiProviderOptions.defaultModel}): the one this package used to
318
+ * send was measured returning HTTP 404 on that door for a new account.
319
+ *
320
+ * Refused here rather than at construction because a consumer who always names
321
+ * a model never needs a default, and a factory that refused them at the call
322
+ * site they typed would be charging everyone for a setting only some use.
323
+ */
324
+ function resolveModel(requested, defaultModel, door) {
325
+ if (requested !== MODEL_SHORTHAND)
326
+ return requested;
327
+ if (defaultModel !== undefined)
328
+ return defaultModel;
329
+ throw new Error(`gemini: model 'gemini' is a shorthand for this door's default model, and the ` +
330
+ `${door === 'vertex' ? 'Vertex' : 'Gemini API (AI Studio)'} door has no default.\n` +
331
+ " A live field trial called that door with this package's old default, " +
332
+ "'gemini-2.5-flash', and Google answered 404: \"This model models/gemini-2.5-flash is no " +
333
+ 'longer available to new users." Sending it anyway would fail on YOUR first call, after ' +
334
+ 'the request was built and paid for in latency.\n' +
335
+ " Fix: gemini({ apiKey, defaultModel: 'the-model-your-key-can-use' })\n" +
336
+ " Or: name the model per call — Agent.create({ model: 'gemini-3.1-flash-lite' }).\n" +
337
+ ' On VERTEX the shorthand still resolves — to gemini-2.5-flash, which the same trial ran ' +
338
+ 'end to end (Google retires it 2026-10-16).');
339
+ }
220
340
  /**
221
341
  * Class form for consumers who prefer `new GeminiProvider(...)` over the
222
342
  * `gemini(...)` factory. Identical behavior; trivial wrapper.
@@ -242,7 +362,7 @@ class GeminiProvider {
242
362
  }
243
363
  exports.GeminiProvider = GeminiProvider;
244
364
  // ─── Internals ──────────────────────────────────────────────────────
245
- function buildParams(req, defaultModel, defaultMaxTokens) {
365
+ function buildParams(req, model, defaultMaxTokens) {
246
366
  const config = {};
247
367
  // The system prompt is a top-level field, not a turn — see
248
368
  // CARRIES_IN_MESSAGES.
@@ -276,7 +396,7 @@ function buildParams(req, defaultModel, defaultMaxTokens) {
276
396
  };
277
397
  }
278
398
  return {
279
- model: req.model === 'gemini' ? defaultModel : req.model,
399
+ model,
280
400
  contents: toGeminiContents(req.messages),
281
401
  ...(Object.keys(config).length > 0 && { config }),
282
402
  };
@@ -287,7 +407,9 @@ function buildParams(req, defaultModel, defaultMaxTokens) {
287
407
  * Key transforms:
288
408
  * • `role: 'system'` is DROPPED — it rides `config.systemInstruction`.
289
409
  * • `role: 'assistant'` becomes `role: 'model'`, with `toolCalls` restored as
290
- * `functionCall` parts so a multi-turn tool conversation round-trips.
410
+ * `functionCall` parts so a multi-turn tool conversation round-trips —
411
+ * each one carrying back the `thoughtSignature` it arrived with, which is
412
+ * what makes the SECOND call of a tool loop legal on a current model.
291
413
  * • `role: 'tool'` becomes a `functionResponse` part inside a **user** turn,
292
414
  * which is where Gemini expects results. Consecutive tool messages merge
293
415
  * into ONE user turn, so a reply that called three tools is answered by one
@@ -308,7 +430,12 @@ function toGeminiContents(messages) {
308
430
  if (m.content)
309
431
  parts.push({ text: m.content });
310
432
  for (const tc of m.toolCalls ?? []) {
433
+ const signature = thoughtSignatureOf(tc.providerMeta);
311
434
  parts.push({
435
+ // Back on the PART, exactly where it came from and byte for byte.
436
+ // Absent when the model never sent one (a 2.5-series turn), because
437
+ // an invented signature is worse than a missing one.
438
+ ...(signature !== undefined && { thoughtSignature: signature }),
312
439
  functionCall: {
313
440
  // Only an id GEMINI issued goes back to Gemini — see
314
441
  // SYNTHETIC_ID_PREFIX.
@@ -353,6 +480,20 @@ function toGeminiContents(messages) {
353
480
  function isRealId(id) {
354
481
  return id !== undefined && id.length > 0 && !id.startsWith(SYNTHETIC_ID_PREFIX);
355
482
  }
483
+ /** The key this adapter parks a thought signature under on `providerMeta`. */
484
+ const THOUGHT_SIGNATURE = 'thoughtSignature';
485
+ /**
486
+ * A signature off the port's neutral metadata bag — or nothing.
487
+ *
488
+ * Shape-checked rather than trusted: `providerMeta` survives a checkpoint, a
489
+ * `structuredClone` and whatever a consumer did to the history in between, and
490
+ * a non-string in the `thoughtSignature` field would go on the wire as a
491
+ * garbled signature, which the service rejects less clearly than a missing one.
492
+ */
493
+ function thoughtSignatureOf(meta) {
494
+ const raw = meta?.[THOUGHT_SIGNATURE];
495
+ return typeof raw === 'string' && raw.length > 0 ? raw : undefined;
496
+ }
356
497
  /**
357
498
  * `LLMToolSchema` → `FunctionDeclaration`, with the schema untranslated.
358
499
  *
@@ -376,7 +517,7 @@ function fromGeminiResponse(response, nextToolCallId) {
376
517
  const toolCalls = [];
377
518
  for (const part of candidate?.content?.parts ?? []) {
378
519
  if (part.functionCall)
379
- toolCalls.push(toLLMToolCall(part.functionCall, nextToolCallId));
520
+ toolCalls.push(toLLMToolCall(part, nextToolCallId));
380
521
  // Thought summaries are not the answer. See the header.
381
522
  if (part.thought)
382
523
  continue;
@@ -391,11 +532,24 @@ function fromGeminiResponse(response, nextToolCallId) {
391
532
  ...(response.responseId !== undefined && { providerRef: response.responseId }),
392
533
  };
393
534
  }
394
- function toLLMToolCall(fc, nextToolCallId) {
535
+ /**
536
+ * One `functionCall` PART → one port tool call, signature included.
537
+ *
538
+ * Takes the part rather than the `functionCall` because the two fields that
539
+ * have to travel together live at different levels: the call is inside the
540
+ * part, the signature is on it.
541
+ */
542
+ function toLLMToolCall(part, nextToolCallId) {
543
+ const fc = part.functionCall ?? {};
544
+ const signature = part.thoughtSignature;
395
545
  return {
396
546
  id: fc.id && fc.id.length > 0 ? fc.id : nextToolCallId(),
397
547
  name: fc.name ?? '',
398
548
  args: { ...(fc.args ?? {}) },
549
+ // Only when there IS one. An empty bag on every tool call would be noise
550
+ // in every recording, every checkpoint and every narrative line.
551
+ ...(typeof signature === 'string' &&
552
+ signature.length > 0 && { providerMeta: { [THOUGHT_SIGNATURE]: signature } }),
399
553
  };
400
554
  }
401
555
  /**
@@ -410,6 +564,14 @@ function toLLMToolCall(fc, nextToolCallId) {
410
564
  * `cacheWrite` stays undefined on purpose: Gemini's context caching is created
411
565
  * by a separate `caches.create` call that this adapter does not make, so there
412
566
  * is no write for a `generateContent` turn to report.
567
+ *
568
+ * **`output` does not include thinking on this wire, and that matters for
569
+ * money.** A field trial's 256-token stream came back `input 21, output 9,
570
+ * thinking 243` — 243 tokens that were spent, were billed, and appear in
571
+ * neither `input` nor `output` (FINDINGS "Failure 5"). Anything adding
572
+ * `input + output` to estimate a Gemini turn is under-counting by whatever the
573
+ * model thought. `usage.thinking` is the number to add, and it now survives all
574
+ * the way to `agentfootprint.stream.llm_end`.
413
575
  */
414
576
  function toUsage(usage) {
415
577
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/GeminiProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeminiProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/GeminiProvider.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ const CARRIES_IN_MESSAGES = Object.freeze(['system', 'user', 'assistant']);
47
47
  * .build();
48
48
  */
49
49
  function openai(options = {}) {
50
- const client = resolveClient(options);
50
+ const connect = createClientResolver(options);
51
51
  const defaultModel = options.defaultModel ?? 'gpt-4o-mini';
52
52
  const defaultMaxTokens = options.defaultMaxTokens;
53
53
  // A custom baseURL means an OpenAI-COMPATIBLE endpoint (Ollama/vLLM/Together/Groq),
@@ -69,6 +69,9 @@ function openai(options = {}) {
69
69
  carriesForcedToolChoice: !legacyEndpoint,
70
70
  async complete(req) {
71
71
  const params = buildParams(req, { ...cfg, stream: false });
72
+ // The credential is asked for HERE, per request, so a token that expired
73
+ // since the last call is a new token and not a 401.
74
+ const client = await connect();
72
75
  try {
73
76
  const response = (await client.chat.completions.create(params));
74
77
  return fromOpenAIResponse(response);
@@ -79,6 +82,7 @@ function openai(options = {}) {
79
82
  },
80
83
  async *stream(req) {
81
84
  const params = buildParams(req, { ...cfg, stream: true });
85
+ const client = await connect();
82
86
  let stream;
83
87
  try {
84
88
  stream = client.chat.completions.create(params);
@@ -292,6 +296,63 @@ function resolveAzureClient(options) {
292
296
  //
293
297
  // openai({ baseURL: 'http://localhost:11434/v1', apiKey: 'ollama' })
294
298
  // ─── Internals ──────────────────────────────────────────────────────
299
+ /**
300
+ * The client seam — one answer per request.
301
+ *
302
+ * Three paths, and only the third is new (the same three the Google adapters
303
+ * take, deliberately: two doors that solved the same problem differently would
304
+ * be two doors to learn):
305
+ *
306
+ * 1. `_client` injected → the double, always (the credential callback still
307
+ * runs, because the double replaces the client and not the credential).
308
+ * 2. `apiKey` a string or absent → built ONCE, at factory time, so a missing
309
+ * `openai` package is still refused where the consumer typed `openai(...)`.
310
+ * 3. `apiKey` a callback → called before every request; the SDK client is
311
+ * rebuilt only when the answer changed. Not eager: calling a consumer's
312
+ * credential provider from a factory fetches a token nobody asked for yet.
313
+ */
314
+ function createClientResolver(options) {
315
+ const source = options.apiKey;
316
+ if (options._client) {
317
+ const injected = options._client;
318
+ // A double stands in for the SDK client, not for the credential: a
319
+ // callback is still called per request, so the rotation is observable in a
320
+ // test that never opens a socket.
321
+ if (typeof source !== 'function')
322
+ return () => injected;
323
+ return async () => {
324
+ await requireKey(source);
325
+ return injected;
326
+ };
327
+ }
328
+ if (typeof source !== 'function') {
329
+ const built = resolveClient(options);
330
+ return () => built;
331
+ }
332
+ let lastKey;
333
+ let built;
334
+ return async () => {
335
+ const answer = await requireKey(source);
336
+ if (built === undefined || answer !== lastKey) {
337
+ built = resolveClient({ ...options, apiKey: answer });
338
+ lastKey = answer;
339
+ }
340
+ return built;
341
+ };
342
+ }
343
+ /** Call the credential callback and insist on something usable. */
344
+ async function requireKey(source) {
345
+ const answer = await source();
346
+ if (typeof answer === 'string' && answer.trim().length > 0)
347
+ return answer;
348
+ // The value is never quoted back: it is a credential when it is right.
349
+ throw new Error('openai: the `apiKey` callback returned ' +
350
+ (typeof answer === 'string' ? 'an empty string' : `a ${typeof answer}`) +
351
+ ', and a key has to be a non-empty string.\n' +
352
+ ' The callback runs before every request, so this is a live credential failure — a ' +
353
+ 'token fetch that failed usually throws rather than returning nothing.\n' +
354
+ ' Fix: return the token, or throw from the callback so openai() can report why.');
355
+ }
295
356
  function resolveClient(options) {
296
357
  if (options._client)
297
358
  return options._client;
@@ -305,7 +366,10 @@ function resolveClient(options) {
305
366
  ' Install: npm install openai\n' +
306
367
  ' Or pass `_client` for test injection.');
307
368
  }
308
- const apiKey = options.apiKey ?? process.env.OPENAI_API_KEY;
369
+ // A callback has already been resolved to a string by `createClientResolver`
370
+ // before it reaches here; the guard is what keeps a function from being
371
+ // stringified into an `Authorization` header by a future call site.
372
+ const apiKey = (typeof options.apiKey === 'string' ? options.apiKey : undefined) ?? process.env.OPENAI_API_KEY;
309
373
  return new OpenAI({ apiKey, ...(options.baseURL && { baseURL: options.baseURL }) });
310
374
  }
311
375
  /** o-series reasoning ids (o1, o1-mini, o3, o3-mini, o4-mini, o5, …). `gpt-4o`
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"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"}