@flink-app/gemini-adapter 2.0.0-alpha.124 → 2.0.0-alpha.125

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 CHANGED
@@ -32,6 +32,7 @@ const app = new FlinkApp({
32
32
  |---------|-----------|----------|--------------------------------------------------------------------|
33
33
  | apiKey | `string` | Yes | Google AI API key |
34
34
  | model | `string` | Yes | Gemini model name (e.g. `"gemini-2.0-flash"`, `"gemini-1.5-pro"`) |
35
+ | thinkingConfig | `GeminiThinkingConfig` | No | Passed through as `generationConfig.thinkingConfig` (`includeThoughts`, `thinkingBudget`, `thinkingLevel`, any future field) |
35
36
  | debug | `boolean` | No | Enable debug logging (default: `false`) |
36
37
 
37
38
  ## Supported Models
@@ -41,9 +42,26 @@ const app = new FlinkApp({
41
42
  - `gemini-1.5-flash` — Fast, balanced capability
42
43
  - `gemini-2.5-pro-preview-03-25` — Latest preview model
43
44
 
45
+ ## Thinking
46
+
47
+ Thinking models (Gemini 2.5 / 3 series) are configured with `thinkingConfig`, passed through verbatim as `generationConfig.thinkingConfig`:
48
+
49
+ ```typescript
50
+ const adapter = new GeminiAdapter({
51
+ apiKey: process.env.GOOGLE_AI_API_KEY!,
52
+ model: "gemini-2.5-pro",
53
+ thinkingConfig: { includeThoughts: true, thinkingBudget: 2048 }, // optional
54
+ });
55
+ ```
56
+
57
+ - With `includeThoughts: true`, thought summaries are streamed as `reasoning` chunks and surfaced by the agent as `reasoning_delta` events on `fullStream`. They never appear in `textStream` or `result.message`. Summaries are not sent back to Gemini.
58
+ - **Thought signatures** returned on text and function call parts are captured (`providerData.gemini.signatures`) and replayed on the same parts in later turns. Gemini 3 rejects tool-call continuations with a 400 when the first function call's signature is missing, so this happens regardless of `thinkingConfig`.
59
+ - Thinking tokens (`thoughtsTokenCount`) are included in the reported `outputTokens`.
60
+
44
61
  ## Features
45
62
 
46
63
  - ✅ Tool calling support
64
+ - ✅ Thinking (`thinkingConfig` passthrough), thought summaries as `reasoning_delta`, thought signatures replayed across turns
47
65
  - ✅ Streaming responses (SSE / NDJSON)
48
66
  - ✅ Alternating turn enforcement (consecutive same-role messages are merged)
49
67
  - ✅ System instruction handling
@@ -1,4 +1,19 @@
1
1
  import type { FlinkToolSchema, LLMAdapter, LLMMessage, LLMStreamChunk } from "@flink-app/flink/ai";
2
+ /**
3
+ * Thinking configuration, passed through verbatim as `generationConfig.thinkingConfig`.
4
+ *
5
+ * Known fields are typed for convenience; any other field the API adds passes
6
+ * through unchanged (the index signature keeps this from limiting new capabilities).
7
+ */
8
+ export interface GeminiThinkingConfig {
9
+ /** Return thought summaries as parts with `thought: true` (streamed as `reasoning` chunks) */
10
+ includeThoughts?: boolean;
11
+ /** Thinking token budget. 0 disables, -1 is automatic; ranges are model dependent (2.5 series) */
12
+ thinkingBudget?: number;
13
+ /** Thinking level, e.g. "low" | "high" (Gemini 3 series) */
14
+ thinkingLevel?: string;
15
+ [key: string]: unknown;
16
+ }
2
17
  export interface GeminiAdapterOptions {
3
18
  /**
4
19
  * Google AI API key
@@ -8,6 +23,22 @@ export interface GeminiAdapterOptions {
8
23
  * Model to use (e.g., "gemini-2.0-flash", "gemini-1.5-pro", "gemini-2.5-pro-preview-03-25")
9
24
  */
10
25
  model: string;
26
+ /**
27
+ * Optional: Thinking configuration for thinking models (Gemini 2.5 / 3 series),
28
+ * passed through verbatim as `generationConfig.thinkingConfig`.
29
+ *
30
+ * - `includeThoughts: true` returns thought summaries, which are streamed as
31
+ * `reasoning` chunks (surfaced as `reasoning_delta` agent events, never mixed
32
+ * into answer text)
33
+ * - `thinkingBudget` (2.5 series) / `thinkingLevel` (3 series) control depth
34
+ *
35
+ * When omitted, the parameter is not sent and the model's default applies.
36
+ *
37
+ * Regardless of this setting, thought signatures returned on text and function
38
+ * call parts are captured and replayed on the same parts in later turns — Gemini 3
39
+ * rejects tool-call continuations with a 400 when the signature is missing.
40
+ */
41
+ thinkingConfig?: GeminiThinkingConfig;
11
42
  /**
12
43
  * Optional: Enable debug logging for development and troubleshooting
13
44
  *
@@ -35,6 +66,8 @@ export interface GeminiAdapterOptions {
35
66
  * - Tool schema sanitization for Gemini compatibility
36
67
  * - Streaming event processing via generateContentStream()
37
68
  * - Consecutive same-role message merging (Gemini requires alternating turns)
69
+ * - Thinking: `thinkingConfig` passthrough, thought summaries streamed as `reasoning`
70
+ * chunks, thought signatures replayed on their parts across turns
38
71
  *
39
72
  * ## Basic Usage
40
73
  * ```typescript
@@ -65,9 +98,14 @@ export interface GeminiAdapterOptions {
65
98
  export declare class GeminiAdapter implements LLMAdapter<FlinkToolSchema> {
66
99
  private apiKey;
67
100
  private model;
101
+ private thinkingConfig?;
68
102
  debug: boolean;
69
103
  constructor(options: GeminiAdapterOptions);
70
104
  constructor(apiKey: string, model: string);
105
+ /**
106
+ * Create the SDK model handle for a request (separated so tests can substitute it)
107
+ */
108
+ private createModel;
71
109
  stream(params: {
72
110
  instructions: string;
73
111
  messages: LLMMessage[];
@@ -90,6 +128,13 @@ export declare class GeminiAdapter implements LLMAdapter<FlinkToolSchema> {
90
128
  * Convert a single Flink message's content to Gemini Part[]
91
129
  */
92
130
  private convertContentToGeminiParts;
131
+ /**
132
+ * Read the thought signatures stored on this turn's `thinking` block
133
+ *
134
+ * Only signatures this adapter captured (`providerData.gemini.signatures`) are
135
+ * replayed; traces from other providers carry nothing Gemini can verify.
136
+ */
137
+ private getGeminiSignatures;
93
138
  /**
94
139
  * Convert Flink tools to Gemini format
95
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiAdapter.d.ts","sourceRoot":"","sources":["../src/GeminiAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAmB,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,aAAc,YAAW,UAAU,CAAC,eAAe,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACf,KAAK,EAAE,OAAO,CAAC;gBAEV,OAAO,EAAE,oBAAoB;gBAC7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAalC,MAAM,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvB,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1C,GAAG,cAAc,CAAC,cAAc,CAAC;IAuGlC;;;;;;;;OAQG;IACH,OAAO,CAAC,6BAA6B;IAwBrC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6DnC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B"}
1
+ {"version":3,"file":"GeminiAdapter.d.ts","sourceRoot":"","sources":["../src/GeminiAdapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAmB,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,8FAA8F;IAC9F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAiBD,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBAAa,aAAc,YAAW,UAAU,CAAC,eAAe,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAC,CAAuB;IACvC,KAAK,EAAE,OAAO,CAAC;gBAEV,OAAO,EAAE,oBAAoB;gBAC7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAczC;;OAEG;IACH,OAAO,CAAC,WAAW;IAOZ,MAAM,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvB,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC1C,GAAG,cAAc,CAAC,cAAc,CAAC;IAsIlC;;;;;;;;OAQG;IACH,OAAO,CAAC,6BAA6B;IAwBrC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAyEnC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B"}
@@ -18,6 +18,8 @@ const flink_1 = require("@flink-app/flink");
18
18
  * - Tool schema sanitization for Gemini compatibility
19
19
  * - Streaming event processing via generateContentStream()
20
20
  * - Consecutive same-role message merging (Gemini requires alternating turns)
21
+ * - Thinking: `thinkingConfig` passthrough, thought summaries streamed as `reasoning`
22
+ * chunks, thought signatures replayed on their parts across turns
21
23
  *
22
24
  * ## Basic Usage
23
25
  * ```typescript
@@ -55,59 +57,98 @@ class GeminiAdapter {
55
57
  else {
56
58
  this.apiKey = optionsOrApiKey.apiKey;
57
59
  this.model = optionsOrApiKey.model;
60
+ this.thinkingConfig = optionsOrApiKey.thinkingConfig;
58
61
  this.debug = optionsOrApiKey.debug ?? false;
59
62
  }
60
63
  }
64
+ /**
65
+ * Create the SDK model handle for a request (separated so tests can substitute it)
66
+ */
67
+ createModel(genAI, instructions) {
68
+ return genAI.getGenerativeModel({
69
+ model: this.model,
70
+ systemInstruction: instructions || undefined,
71
+ });
72
+ }
61
73
  async *stream(params) {
62
74
  try {
63
75
  const genAI = new generative_ai_1.GoogleGenerativeAI(this.apiKey);
64
76
  const geminiMessages = this.convertMessagesToGeminiFormat(params.messages);
65
77
  const geminiTools = params.tools.length > 0 ? this.convertToolsToGeminiFormat(params.tools) : undefined;
66
- const geminiModel = genAI.getGenerativeModel({
67
- model: this.model,
68
- systemInstruction: params.instructions || undefined,
69
- });
78
+ const geminiModel = this.createModel(genAI, params.instructions);
79
+ // The legacy SDK types predate thinkingConfig; the request body is sent as-is,
80
+ // so the passthrough works at runtime and only needs the type assertion.
81
+ const generationConfig = {
82
+ maxOutputTokens: params.maxTokens,
83
+ // Only sent when the agent explicitly configured a temperature
84
+ ...(params.temperature !== undefined ? { temperature: params.temperature } : {}),
85
+ // Only sent when configured — thinking models (2.5 / 3 series)
86
+ ...(this.thinkingConfig ? { thinkingConfig: this.thinkingConfig } : {}),
87
+ };
70
88
  const result = await geminiModel.generateContentStream({
71
89
  contents: geminiMessages,
72
90
  tools: geminiTools,
73
- generationConfig: {
74
- maxOutputTokens: params.maxTokens,
75
- // Only sent when the agent explicitly configured a temperature
76
- ...(params.temperature !== undefined ? { temperature: params.temperature } : {}),
77
- },
91
+ generationConfig,
78
92
  });
79
- // Accumulate tool calls across chunks (Gemini may split across chunks)
93
+ // Accumulate tool calls across chunks (Gemini may split across chunks).
94
+ // Ids are assigned here so thought signatures can be keyed to them for replay.
80
95
  const pendingToolCalls = [];
96
+ let textSignature;
81
97
  for await (const chunk of result.stream) {
82
98
  const candidate = chunk.candidates?.[0];
83
99
  if (!candidate?.content?.parts)
84
100
  continue;
85
101
  for (const part of candidate.content.parts) {
86
- if (part.text) {
87
- yield { type: "text", delta: part.text };
88
- }
89
- else if (part.functionCall) {
102
+ if (part.functionCall) {
90
103
  pendingToolCalls.push({
104
+ id: this.generateToolCallId(),
91
105
  name: part.functionCall.name,
92
106
  args: part.functionCall.args ?? {},
107
+ ...(part.thoughtSignature ? { thoughtSignature: part.thoughtSignature } : {}),
93
108
  });
109
+ continue;
110
+ }
111
+ if (part.thought) {
112
+ // Thought summary (includeThoughts) — reasoning, never answer text
113
+ if (part.text)
114
+ yield { type: "reasoning", delta: part.text };
94
115
  }
116
+ else if (part.text) {
117
+ yield { type: "text", delta: part.text };
118
+ }
119
+ // Text responses carry the signature on the last part — possibly an empty text part
120
+ if (part.thoughtSignature)
121
+ textSignature = part.thoughtSignature;
95
122
  }
96
123
  }
97
124
  // Yield completed tool calls after stream finishes
98
125
  for (const tc of pendingToolCalls) {
99
126
  if (this.debug) {
100
- flink_1.log.debug(`[Gemini Stream] LLM decided to call tool:`, JSON.stringify({ name: tc.name, input: tc.args }, null, 2));
127
+ flink_1.log.debug(`[Gemini Stream] LLM decided to call tool:`, JSON.stringify({ name: tc.name, id: tc.id, input: tc.args }, null, 2));
101
128
  }
102
129
  yield {
103
130
  type: "tool_call",
104
131
  toolCall: {
105
- id: this.generateToolCallId(),
132
+ id: tc.id,
106
133
  name: tc.name,
107
134
  input: tc.args,
108
135
  },
109
136
  };
110
137
  }
138
+ // Thought signatures must be returned on the same parts next turn — keep them
139
+ // keyed by tool call id (and for the text part) on the thinking block.
140
+ const toolCallSignatures = {};
141
+ for (const tc of pendingToolCalls) {
142
+ if (tc.thoughtSignature)
143
+ toolCallSignatures[tc.id] = tc.thoughtSignature;
144
+ }
145
+ if (textSignature || Object.keys(toolCallSignatures).length > 0) {
146
+ const signatures = {
147
+ ...(textSignature ? { text: textSignature } : {}),
148
+ ...(Object.keys(toolCallSignatures).length > 0 ? { toolCalls: toolCallSignatures } : {}),
149
+ };
150
+ yield { type: "reasoning", delta: "", providerData: { gemini: { signatures } } };
151
+ }
111
152
  // Get final response for usage metadata
112
153
  const response = await result.response;
113
154
  const usageMeta = response.usageMetadata;
@@ -115,7 +156,8 @@ class GeminiAdapter {
115
156
  type: "usage",
116
157
  usage: {
117
158
  inputTokens: usageMeta?.promptTokenCount ?? 0,
118
- outputTokens: usageMeta?.candidatesTokenCount ?? 0,
159
+ // Thinking tokens are billed as output but reported separately by Gemini
160
+ outputTokens: (usageMeta?.candidatesTokenCount ?? 0) + (usageMeta?.thoughtsTokenCount ?? 0),
119
161
  },
120
162
  };
121
163
  const finishReason = response.candidates?.[0]?.finishReason;
@@ -187,6 +229,9 @@ class GeminiAdapter {
187
229
  }
188
230
  const parts = [];
189
231
  const blocks = content;
232
+ // Thought signatures captured for this assistant turn (replayed on their parts below).
233
+ // Thought summaries themselves are not sent back — Gemini only needs the signatures.
234
+ const signatures = this.getGeminiSignatures(blocks);
190
235
  for (const block of blocks) {
191
236
  if (block.type === "text") {
192
237
  parts.push({ text: block.text });
@@ -214,12 +259,14 @@ class GeminiAdapter {
214
259
  }
215
260
  }
216
261
  else if (block.type === "tool_use") {
217
- // Assistant tool use → functionCall part
262
+ // Assistant tool use → functionCall part (with its thought signature, if Gemini issued one)
263
+ const thoughtSignature = signatures?.toolCalls?.[block.id];
218
264
  parts.push({
219
265
  functionCall: {
220
266
  name: block.name,
221
267
  args: block.input,
222
268
  },
269
+ ...(thoughtSignature ? { thoughtSignature } : {}),
223
270
  });
224
271
  }
225
272
  else if (block.type === "tool_result") {
@@ -236,8 +283,30 @@ class GeminiAdapter {
236
283
  });
237
284
  }
238
285
  }
286
+ // Text-only responses carry the signature on the last part
287
+ if (signatures?.text) {
288
+ const lastText = [...parts].reverse().find((p) => p.text !== undefined && !p.functionCall);
289
+ if (lastText)
290
+ lastText.thoughtSignature = signatures.text;
291
+ }
239
292
  return parts;
240
293
  }
294
+ /**
295
+ * Read the thought signatures stored on this turn's `thinking` block
296
+ *
297
+ * Only signatures this adapter captured (`providerData.gemini.signatures`) are
298
+ * replayed; traces from other providers carry nothing Gemini can verify.
299
+ */
300
+ getGeminiSignatures(blocks) {
301
+ for (const block of blocks) {
302
+ if (block.type === "thinking") {
303
+ const signatures = block.providerData?.gemini?.signatures;
304
+ if (signatures && typeof signatures === "object")
305
+ return signatures;
306
+ }
307
+ }
308
+ return undefined;
309
+ }
241
310
  /**
242
311
  * Convert Flink tools to Gemini format
243
312
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiAdapter.js","sourceRoot":"","sources":["../src/GeminiAdapter.ts"],"names":[],"mappings":";;;AAAA,yDAA6G;AAC7G,4CAAuC;AA2BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAa,aAAa;IAOtB,YAAY,eAA8C,EAAE,KAAc;QACtE,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,KAAM,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;QAChD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAOb;QACG,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExG,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC;gBACzC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,iBAAiB,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;aACtD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC;gBACnD,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,WAAW;gBAClB,gBAAgB,EAAE;oBACd,eAAe,EAAE,MAAM,CAAC,SAAS;oBACjC,+DAA+D;oBAC/D,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnF;aACJ,CAAC,CAAC;YAEH,uEAAuE;YACvE,MAAM,gBAAgB,GAAuC,EAAE,CAAC;YAEhE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK;oBAAE,SAAS;gBAEzC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACzC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7C,CAAC;yBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC3B,gBAAgB,CAAC,IAAI,CAAC;4BAClB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;4BAC5B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;yBACrC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;YAED,mDAAmD;YACnD,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,WAAG,CAAC,KAAK,CACL,2CAA2C,EAC3C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAC;gBACN,CAAC;gBACD,MAAM;oBACF,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE;wBACN,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE;wBAC7B,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,KAAK,EAAE,EAAE,CAAC,IAAI;qBACjB;iBACJ,CAAC;YACN,CAAC;YAED,wCAAwC;YACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;YAEzC,MAAM;gBACF,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,WAAW,EAAE,SAAS,EAAE,gBAAgB,IAAI,CAAC;oBAC7C,YAAY,EAAE,SAAS,EAAE,oBAAoB,IAAI,CAAC;iBACrD;aACJ,CAAC;YAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;YAC5D,MAAM;gBACF,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,IAAI,MAAM,CAAC;aAC/D,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACX,uCAAuC,KAAK,CAAC,OAAO,IAAI,iBAAiB,IAAI;oBACzE,kFAAkF;oBAClF,UAAU,IAAI,CAAC,KAAK,EAAE,CAC7B,CAAC;YACN,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACX,oCAAoC,KAAK,CAAC,MAAM,kDAAkD;oBAC9F,sEAAsE,CAC7E,CAAC;YACN,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACX,2DAA2D,KAAK,CAAC,OAAO,IAAI,gBAAgB,IAAI;oBAC5F,qFAAqF,CAC5F,CAAC;YACN,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACX,4BAA4B,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,IAAI,uBAAuB,IAAI;oBACtF,6EAA6E,CACpF,CAAC;YACN,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,6BAA6B,CAAC,QAAsB;QACxD,MAAM,cAAc,GAAc,EAAE,CAAC;QAErC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,gEAAgE;YAChE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;YAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjC,2EAA2E;YAC3E,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,GAAe;QAC/C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAW,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,OAA4B,CAAC;QAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAC1D,IAAI,KAAK,EAAE,CAAC;wBACR,KAAK,CAAC,IAAI,CAAC;4BACP,UAAU,EAAE;gCACR,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gCAClB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;6BACjB;yBACJ,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,sEAAsE;oBACtE,KAAK,CAAC,IAAI,CAAC;wBACP,QAAQ,EAAE;4BACN,QAAQ,EAAE,YAAY,EAAE,8CAA8C;4BACtE,OAAO,EAAE,KAAK,CAAC,GAAG;yBACrB;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACnC,yCAAyC;gBACzC,KAAK,CAAC,IAAI,CAAC;oBACP,YAAY,EAAE;wBACV,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,KAAK;qBACpB;iBACJ,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACtC,6DAA6D;gBAC7D,KAAK,CAAC,IAAI,CAAC;oBACP,gBAAgB,EAAE;wBACd,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,0CAA0C;wBACnE,QAAQ,EAAE;4BACN,OAAO,EAAE,KAAK,CAAC,QAAQ;gCACnB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;gCAC1B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE;yBAClC;qBACJ;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,KAAwB;QACvD,OAAO;YACH;gBACI,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAQ;iBACpE,CAAC,CAAC;aACN;SACJ,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACK,uBAAuB,CAAC,MAA2B;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,CAAC,IAAS,EAAQ,EAAE;YACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAE9C,8BAA8B;YAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC;YAEhB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,GAAG;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,YAAoB;QAC5C,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,YAAY;gBACb,OAAO,YAAY,CAAC;YACxB,KAAK,MAAM,CAAC;YACZ;gBACI,OAAO,UAAU,CAAC;QAC1B,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;CACJ;AA5TD,sCA4TC"}
1
+ {"version":3,"file":"GeminiAdapter.js","sourceRoot":"","sources":["../src/GeminiAdapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { GeminiAdapter, type GeminiAdapterOptions } from "./GeminiAdapter";
1
+ export { GeminiAdapter, type GeminiAdapterOptions, type GeminiThinkingConfig } from "./GeminiAdapter";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA2E;AAAlE,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAsG;AAA7F,8GAAA,aAAa,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flink-app/gemini-adapter",
3
- "version": "2.0.0-alpha.124",
3
+ "version": "2.0.0-alpha.125",
4
4
  "description": "Google Gemini adapter for Flink AI framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "@google/generative-ai": "^0.24.0"
19
19
  },
20
20
  "peerDependencies": {
21
- "@flink-app/flink": ">=2.0.0-alpha.124"
21
+ "@flink-app/flink": ">=2.0.0-alpha.125"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "@flink-app/flink": {
@@ -29,7 +29,7 @@
29
29
  "@types/jasmine": "^3.7.1",
30
30
  "ts-node": "^10.9.2",
31
31
  "typescript": "^5.6.2",
32
- "@flink-app/flink": "2.0.0-alpha.124"
32
+ "@flink-app/flink": "2.0.0-alpha.125"
33
33
  },
34
34
  "files": [
35
35
  "dist",