@hopper-agent/providers 0.1.0 → 0.2.1

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.
@@ -18,7 +18,7 @@ export class AnthropicProvider {
18
18
  ];
19
19
  defaultModel = 'claude-sonnet-4-6';
20
20
  client;
21
- constructor(apiKey, baseUrl, options) {
21
+ constructor(apiKey, baseUrl) {
22
22
  const resolvedKey = (apiKey && apiKey.length > 0)
23
23
  ? apiKey
24
24
  : process.env.ANTHROPIC_API_KEY;
@@ -29,13 +29,10 @@ export class AnthropicProvider {
29
29
  apiKey: resolvedKey,
30
30
  ...(baseUrl ? { baseURL: baseUrl } : {}),
31
31
  });
32
- this._local = options?.local ?? false;
33
32
  }
34
- _local;
35
- async *stream(args) {
33
+ stream(args) {
36
34
  const model = args.model || this.defaultModel;
37
- // Extended thinking is not supported by most local providers (Ollama, llama.cpp)
38
- const thinkingBudget = this._local ? undefined : effortToBudget(args.effort);
35
+ const thinkingBudget = effortToBudget(args.effort);
39
36
  // When thinking is enabled the model reserves the budget from max_tokens,
40
37
  // so raise the ceiling to leave room for the actual answer.
41
38
  const maxTokens = args.maxTokens || (thinkingBudget ? thinkingBudget + 8192 : 8192);
@@ -53,91 +50,114 @@ export class AnthropicProvider {
53
50
  if (thinkingBudget) {
54
51
  streamArgs.thinking = { type: 'enabled', budget_tokens: thinkingBudget };
55
52
  }
56
- const stream = this.client.messages.stream(streamArgs);
53
+ const sdkStream = this.client.messages.stream(streamArgs);
57
54
  // keyed by content block index
58
55
  const toolBlocks = new Map();
59
56
  const thinkingBlocks = new Map();
60
- for await (const event of stream) {
61
- if (args.signal?.aborted) {
62
- stream.abort();
63
- break;
64
- }
65
- if (event.type === 'content_block_start') {
66
- const cb = event.content_block;
67
- if (cb.type === 'tool_use') {
68
- toolBlocks.set(event.index, { id: cb.id, name: cb.name, inputStr: '' });
69
- }
70
- else if (cb.type === 'thinking') {
71
- thinkingBlocks.set(event.index, { thinking: cb.thinking || '', signature: cb.signature || '' });
72
- }
73
- }
74
- if (event.type === 'content_block_delta') {
75
- if (event.delta.type === 'text_delta') {
76
- yield { type: 'text-delta', text: event.delta.text };
77
- }
78
- else if (event.delta.type === 'input_json_delta') {
79
- const block = toolBlocks.get(event.index);
80
- if (block)
81
- block.inputStr += event.delta.partial_json;
57
+ // Own AbortController for the provider. The external signal (from TurnLoop)
58
+ // triggers this controller, which then aborts the SDK stream.
59
+ const abortCtrl = new AbortController();
60
+ // Listen for the external abort signal inside the generator, right before
61
+ // the for-await loop. This ensures the listener is registered when iteration
62
+ // starts. When the signal fires, we immediately call sdkStream.abort() to
63
+ // close the HTTP connection — not just set a flag.
64
+ async function* generator() {
65
+ args.signal?.addEventListener('abort', () => {
66
+ abortCtrl.abort();
67
+ try {
68
+ sdkStream.return?.(undefined);
82
69
  }
83
- else if (event.delta.type === 'thinking_delta') {
84
- const t = thinkingBlocks.get(event.index);
85
- if (t)
86
- t.thinking += event.delta.thinking;
70
+ catch { /* ignore */ }
71
+ }, { once: true });
72
+ for await (const event of sdkStream) {
73
+ if (abortCtrl.signal.aborted)
74
+ break;
75
+ if (event.type === 'content_block_start') {
76
+ const cb = event.content_block;
77
+ if (cb.type === 'tool_use') {
78
+ toolBlocks.set(event.index, { id: cb.id, name: cb.name, inputStr: '' });
79
+ }
80
+ else if (cb.type === 'thinking') {
81
+ thinkingBlocks.set(event.index, { thinking: cb.thinking || '', signature: cb.signature || '' });
82
+ }
87
83
  }
88
- else if (event.delta.type === 'signature_delta') {
89
- const t = thinkingBlocks.get(event.index);
90
- if (t)
91
- t.signature += event.delta.signature;
84
+ if (event.type === 'content_block_delta') {
85
+ if (event.delta.type === 'text_delta') {
86
+ yield { type: 'text-delta', text: event.delta.text };
87
+ }
88
+ else if (event.delta.type === 'input_json_delta') {
89
+ const block = toolBlocks.get(event.index);
90
+ if (block)
91
+ block.inputStr += event.delta.partial_json;
92
+ }
93
+ else if (event.delta.type === 'thinking_delta') {
94
+ const t = thinkingBlocks.get(event.index);
95
+ if (t)
96
+ t.thinking += event.delta.thinking;
97
+ }
98
+ else if (event.delta.type === 'signature_delta') {
99
+ const t = thinkingBlocks.get(event.index);
100
+ if (t)
101
+ t.signature += event.delta.signature;
102
+ }
92
103
  }
93
- }
94
- if (event.type === 'content_block_stop') {
95
- const tool = toolBlocks.get(event.index);
96
- if (tool) {
97
- let input = {};
98
- try {
99
- input = JSON.parse(tool.inputStr || '{}');
104
+ if (event.type === 'content_block_stop') {
105
+ const tool = toolBlocks.get(event.index);
106
+ if (tool) {
107
+ let input = {};
108
+ try {
109
+ input = JSON.parse(tool.inputStr || '{}');
110
+ }
111
+ catch { /* empty input */ }
112
+ yield { type: 'tool-call', id: tool.id, name: tool.name, input };
113
+ toolBlocks.delete(event.index);
114
+ }
115
+ const thinking = thinkingBlocks.get(event.index);
116
+ if (thinking) {
117
+ yield { type: 'thinking-block', thinking: thinking.thinking, signature: thinking.signature };
118
+ thinkingBlocks.delete(event.index);
100
119
  }
101
- catch { /* empty input */ }
102
- yield { type: 'tool-call', id: tool.id, name: tool.name, input };
103
- toolBlocks.delete(event.index);
104
120
  }
105
- const thinking = thinkingBlocks.get(event.index);
106
- if (thinking) {
107
- yield { type: 'thinking-block', thinking: thinking.thinking, signature: thinking.signature };
108
- thinkingBlocks.delete(event.index);
121
+ if (event.type === 'message_delta' && event.usage) {
122
+ yield {
123
+ type: 'usage',
124
+ inputTokens: event.usage.input_tokens || 0,
125
+ outputTokens: event.usage.output_tokens || 0,
126
+ cacheReadTokens: event.usage.cache_read_input_tokens ?? undefined,
127
+ cacheWriteTokens: event.usage.cache_creation_input_tokens ?? undefined,
128
+ };
109
129
  }
110
130
  }
111
- if (event.type === 'message_delta' && event.usage) {
112
- yield {
113
- type: 'usage',
114
- inputTokens: event.usage.input_tokens || 0,
115
- outputTokens: event.usage.output_tokens || 0,
116
- cacheReadTokens: event.usage.cache_read_input_tokens ?? undefined,
117
- cacheWriteTokens: event.usage.cache_creation_input_tokens ?? undefined,
118
- };
131
+ if (abortCtrl.signal.aborted) {
132
+ yield { type: 'stop', reason: 'aborted' };
133
+ return;
119
134
  }
120
- }
121
- if (args.signal?.aborted) {
122
- yield { type: 'stop', reason: 'aborted' };
123
- return;
124
- }
125
- try {
126
- const final = await stream.finalMessage();
127
- if (final.usage) {
128
- yield {
129
- type: 'usage',
130
- inputTokens: final.usage.input_tokens,
131
- outputTokens: final.usage.output_tokens,
132
- cacheReadTokens: final.usage.cache_read_input_tokens ?? undefined,
133
- cacheWriteTokens: final.usage.cache_creation_input_tokens ?? undefined,
134
- };
135
+ try {
136
+ const final = await sdkStream.finalMessage();
137
+ if (final.usage) {
138
+ yield {
139
+ type: 'usage',
140
+ inputTokens: final.usage.input_tokens,
141
+ outputTokens: final.usage.output_tokens,
142
+ cacheReadTokens: final.usage.cache_read_input_tokens ?? undefined,
143
+ cacheWriteTokens: final.usage.cache_creation_input_tokens ?? undefined,
144
+ };
145
+ }
135
146
  }
147
+ catch {
148
+ // sdkStream.finalMessage() throws if the stream was aborted — that's expected.
149
+ }
150
+ yield { type: 'stop', reason: abortCtrl.signal.aborted ? 'aborted' : 'stop' };
136
151
  }
137
- catch {
138
- // stream.finalMessage() throws if the stream was aborted — that's expected.
139
- }
140
- yield { type: 'stop', reason: args.signal?.aborted ? 'aborted' : 'stop' };
152
+ return {
153
+ iterable: generator(),
154
+ cancel() {
155
+ try {
156
+ sdkStream.abort?.();
157
+ }
158
+ catch { /* stream may already be closed */ }
159
+ },
160
+ };
141
161
  }
142
162
  async check(prompt, args) {
143
163
  const model = args?.model || this.defaultModel;
@@ -156,7 +176,7 @@ export class AnthropicProvider {
156
176
  }
157
177
  async complete(args) {
158
178
  const model = args.model || this.defaultModel;
159
- const thinkingBudget = this._local ? undefined : effortToBudget(args.effort);
179
+ const thinkingBudget = effortToBudget(args.effort);
160
180
  const maxTokens = args.maxTokens || (thinkingBudget ? thinkingBudget + 8192 : 8192);
161
181
  const messages = this.mapMessages(args.messages);
162
182
  const tools = args.tools ? this.mapTools(args.tools) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { Provider, ProviderEvent, ProviderStreamArgs, ProviderCompleteArgs, ProviderCompleteResult } from './provider.js';
2
+ type CancelableIterable<T> = {
3
+ iterable: AsyncIterable<T>;
4
+ cancel(): void;
5
+ };
6
+ export declare class GoogleGeminiProvider implements Provider {
7
+ readonly name = "google";
8
+ readonly models: string[];
9
+ readonly defaultModel = "gemini-2.0-flash";
10
+ private genAI;
11
+ private baseUrl;
12
+ constructor(apiKey?: string, baseUrl?: string);
13
+ private isThinkingModel;
14
+ private baseModelParams;
15
+ private getModel;
16
+ stream(args: ProviderStreamArgs): CancelableIterable<ProviderEvent>;
17
+ check(prompt: string, args?: {
18
+ model?: string;
19
+ system?: string;
20
+ signal?: AbortSignal;
21
+ }): Promise<string>;
22
+ complete(args: ProviderCompleteArgs): Promise<ProviderCompleteResult>;
23
+ private toFunctionDeclarations;
24
+ /**
25
+ * Convert a JSON Schema object to Google's FunctionDeclarationSchema format.
26
+ * Google's API is strict: it does NOT support the "required" array in
27
+ * function declaration parameters. Required fields are communicated via
28
+ * description text instead.
29
+ */
30
+ private toFunctionSchema;
31
+ private mapMessages;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=google.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EAIvB,MAAM,eAAe,CAAC;AAEvB,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,IAAI,IAAI,CAAA;CAAE,CAAC;AAa5E,qBAAa,oBAAqB,YAAW,QAAQ;IACnD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,MAAM,WAKb;IACF,QAAQ,CAAC,YAAY,sBAAsB;IAE3C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAa7C,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAQtB,OAAO,CAAC,QAAQ;IAalB,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,aAAa,CAAC;IA+E5D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYb,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAwE3E,OAAO,CAAC,sBAAsB;IAQ9B;;;;;OAKG;IAEH,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,WAAW;CA+DpB"}
@@ -0,0 +1,295 @@
1
+ import { GoogleGenerativeAI } from '@google/generative-ai';
2
+ let _callId = 0;
3
+ function nextCallId() {
4
+ return `call_${++_callId}`;
5
+ }
6
+ /** Returns true if the model may return thought_signature fields on function call parts. */
7
+ function isThinkingModelName(model) {
8
+ const m = model.toLowerCase();
9
+ return m.startsWith('gemini-2.5') || m.startsWith('gemini-3') || m.includes('flash-latest') || m.includes('pro-latest');
10
+ }
11
+ export class GoogleGeminiProvider {
12
+ name = 'google';
13
+ models = [
14
+ 'gemini-2.5-pro',
15
+ 'gemini-2.5-flash',
16
+ 'gemini-2.0-flash-lite',
17
+ 'gemini-2.0-flash',
18
+ ];
19
+ defaultModel = 'gemini-2.0-flash';
20
+ genAI;
21
+ baseUrl;
22
+ constructor(apiKey, baseUrl) {
23
+ const resolvedKey = (apiKey && apiKey.length > 0)
24
+ ? apiKey
25
+ : process.env.GOOGLE_API_KEY;
26
+ if (!resolvedKey) {
27
+ throw new Error('GoogleGeminiProvider: no API key (pass explicitly or set GOOGLE_API_KEY).');
28
+ }
29
+ this.genAI = new GoogleGenerativeAI(resolvedKey);
30
+ this.baseUrl = baseUrl || '';
31
+ }
32
+ isThinkingModel(model) {
33
+ return isThinkingModelName(model || this.defaultModel);
34
+ }
35
+ baseModelParams() {
36
+ const params = { model: this.defaultModel };
37
+ if (this.baseUrl) {
38
+ params['baseUrl'] = this.baseUrl;
39
+ }
40
+ return params;
41
+ }
42
+ getModel(model, tools) {
43
+ const m = model || this.defaultModel;
44
+ const params = { ...this.baseModelParams(), model: m };
45
+ if (this.isThinkingModel(m)) {
46
+ params['enable_thoughts'] = false;
47
+ }
48
+ if (tools && tools.length > 0) {
49
+ params['tools'] = [{ functionDeclarations: tools }];
50
+ }
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ return this.genAI.getGenerativeModel(params);
53
+ }
54
+ stream(args) {
55
+ const model = args.model || this.defaultModel;
56
+ const tools = args.tools ? this.toFunctionDeclarations(args.tools) : undefined;
57
+ const genModel = this.getModel(model, tools);
58
+ const contents = this.mapMessages(args.messages);
59
+ const requestTools = args.tools ? [{ functionDeclarations: this.toFunctionDeclarations(args.tools) }] : undefined;
60
+ async function* generator() {
61
+ const streamResult = await genModel.generateContentStream({
62
+ contents,
63
+ systemInstruction: args.system,
64
+ ...(requestTools ? { tools: requestTools } : {}),
65
+ });
66
+ // Collect raw chunk parts as they stream in to preserve thoughtSignature,
67
+ // which the SDK's aggregated response object drops from its typed interface.
68
+ const rawParts = [];
69
+ for await (const chunk of streamResult.stream) {
70
+ if (args.signal?.aborted) {
71
+ break;
72
+ }
73
+ const text = chunk.text();
74
+ if (text) {
75
+ yield { type: 'text-delta', text };
76
+ }
77
+ // Capture raw parts from each chunk before the SDK strips unknown fields
78
+ const chunkParts = chunk.candidates?.[0]?.content?.parts ?? [];
79
+ for (const part of chunkParts) {
80
+ rawParts.push(part);
81
+ }
82
+ }
83
+ if (args.signal?.aborted) {
84
+ yield { type: 'stop', reason: 'aborted' };
85
+ return;
86
+ }
87
+ try {
88
+ // Prefer raw parts collected during streaming (preserves thoughtSignature).
89
+ // Fall back to aggregated response parts if streaming collected nothing.
90
+ const response = await streamResult.response;
91
+ const aggParts = response.candidates?.[0]?.content?.parts ?? [];
92
+ const parts = rawParts.length > 0 ? rawParts : aggParts;
93
+ for (const p of parts) {
94
+ if (p.functionCall && typeof p.functionCall === 'object') {
95
+ const fc = p.functionCall;
96
+ const sig = (typeof p.thoughtSignature === 'string' ? p.thoughtSignature : undefined)
97
+ ?? (typeof p.thought_signature === 'string' ? p.thought_signature : undefined);
98
+ yield {
99
+ type: 'tool-call',
100
+ id: nextCallId(),
101
+ name: fc.name,
102
+ input: (fc.args ?? {}),
103
+ ...(sig ? { thoughtSignature: sig } : {}),
104
+ };
105
+ }
106
+ }
107
+ }
108
+ catch {
109
+ // Response may throw if prompt was blocked
110
+ }
111
+ yield { type: 'stop', reason: 'stop' };
112
+ }
113
+ return {
114
+ iterable: generator(),
115
+ cancel() {
116
+ // The Google Gemini SDK doesn't expose a public cancel method.
117
+ // The signal.aborted check inside the generator loop breaks on the
118
+ // next iteration, but there's no way to synchronously abort.
119
+ },
120
+ };
121
+ }
122
+ async check(prompt, args) {
123
+ const model = args?.model || this.defaultModel;
124
+ const genModel = this.getModel(model);
125
+ const response = await genModel.generateContent({
126
+ contents: [{ role: 'user', parts: [{ text: prompt }] }],
127
+ systemInstruction: args?.system,
128
+ });
129
+ return response.response.text().trim().slice(0, 256);
130
+ }
131
+ async complete(args) {
132
+ const model = args.model || this.defaultModel;
133
+ const tools = args.tools ? this.toFunctionDeclarations(args.tools) : undefined;
134
+ const genModel = this.getModel(model, tools);
135
+ let contents = this.mapMessages(args.messages);
136
+ const allText = [];
137
+ let stopReason = 'stop';
138
+ let toolCalls;
139
+ for (let turn = 0; turn < 16; turn++) {
140
+ const requestTools = args.tools ? [{ functionDeclarations: this.toFunctionDeclarations(args.tools) }] : undefined;
141
+ const response = await genModel.generateContent({
142
+ contents,
143
+ systemInstruction: args.system,
144
+ ...(requestTools ? { tools: requestTools } : {}),
145
+ });
146
+ const text = response.response.text().trim();
147
+ if (text)
148
+ allText.push(text);
149
+ // Use raw parts to preserve thought_signature for thinking models.
150
+ const rawParts = response.response.candidates?.[0]?.content?.parts ?? [];
151
+ const fcParts = rawParts.filter((p) => p.functionCall);
152
+ if (fcParts.length === 0) {
153
+ stopReason = 'stop';
154
+ break;
155
+ }
156
+ toolCalls = fcParts.map((p) => {
157
+ const fc = p.functionCall;
158
+ return { id: nextCallId(), name: fc.name, input: (fc.args ?? {}) };
159
+ });
160
+ stopReason = 'tool_use';
161
+ // Build follow-up content echoing thoughtSignature back for thinking models.
162
+ // thoughtSignature is a top-level Part field (camelCase in JS SDK).
163
+ contents.push({
164
+ role: 'model',
165
+ parts: fcParts.map((p) => {
166
+ const raw = p;
167
+ const fc = raw.functionCall;
168
+ const sig = (typeof raw.thoughtSignature === 'string' ? raw.thoughtSignature : undefined)
169
+ ?? (typeof raw.thought_signature === 'string' ? raw.thought_signature : undefined);
170
+ const part = { functionCall: { name: fc.name, args: fc.args } };
171
+ if (sig)
172
+ part.thoughtSignature = sig;
173
+ return part;
174
+ }),
175
+ });
176
+ for (const p of fcParts) {
177
+ const fc = p.functionCall;
178
+ contents.push({
179
+ role: 'user',
180
+ parts: [{
181
+ functionResponse: {
182
+ name: fc.name,
183
+ response: { result: fc.args },
184
+ },
185
+ }],
186
+ });
187
+ }
188
+ }
189
+ return {
190
+ text: allText.join('\n'),
191
+ stopReason,
192
+ toolCalls,
193
+ };
194
+ }
195
+ toFunctionDeclarations(tools) {
196
+ return tools.map((t) => ({
197
+ name: t.name,
198
+ description: t.description,
199
+ parameters: this.toFunctionSchema(t.inputSchema),
200
+ }));
201
+ }
202
+ /**
203
+ * Convert a JSON Schema object to Google's FunctionDeclarationSchema format.
204
+ * Google's API is strict: it does NOT support the "required" array in
205
+ * function declaration parameters. Required fields are communicated via
206
+ * description text instead.
207
+ */
208
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
209
+ toFunctionSchema(schema) {
210
+ if (typeof schema !== 'object' || schema === null) {
211
+ return { type: 'object', properties: {} };
212
+ }
213
+ const s = schema;
214
+ const type = typeof s.type === 'string' ? s.type : 'object';
215
+ if (type === 'object') {
216
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
217
+ const properties = {};
218
+ if (s.properties && typeof s.properties === 'object') {
219
+ for (const [key, val] of Object.entries(s.properties)) {
220
+ properties[key] = this.toFunctionSchema(val);
221
+ }
222
+ }
223
+ // Google Gemini API does NOT accept "required" in parameters schema.
224
+ // Omit it; the model will still infer importance from descriptions.
225
+ return { type: 'object', properties };
226
+ }
227
+ // For non-object types, return a simple schema
228
+ // Google requires "items" for array types
229
+ if (type === 'array') {
230
+ const itemsSchema = s.items ? this.toFunctionSchema(s.items) : { type: 'string' };
231
+ return { type: 'array', items: itemsSchema };
232
+ }
233
+ return { type, properties: {} };
234
+ }
235
+ mapMessages(messages) {
236
+ return messages.map((m) => {
237
+ if (m.role === 'tool') {
238
+ return {
239
+ role: 'user',
240
+ parts: [{
241
+ functionResponse: {
242
+ name: m.content,
243
+ response: { output: m.content },
244
+ },
245
+ }],
246
+ };
247
+ }
248
+ if (typeof m.content === 'string') {
249
+ return {
250
+ role: m.role === 'assistant' ? 'model' : 'user',
251
+ parts: [{ text: m.content }],
252
+ };
253
+ }
254
+ if (Array.isArray(m.content)) {
255
+ const parts = [];
256
+ for (const c of m.content) {
257
+ if (c.type === 'text') {
258
+ parts.push({ text: c.text });
259
+ }
260
+ else if (c.type === 'tool-use') {
261
+ // thoughtSignature is a top-level Part field (camelCase in JS SDK)
262
+ const fcPart = {
263
+ functionCall: { name: c.name, args: c.input },
264
+ ...(c.thoughtSignature ? { thoughtSignature: c.thoughtSignature } : {}),
265
+ };
266
+ parts.push(fcPart);
267
+ }
268
+ else if (c.type === 'tool-result') {
269
+ parts.push({
270
+ functionResponse: {
271
+ name: c.tool_use_id,
272
+ response: { output: c.content },
273
+ },
274
+ });
275
+ }
276
+ else if (c.type === 'image') {
277
+ parts.push({ text: `[image: ${c.source.media_type}]` });
278
+ }
279
+ else {
280
+ parts.push({ text: JSON.stringify(c) });
281
+ }
282
+ }
283
+ return {
284
+ role: m.role === 'assistant' ? 'model' : 'user',
285
+ parts,
286
+ };
287
+ }
288
+ return {
289
+ role: 'user',
290
+ parts: [{ text: JSON.stringify(m.content) }],
291
+ };
292
+ });
293
+ }
294
+ }
295
+ //# sourceMappingURL=google.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/google.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,6 @@ export { createRegistry } from './provider.js';
2
2
  export type { Provider, ProviderEvent, ProviderStreamArgs, ProviderMessage, MessageContent, ProviderRegistry, ReasoningEffort, } from './provider.js';
3
3
  export { AnthropicProvider } from './anthropic.js';
4
4
  export { OpenAIProvider } from './openai.js';
5
+ export { OllamaProvider } from './ollama.js';
6
+ export { GoogleGeminiProvider } from './google.js';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACV,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { createRegistry } from './provider.js';
2
2
  export { AnthropicProvider } from './anthropic.js';
3
3
  export { OpenAIProvider } from './openai.js';
4
+ export { OllamaProvider } from './ollama.js';
5
+ export { GoogleGeminiProvider } from './google.js';
4
6
  //# sourceMappingURL=index.js.map