@memberjunction/ai-gemini 5.37.0 → 5.39.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.
- package/dist/index.d.ts +23 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +160 -31
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare class GeminiLLM extends BaseLLM {
|
|
|
4
4
|
protected _gemini: GoogleGenAI | null;
|
|
5
5
|
private _geminiPromise;
|
|
6
6
|
private _streamingState;
|
|
7
|
+
private _cacheDiagContext;
|
|
7
8
|
constructor(apiKey: string);
|
|
8
9
|
/**
|
|
9
10
|
* Factory method to create the GoogleGenAI client instance
|
|
@@ -30,7 +31,8 @@ export declare class GeminiLLM extends BaseLLM {
|
|
|
30
31
|
* Convert MJ effort level (1-100) to Gemini thinkingBudget (0-24576)
|
|
31
32
|
*
|
|
32
33
|
* Mapping strategy:
|
|
33
|
-
* - 1
|
|
34
|
+
* - 1 (minimal): 0 (disabled) on Flash; clamped to ~1024 on Pro
|
|
35
|
+
* - 2-33 (low): 1024-4096 tokens
|
|
34
36
|
* - 34-66 (medium): 4097-12288 tokens
|
|
35
37
|
* - 67-100 (high): 12289-24576 tokens
|
|
36
38
|
* - undefined: No thinkingConfig (Gemini default ~8192)
|
|
@@ -76,6 +78,26 @@ export declare class GeminiLLM extends BaseLLM {
|
|
|
76
78
|
finishReason?: string;
|
|
77
79
|
usage?: any;
|
|
78
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Builds a {@link GeminiCacheDiagContext} snapshot for the current request. Cheap (one djb2
|
|
83
|
+
* pass over the system prompt); only called when GEMINI_CACHE_DEBUG is set.
|
|
84
|
+
*/
|
|
85
|
+
private buildCacheDiagContext;
|
|
86
|
+
/**
|
|
87
|
+
* Emits a one-line prompt-cache diagnostic for a Gemini call, gated behind the
|
|
88
|
+
* GEMINI_CACHE_DEBUG env var so it is silent in normal operation. Surfaces exactly what we need
|
|
89
|
+
* to explain a cache miss: whether a stable systemInstruction prefix was sent (chars + hash so
|
|
90
|
+
* two runs can be compared), the history depth, the provider's native token split
|
|
91
|
+
* (prompt/cached/net/completion), and whether a cache hit occurred. Warns when the input is
|
|
92
|
+
* below Gemini's implicit-cache minimum or when no systemInstruction was sent at all.
|
|
93
|
+
*/
|
|
94
|
+
private logCacheDiagnostics;
|
|
95
|
+
/**
|
|
96
|
+
* djb2 string hash → 8-char hex. Non-cryptographic; used only to compare whether the system
|
|
97
|
+
* prompt prefix is byte-identical across two runs (a changing hash means the prefix is unstable
|
|
98
|
+
* and implicit caching cannot engage). Dependency-free on purpose to keep this provider-local.
|
|
99
|
+
*/
|
|
100
|
+
private stableHash;
|
|
79
101
|
/**
|
|
80
102
|
* Process pending content to extract thinking blocks
|
|
81
103
|
* Returns content that should be emitted to the user
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAA6B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA0B,kBAAkB,EAA6B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAuB7M,qBACa,SAAU,SAAQ,OAAO;IAClC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,cAAc,CAAqC;IAG3D,OAAO,CAAC,eAAe,CAUrB;IAIF,OAAO,CAAC,iBAAiB,CAAuC;gBAEpD,MAAM,EAAE,MAAM;IAM1B;;;;;OAKG;cACa,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpD;;;OAGG;YACW,kBAAkB;IAahC;;OAEG;IACa,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAe9D;;;OAGG;IACH,IAAW,YAAY,IAAI,WAAW,CAKrC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAgC9D;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAyPnF,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAmHxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IA4DD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IAkFb,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAGhE,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;WAIzB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;WAgDnE,gCAAgC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;CAMhF;AAID,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ var GeminiLLM_1;
|
|
|
12
12
|
import { GoogleGenAI } from "@google/genai";
|
|
13
13
|
// MJ stuff
|
|
14
14
|
import { BaseLLM, ChatResult, ModelUsage, ErrorAnalyzer } from "@memberjunction/ai";
|
|
15
|
-
import { RegisterClass } from "@memberjunction/global";
|
|
15
|
+
import { RegisterClass, ToJSONSafe } from "@memberjunction/global";
|
|
16
16
|
let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
17
17
|
constructor(apiKey) {
|
|
18
18
|
super(apiKey);
|
|
@@ -25,6 +25,9 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
25
25
|
pendingContent: '',
|
|
26
26
|
thinkingComplete: false
|
|
27
27
|
};
|
|
28
|
+
// Diagnostic context for the in-flight streaming request, used only by the GEMINI_CACHE_DEBUG
|
|
29
|
+
// logging path so the final chunk's usage can be reported alongside the request's prefix info.
|
|
30
|
+
this._cacheDiagContext = null;
|
|
28
31
|
// Note: We don't initialize the client here to allow subclasses to set up first
|
|
29
32
|
// Initialization happens lazily on first use via ensureGeminiClient()
|
|
30
33
|
}
|
|
@@ -82,7 +85,8 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
82
85
|
* Convert MJ effort level (1-100) to Gemini thinkingBudget (0-24576)
|
|
83
86
|
*
|
|
84
87
|
* Mapping strategy:
|
|
85
|
-
* - 1
|
|
88
|
+
* - 1 (minimal): 0 (disabled) on Flash; clamped to ~1024 on Pro
|
|
89
|
+
* - 2-33 (low): 1024-4096 tokens
|
|
86
90
|
* - 34-66 (medium): 4097-12288 tokens
|
|
87
91
|
* - 67-100 (high): 12289-24576 tokens
|
|
88
92
|
* - undefined: No thinkingConfig (Gemini default ~8192)
|
|
@@ -111,15 +115,15 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
111
115
|
const lowerModel = modelName.toLowerCase();
|
|
112
116
|
const isFlashModel = lowerModel.includes('flash');
|
|
113
117
|
const isProModel = lowerModel.includes('pro') && !isFlashModel;
|
|
114
|
-
//
|
|
115
|
-
if (level
|
|
118
|
+
// Minimal effort (1) - disable thinking on Flash models
|
|
119
|
+
if (level === 1 && isFlashModel) {
|
|
116
120
|
return 0; // Disable thinking (only works on Flash/Flash-Lite)
|
|
117
121
|
}
|
|
118
122
|
// For Pro models, minimum effective budget is ~1024
|
|
119
|
-
// For Flash models with effort
|
|
123
|
+
// For Flash models with effort >= 2, use normal scaling
|
|
120
124
|
if (level <= 33) {
|
|
121
|
-
// Low: linear scale from 1024 to 4096
|
|
122
|
-
return Math.round(1024 + ((level -
|
|
125
|
+
// Low (2-33): linear scale from 1024 to 4096
|
|
126
|
+
return Math.round(1024 + ((level - 2) / 31) * (4096 - 1024));
|
|
123
127
|
}
|
|
124
128
|
else if (level <= 66) {
|
|
125
129
|
// Medium: linear scale from 4097 to 12288
|
|
@@ -196,11 +200,10 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
196
200
|
// Split: all but last message go in history, last message gets system instructions prepended
|
|
197
201
|
const history = tempMessages.slice(0, -1);
|
|
198
202
|
const lastMessage = tempMessages.length > 0 ? tempMessages[tempMessages.length - 1] : null;
|
|
199
|
-
//
|
|
203
|
+
// The system prompt is passed via systemInstruction (below), NOT bundled into the user
|
|
204
|
+
// message — bundling put the stable prompt AFTER the variable history, defeating Gemini's
|
|
205
|
+
// implicit prompt caching. The final message is just the latest user turn's parts.
|
|
200
206
|
let finalMessageParts = [];
|
|
201
|
-
if (systemInstructionText) {
|
|
202
|
-
finalMessageParts.push({ text: systemInstructionText });
|
|
203
|
-
}
|
|
204
207
|
if (lastMessage) {
|
|
205
208
|
finalMessageParts.push(...lastMessage.parts);
|
|
206
209
|
}
|
|
@@ -211,8 +214,17 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
211
214
|
// Create the model and then chat
|
|
212
215
|
const modelOptions = {
|
|
213
216
|
temperature: params.temperature || 0.5,
|
|
214
|
-
responseType: params.responseFormat,
|
|
215
217
|
};
|
|
218
|
+
switch (params.responseFormat) {
|
|
219
|
+
case 'JSON':
|
|
220
|
+
modelOptions.responseMimeType = 'application/json';
|
|
221
|
+
break;
|
|
222
|
+
case 'ModelSpecific':
|
|
223
|
+
if (params.modelSpecificResponseFormat) {
|
|
224
|
+
Object.assign(modelOptions, params.modelSpecificResponseFormat);
|
|
225
|
+
}
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
216
228
|
// Add supported parameters
|
|
217
229
|
if (params.topP != null) {
|
|
218
230
|
modelOptions.top_p = params.topP;
|
|
@@ -244,17 +256,26 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
244
256
|
this.setThinkingConfig(chatConfig, useThinking, params.effortLevel, modelName, thinkingBudget);
|
|
245
257
|
// Ensure Gemini client is initialized
|
|
246
258
|
const client = await this.ensureGeminiClient();
|
|
247
|
-
//
|
|
248
|
-
//
|
|
259
|
+
// Pass the system prompt as systemInstruction (a plain string — a string[] is invalid and
|
|
260
|
+
// was the original reason this was bundled into the message). It becomes the stable,
|
|
261
|
+
// cacheable prefix so Gemini's implicit cache can engage across turns.
|
|
262
|
+
// NOTE: @google/genai's sendMessage `config` REPLACES (not merges) the session config, so
|
|
263
|
+
// systemInstruction must ride in the per-request config (modelOptions) — that's the one
|
|
264
|
+
// that applies. We intentionally do NOT fold chatConfig (thinkingConfig) in here: that
|
|
265
|
+
// preserves the prior thinking behavior exactly (it stays on the session config) and avoids
|
|
266
|
+
// sending a thinking level some models reject.
|
|
267
|
+
const requestConfig = { ...modelOptions };
|
|
268
|
+
if (systemInstructionText) {
|
|
269
|
+
requestConfig.systemInstruction = systemInstructionText;
|
|
270
|
+
}
|
|
249
271
|
const chat = client.chats.create({
|
|
250
272
|
config: Object.keys(chatConfig).length > 0 ? chatConfig : undefined,
|
|
251
273
|
model: modelName,
|
|
252
274
|
history: history
|
|
253
275
|
});
|
|
254
|
-
// Send the last message with system instructions prepended
|
|
255
276
|
const result = await chat.sendMessage({
|
|
256
277
|
message: finalMessageParts,
|
|
257
|
-
config:
|
|
278
|
+
config: requestConfig
|
|
258
279
|
});
|
|
259
280
|
// Check for blocked response or empty candidates
|
|
260
281
|
if (!result.candidates || result.candidates.length === 0) {
|
|
@@ -315,12 +336,26 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
315
336
|
thinkingContent = thinking;
|
|
316
337
|
}
|
|
317
338
|
const endTime = new Date();
|
|
339
|
+
// Gemini's cache convention: `promptTokenCount` INCLUDES cached tokens, reported
|
|
340
|
+
// separately as `cachedContentTokenCount`. Normalize to the uniform ModelUsage contract:
|
|
341
|
+
// promptTokens must be UNCACHED/net-new only, so subtract the cache-read count (clamped at
|
|
342
|
+
// 0) and record it disjointly. Gemini does not report a separate cache-write charge, so
|
|
343
|
+
// cacheWriteTokens stays 0. Full native prompt count = usage.totalInputTokens.
|
|
344
|
+
const geminiCachedTokens = result.usageMetadata?.cachedContentTokenCount ?? 0;
|
|
345
|
+
const geminiNetPromptTokens = Math.max(0, (result.usageMetadata?.promptTokenCount || 0) - geminiCachedTokens);
|
|
346
|
+
const geminiUsage = new ModelUsage(geminiNetPromptTokens, result.usageMetadata?.candidatesTokenCount || 0);
|
|
347
|
+
geminiUsage.cacheReadTokens = geminiCachedTokens;
|
|
348
|
+
this.logCacheDiagnostics('non-streaming', this.buildCacheDiagContext(modelName, systemInstructionText, history.length), result.usageMetadata);
|
|
318
349
|
return {
|
|
319
350
|
success: true,
|
|
320
351
|
statusText: "OK",
|
|
321
352
|
startTime: startTime,
|
|
322
353
|
endTime: endTime,
|
|
323
354
|
timeElapsed: endTime.getTime() - startTime.getTime(),
|
|
355
|
+
cacheInfo: {
|
|
356
|
+
cacheHit: geminiCachedTokens > 0,
|
|
357
|
+
cachedTokenCount: geminiCachedTokens
|
|
358
|
+
},
|
|
324
359
|
data: {
|
|
325
360
|
choices: [{
|
|
326
361
|
message: {
|
|
@@ -331,7 +366,14 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
331
366
|
finish_reason: finishReason || "completed",
|
|
332
367
|
index: 0
|
|
333
368
|
}],
|
|
334
|
-
usage:
|
|
369
|
+
usage: geminiUsage
|
|
370
|
+
},
|
|
371
|
+
// Full native Gemini response (circular-safe) for review/audit — includes
|
|
372
|
+
// usageMetadata (cachedContentTokenCount etc.) and candidate/safety details.
|
|
373
|
+
modelSpecificResponseDetails: {
|
|
374
|
+
provider: 'google',
|
|
375
|
+
model: modelName,
|
|
376
|
+
raw: ToJSONSafe(result)
|
|
335
377
|
},
|
|
336
378
|
errorMessage: "",
|
|
337
379
|
exception: null,
|
|
@@ -370,10 +412,10 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
370
412
|
if (isNaN(numericLevel)) {
|
|
371
413
|
numericLevel = 0;
|
|
372
414
|
}
|
|
373
|
-
if (
|
|
374
|
-
geminiLevel = "MINIMAL"; //
|
|
415
|
+
if (numericLevel === 1) {
|
|
416
|
+
geminiLevel = "MINIMAL"; // effort 1 is the minimum valid value and maps to minimal thinking on Gemini 3+ models
|
|
375
417
|
}
|
|
376
|
-
else if (numericLevel <= 33) {
|
|
418
|
+
else if (numericLevel >= 2 && numericLevel <= 33) {
|
|
377
419
|
geminiLevel = "LOW";
|
|
378
420
|
}
|
|
379
421
|
else if (numericLevel <= 66) {
|
|
@@ -431,11 +473,15 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
431
473
|
// Split: all but last message go in history, last message gets system instructions prepended
|
|
432
474
|
const history = tempMessages.slice(0, -1);
|
|
433
475
|
const lastMessage = tempMessages.length > 0 ? tempMessages[tempMessages.length - 1] : null;
|
|
434
|
-
//
|
|
476
|
+
// Capture the request's cacheable-prefix info so the final streamed chunk's usage can be
|
|
477
|
+
// logged next to it (GEMINI_CACHE_DEBUG only; processStreamingChunk reads this).
|
|
478
|
+
this._cacheDiagContext = process.env.GEMINI_CACHE_DEBUG
|
|
479
|
+
? this.buildCacheDiagContext(modelName, systemInstructionText, history.length)
|
|
480
|
+
: null;
|
|
481
|
+
// System prompt is passed via systemInstruction (below), NOT bundled into the user message
|
|
482
|
+
// — bundling defeats Gemini's implicit prompt caching (stable prompt ends up after the
|
|
483
|
+
// variable history). The final message is just the latest user turn's parts.
|
|
435
484
|
let finalMessageParts = [];
|
|
436
|
-
if (systemInstructionText) {
|
|
437
|
-
finalMessageParts.push({ text: systemInstructionText });
|
|
438
|
-
}
|
|
439
485
|
if (lastMessage) {
|
|
440
486
|
finalMessageParts.push(...lastMessage.parts);
|
|
441
487
|
}
|
|
@@ -446,8 +492,17 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
446
492
|
// Create the model and then chat
|
|
447
493
|
const modelOptions = {
|
|
448
494
|
temperature: params.temperature || 0.5,
|
|
449
|
-
responseType: params.responseFormat,
|
|
450
495
|
};
|
|
496
|
+
switch (params.responseFormat) {
|
|
497
|
+
case 'JSON':
|
|
498
|
+
modelOptions.responseMimeType = 'application/json';
|
|
499
|
+
break;
|
|
500
|
+
case 'ModelSpecific':
|
|
501
|
+
if (params.modelSpecificResponseFormat) {
|
|
502
|
+
Object.assign(modelOptions, params.modelSpecificResponseFormat);
|
|
503
|
+
}
|
|
504
|
+
break;
|
|
505
|
+
}
|
|
451
506
|
// Add supported parameters
|
|
452
507
|
if (params.topP != null) {
|
|
453
508
|
modelOptions.top_p = params.topP;
|
|
@@ -479,17 +534,23 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
479
534
|
this.setThinkingConfig(chatConfig, useThinking, params.effortLevel, modelName, thinkingBudget);
|
|
480
535
|
// Ensure Gemini client is initialized
|
|
481
536
|
const client = await this.ensureGeminiClient();
|
|
482
|
-
//
|
|
483
|
-
//
|
|
537
|
+
// systemInstruction (a plain string) is the stable, cacheable prefix. It must ride in the
|
|
538
|
+
// per-request config since @google/genai's sendMessage config REPLACES the session config.
|
|
539
|
+
// We do NOT fold chatConfig (thinkingConfig) in — that preserves prior thinking behavior and
|
|
540
|
+
// avoids sending a thinking level some models reject (see nonStreamingChatCompletion).
|
|
541
|
+
const requestConfig = { ...modelOptions };
|
|
542
|
+
if (systemInstructionText) {
|
|
543
|
+
requestConfig.systemInstruction = systemInstructionText;
|
|
544
|
+
}
|
|
484
545
|
const chat = client.chats.create({
|
|
485
546
|
config: Object.keys(chatConfig).length > 0 ? chatConfig : undefined,
|
|
486
547
|
model: modelName,
|
|
487
548
|
history: history
|
|
488
549
|
});
|
|
489
|
-
// Send the
|
|
550
|
+
// Send the latest user message (streaming); system prompt rides in requestConfig.
|
|
490
551
|
const streamResult = await chat.sendMessageStream({
|
|
491
552
|
message: finalMessageParts,
|
|
492
|
-
config:
|
|
553
|
+
config: requestConfig
|
|
493
554
|
});
|
|
494
555
|
// Return the stream for the for-await loop to work
|
|
495
556
|
return streamResult;
|
|
@@ -530,10 +591,18 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
530
591
|
if (chunk?.candidates?.[0]?.finishReason) {
|
|
531
592
|
finishReason = chunk.candidates[0].finishReason;
|
|
532
593
|
}
|
|
533
|
-
// Extract usage from chunk if available (appears on final chunk)
|
|
594
|
+
// Extract usage from chunk if available (appears on final chunk). Normalize to the uniform
|
|
595
|
+
// ModelUsage contract: promptTokenCount INCLUDES cached, so subtract cachedContentTokenCount
|
|
596
|
+
// (clamped at 0) to get UNCACHED/net-new promptTokens; cacheReadTokens holds the disjoint
|
|
597
|
+
// cache-read subset.
|
|
534
598
|
let usage = null;
|
|
535
599
|
if (chunk.usageMetadata) {
|
|
536
|
-
|
|
600
|
+
const chunkCachedTokens = chunk.usageMetadata.cachedContentTokenCount ?? 0;
|
|
601
|
+
const chunkNetPromptTokens = Math.max(0, (chunk.usageMetadata.promptTokenCount || 0) - chunkCachedTokens);
|
|
602
|
+
usage = new ModelUsage(chunkNetPromptTokens, chunk.usageMetadata.candidatesTokenCount || 0);
|
|
603
|
+
usage.cacheReadTokens = chunkCachedTokens;
|
|
604
|
+
// Usage only appears on the final chunk — log the cache diagnostic once here.
|
|
605
|
+
this.logCacheDiagnostics('streaming', this._cacheDiagContext, chunk.usageMetadata);
|
|
537
606
|
}
|
|
538
607
|
return {
|
|
539
608
|
content,
|
|
@@ -541,6 +610,61 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
541
610
|
usage
|
|
542
611
|
};
|
|
543
612
|
}
|
|
613
|
+
/**
|
|
614
|
+
* Builds a {@link GeminiCacheDiagContext} snapshot for the current request. Cheap (one djb2
|
|
615
|
+
* pass over the system prompt); only called when GEMINI_CACHE_DEBUG is set.
|
|
616
|
+
*/
|
|
617
|
+
buildCacheDiagContext(modelName, systemInstructionText, historyLength) {
|
|
618
|
+
return {
|
|
619
|
+
model: modelName,
|
|
620
|
+
systemInstructionChars: systemInstructionText?.length ?? 0,
|
|
621
|
+
systemInstructionHash: this.stableHash(systemInstructionText ?? ''),
|
|
622
|
+
historyLength
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Emits a one-line prompt-cache diagnostic for a Gemini call, gated behind the
|
|
627
|
+
* GEMINI_CACHE_DEBUG env var so it is silent in normal operation. Surfaces exactly what we need
|
|
628
|
+
* to explain a cache miss: whether a stable systemInstruction prefix was sent (chars + hash so
|
|
629
|
+
* two runs can be compared), the history depth, the provider's native token split
|
|
630
|
+
* (prompt/cached/net/completion), and whether a cache hit occurred. Warns when the input is
|
|
631
|
+
* below Gemini's implicit-cache minimum or when no systemInstruction was sent at all.
|
|
632
|
+
*/
|
|
633
|
+
logCacheDiagnostics(context, diag, usageMetadata) {
|
|
634
|
+
if (!process.env.GEMINI_CACHE_DEBUG || !diag) {
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
const promptTokens = usageMetadata?.promptTokenCount ?? 0;
|
|
638
|
+
const cachedTokens = usageMetadata?.cachedContentTokenCount ?? 0;
|
|
639
|
+
const completion = usageMetadata?.candidatesTokenCount ?? 0;
|
|
640
|
+
const netPrompt = Math.max(0, promptTokens - cachedTokens);
|
|
641
|
+
const cacheHit = cachedTokens > 0;
|
|
642
|
+
// Implicit caching has a per-model minimum prefix (~1,024 tokens for Gemini 2.5 Flash, more
|
|
643
|
+
// for Pro). Below that floor a cache can never form, which is the most common silent cause.
|
|
644
|
+
const belowImplicitFloor = promptTokens < 1024;
|
|
645
|
+
const warnings = [
|
|
646
|
+
belowImplicitFloor ? 'prompt<1024 (below implicit-cache minimum)' : '',
|
|
647
|
+
diag.systemInstructionChars === 0 ? 'no-systemInstruction (no stable cacheable prefix)' : ''
|
|
648
|
+
].filter(Boolean).join('; ');
|
|
649
|
+
console.log(`[Gemini cache] ${context} model=${diag.model} ` +
|
|
650
|
+
`systemInstruction{chars=${diag.systemInstructionChars}, hash=${diag.systemInstructionHash}} ` +
|
|
651
|
+
`history=${diag.historyLength} ` +
|
|
652
|
+
`tokens{prompt=${promptTokens}, cached=${cachedTokens}, net=${netPrompt}, completion=${completion}} ` +
|
|
653
|
+
`cacheHit=${cacheHit}` +
|
|
654
|
+
(warnings ? ` WARN=${warnings}` : ''));
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* djb2 string hash → 8-char hex. Non-cryptographic; used only to compare whether the system
|
|
658
|
+
* prompt prefix is byte-identical across two runs (a changing hash means the prefix is unstable
|
|
659
|
+
* and implicit caching cannot engage). Dependency-free on purpose to keep this provider-local.
|
|
660
|
+
*/
|
|
661
|
+
stableHash(s) {
|
|
662
|
+
let h = 5381;
|
|
663
|
+
for (let i = 0; i < s.length; i++) {
|
|
664
|
+
h = ((h << 5) + h + s.charCodeAt(i)) | 0;
|
|
665
|
+
}
|
|
666
|
+
return (h >>> 0).toString(16).padStart(8, '0');
|
|
667
|
+
}
|
|
544
668
|
/**
|
|
545
669
|
* Process pending content to extract thinking blocks
|
|
546
670
|
* Returns content that should be emitted to the user
|
|
@@ -686,6 +810,11 @@ let GeminiLLM = GeminiLLM_1 = class GeminiLLM extends BaseLLM {
|
|
|
686
810
|
result.statusText = 'success';
|
|
687
811
|
result.errorMessage = null;
|
|
688
812
|
result.exception = null;
|
|
813
|
+
const streamCachedTokens = usage?.cacheReadTokens || 0;
|
|
814
|
+
result.cacheInfo = {
|
|
815
|
+
cacheHit: streamCachedTokens > 0,
|
|
816
|
+
cachedTokenCount: streamCachedTokens
|
|
817
|
+
};
|
|
689
818
|
return result;
|
|
690
819
|
}
|
|
691
820
|
SummarizeText(params) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-gemini",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.39.0",
|
|
5
5
|
"description": "MemberJunction Wrapper for Google Gemini AI Models",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"typescript": "^5.9.3"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@memberjunction/ai": "5.
|
|
24
|
-
"@memberjunction/global": "5.
|
|
23
|
+
"@memberjunction/ai": "5.39.0",
|
|
24
|
+
"@memberjunction/global": "5.39.0",
|
|
25
25
|
"@google/genai": "^1.40.0"
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|