@just-every/ensemble 0.2.17 → 0.2.19

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 (42) hide show
  1. package/dist/core/ensemble_request.d.ts.map +1 -1
  2. package/dist/core/ensemble_request.js +7 -5
  3. package/dist/core/ensemble_request.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/model_providers/claude.d.ts +0 -2
  9. package/dist/model_providers/claude.d.ts.map +1 -1
  10. package/dist/model_providers/claude.js +38 -253
  11. package/dist/model_providers/claude.js.map +1 -1
  12. package/dist/model_providers/gemini.d.ts +2 -0
  13. package/dist/model_providers/gemini.d.ts.map +1 -1
  14. package/dist/model_providers/gemini.js +138 -150
  15. package/dist/model_providers/gemini.js.map +1 -1
  16. package/dist/model_providers/openai.d.ts.map +1 -1
  17. package/dist/model_providers/openai.js +10 -58
  18. package/dist/model_providers/openai.js.map +1 -1
  19. package/dist/model_providers/openai_chat.d.ts +1 -0
  20. package/dist/model_providers/openai_chat.d.ts.map +1 -1
  21. package/dist/model_providers/openai_chat.js +72 -133
  22. package/dist/model_providers/openai_chat.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/types.d.ts +1 -0
  25. package/dist/types/types.d.ts.map +1 -1
  26. package/dist/utils/image_to_text.d.ts +1 -1
  27. package/dist/utils/image_to_text.d.ts.map +1 -1
  28. package/dist/utils/image_to_text.js +19 -46
  29. package/dist/utils/image_to_text.js.map +1 -1
  30. package/dist/utils/image_utils.d.ts +4 -1
  31. package/dist/utils/image_utils.d.ts.map +1 -1
  32. package/dist/utils/image_utils.js +33 -0
  33. package/dist/utils/image_utils.js.map +1 -1
  34. package/dist/utils/pause_controller.d.ts +14 -0
  35. package/dist/utils/pause_controller.d.ts.map +1 -0
  36. package/dist/utils/pause_controller.js +49 -0
  37. package/dist/utils/pause_controller.js.map +1 -0
  38. package/package.json +1 -1
  39. package/dist/utils/communication.d.ts +0 -2
  40. package/dist/utils/communication.d.ts.map +0 -1
  41. package/dist/utils/communication.js +0 -5
  42. package/dist/utils/communication.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../model_providers/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../model_providers/claude.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { EmbedOpts } from './model_provider.js';
2
2
  import { ModelProvider, ProviderStreamEvent, ResponseInput, AgentDefinition, ImageGenerationOpts } from '../types/types.js';
3
+ export declare function getImageMimeType(imageData: string): string;
4
+ export declare function cleanBase64Data(imageData: string): string;
3
5
  export declare class GeminiProvider implements ModelProvider {
4
6
  private _client?;
5
7
  private apiKey?;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../model_providers/gemini.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EACH,aAAa,EAGb,mBAAmB,EAEnB,aAAa,EACb,eAAe,EACf,mBAAmB,EACtB,MAAM,mBAAmB,CAAC;AA0c3B,qBAAa,cAAe,YAAW,aAAa;IAChD,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAQ3B,OAAO,KAAK,MAAM,GAajB;IASK,eAAe,CACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;YA+KlB,2BAA2B;IAuCnC,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,GACvB,cAAc,CAAC,mBAAmB,CAAC;IAyahC,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;IAyEpB,OAAO,CAAC,YAAY;CAWvB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../model_providers/gemini.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EACH,aAAa,EAGb,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,mBAAmB,EAEtB,MAAM,mBAAmB,CAAC;AAiP3B,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO1D;AAKD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAqLD,qBAAa,cAAe,YAAW,aAAa;IAChD,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAQ3B,OAAO,KAAK,MAAM,GAajB;IASK,eAAe,CACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;YA+KlB,2BAA2B;IAuCnC,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,GACvB,cAAc,CAAC,mBAAmB,CAAC;IA6ahC,WAAW,CACb,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC;IAyEpB,OAAO,CAAC,YAAY;CAWvB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -2,9 +2,8 @@ import { GoogleGenAI, Type, FunctionCallingConfigMode, } from '@google/genai';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
3
  import { costTracker } from '../index.js';
4
4
  import { log_llm_error, log_llm_request, log_llm_response, } from '../utils/llm_logger.js';
5
- import { isPaused } from '../utils/communication.js';
6
- import { extractBase64Image, resizeAndTruncateForGemini, } from '../utils/image_utils.js';
7
- import { bufferDelta, flushBufferedDeltas, } from '../utils/delta_buffer.js';
5
+ import { isPaused } from '../utils/pause_controller.js';
6
+ import { appendMessageWithImage, resizeAndTruncateForGemini, } from '../utils/image_utils.js';
8
7
  function convertParameterToGeminiFormat(param) {
9
8
  let type = Type.STRING;
10
9
  switch (param.type) {
@@ -170,7 +169,7 @@ async function convertToGeminiFunctionDeclarations(tools) {
170
169
  }));
171
170
  return declarations.filter(Boolean);
172
171
  }
173
- function getImageMimeType(imageData) {
172
+ export function getImageMimeType(imageData) {
174
173
  if (imageData.includes('data:image/jpeg'))
175
174
  return 'image/jpeg';
176
175
  if (imageData.includes('data:image/png'))
@@ -181,7 +180,7 @@ function getImageMimeType(imageData) {
181
180
  return 'image/webp';
182
181
  return 'image/jpeg';
183
182
  }
184
- function cleanBase64Data(imageData) {
183
+ export function cleanBase64Data(imageData) {
185
184
  return imageData.replace(/^data:image\/[a-z]+;base64,/, '');
186
185
  }
187
186
  function formatGroundingChunks(chunks) {
@@ -190,8 +189,30 @@ function formatGroundingChunks(chunks) {
190
189
  .map((c, i) => `${i + 1}. ${c.web.title || 'Untitled'} – ${c.web.uri}`)
191
190
  .join('\n');
192
191
  }
193
- async function convertToGeminiContents(messages) {
194
- const contents = [];
192
+ async function addImagesToInput(input, images, source) {
193
+ for (const [image_id, imageData] of Object.entries(images)) {
194
+ const processedImageData = await resizeAndTruncateForGemini(imageData);
195
+ const mimeType = getImageMimeType(processedImageData);
196
+ const cleanedImageData = cleanBase64Data(processedImageData);
197
+ input.push({
198
+ role: 'user',
199
+ parts: [
200
+ {
201
+ text: `This is [image #${image_id}] from the ${source}`,
202
+ },
203
+ {
204
+ inlineData: {
205
+ mimeType: mimeType,
206
+ data: cleanedImageData,
207
+ },
208
+ },
209
+ ],
210
+ });
211
+ }
212
+ return input;
213
+ }
214
+ async function convertToGeminiContents(model, messages) {
215
+ let contents = [];
195
216
  for (const msg of messages) {
196
217
  if (msg.type === 'function_call') {
197
218
  let args = {};
@@ -222,110 +243,63 @@ async function convertToGeminiContents(messages) {
222
243
  });
223
244
  }
224
245
  else if (msg.type === 'function_call_output') {
246
+ let textOutput = '';
225
247
  if (typeof msg.output === 'string') {
226
- const extracted = extractBase64Image(msg.output);
227
- if (extracted.found && extracted.image_id !== null) {
228
- const image_id = extracted.image_id;
229
- const originalImageData = extracted.images[image_id];
230
- const processedImageData = await resizeAndTruncateForGemini(originalImageData);
231
- const mimeType = getImageMimeType(processedImageData);
232
- const cleanedImageData = cleanBase64Data(processedImageData);
233
- const parts = [];
234
- parts.push({
235
- functionResponse: {
236
- name: msg.name,
237
- response: {
238
- content: extracted.replaceContent.trim() ||
239
- `[image #${image_id}]`,
240
- },
241
- },
242
- });
243
- parts.push({
244
- inlineData: {
245
- mimeType: mimeType,
246
- data: cleanedImageData,
247
- },
248
- });
249
- contents.push({
250
- role: 'user',
251
- parts: parts,
252
- });
253
- }
254
- else {
255
- contents.push({
256
- role: 'user',
257
- parts: [
258
- {
259
- functionResponse: {
260
- name: msg.name,
261
- response: { content: msg.output || '' },
262
- },
263
- },
264
- ],
265
- });
266
- }
248
+ textOutput = msg.output;
267
249
  }
268
250
  else {
269
- contents.push({
270
- role: 'user',
271
- parts: [
272
- {
273
- functionResponse: {
274
- name: msg.name,
275
- response: { content: msg.output || '' },
276
- },
277
- },
278
- ],
279
- });
251
+ textOutput = JSON.stringify(msg.output);
280
252
  }
253
+ const message = {
254
+ role: 'user',
255
+ parts: [
256
+ {
257
+ functionResponse: {
258
+ name: msg.name,
259
+ response: { content: textOutput || '' },
260
+ },
261
+ },
262
+ ],
263
+ };
264
+ contents = await appendMessageWithImage(model, contents, message, {
265
+ read: () => textOutput,
266
+ write: value => {
267
+ message.parts[0].functionResponse.response.content =
268
+ value;
269
+ return message;
270
+ },
271
+ }, addImagesToInput);
281
272
  }
282
273
  else {
283
- const role = msg.role === 'assistant' ? 'model' : 'user';
284
274
  let textContent = '';
285
275
  if (typeof msg.content === 'string') {
286
- const extracted = extractBase64Image(msg.content);
287
- if (extracted.found && extracted.image_id !== null) {
288
- const image_id = extracted.image_id;
289
- const originalImageData = extracted.images[image_id];
290
- const processedImageData = await resizeAndTruncateForGemini(originalImageData);
291
- const mimeType = getImageMimeType(processedImageData);
292
- const cleanedImageData = cleanBase64Data(processedImageData);
293
- const parts = [];
294
- if (extracted.replaceContent.trim()) {
295
- parts.push({
296
- text: extracted.replaceContent.trim(),
297
- });
298
- }
299
- parts.push({
300
- inlineData: {
301
- mimeType: mimeType,
302
- data: cleanedImageData,
303
- },
304
- });
305
- contents.push({
306
- role,
307
- parts: parts,
308
- });
309
- continue;
310
- }
311
- else {
312
- textContent = msg.content;
313
- }
276
+ textContent = msg.content;
314
277
  }
315
278
  else if (msg.content &&
316
279
  typeof msg.content === 'object' &&
317
280
  'text' in msg.content) {
318
281
  textContent = msg.content.text;
319
282
  }
320
- if (textContent && textContent.trim() !== '') {
321
- if (msg.type === 'thinking') {
322
- textContent = 'Thinking: ' + textContent;
323
- }
324
- contents.push({
325
- role,
326
- parts: [{ text: textContent.trim() }],
327
- });
283
+ else {
284
+ textContent = JSON.stringify(msg.content);
328
285
  }
286
+ const role = msg.role === 'assistant' ? 'model' : 'user';
287
+ const message = {
288
+ role,
289
+ parts: [
290
+ {
291
+ thought: msg.type === 'thinking',
292
+ text: textContent.trim(),
293
+ },
294
+ ],
295
+ };
296
+ contents = await appendMessageWithImage(model, contents, message, {
297
+ read: () => textContent,
298
+ write: value => {
299
+ message.parts[0].text = value;
300
+ return message;
301
+ },
302
+ }, addImagesToInput);
329
303
  }
330
304
  }
331
305
  return contents;
@@ -484,16 +458,15 @@ export class GeminiProvider {
484
458
  ? await getToolsFromAgent(agent)
485
459
  : [];
486
460
  const settings = agent?.modelSettings;
461
+ let messageId = uuidv4();
487
462
  let contentBuffer = '';
488
- const messageId = uuidv4();
463
+ let thoughtBuffer = '';
489
464
  let eventOrder = 0;
490
- const deltaBuffers = new Map();
491
- let hasYieldedToolStart = false;
492
465
  const shownGrounding = new Set();
493
466
  let requestId = undefined;
494
467
  const chunks = [];
495
468
  try {
496
- const contents = await convertToGeminiContents(messages);
469
+ const contents = await convertToGeminiContents(model, messages);
497
470
  if (contents.length === 0) {
498
471
  throw new Error('No valid content found in messages after conversion.');
499
472
  }
@@ -623,29 +596,28 @@ export class GeminiProvider {
623
596
  config,
624
597
  };
625
598
  requestId = log_llm_request(agent.agent_id, 'google', model, requestParams);
599
+ const { waitWhilePaused } = await import('../utils/pause_controller.js');
600
+ await waitWhilePaused(100, agent.abortSignal);
626
601
  const getStreamFn = () => this.client.models.generateContentStream(requestParams);
627
602
  const response = this.retryStreamOnIncompleteJson(getStreamFn);
628
603
  let usageMetadata;
629
604
  for await (const chunk of response) {
630
605
  chunks.push(chunk);
606
+ if (chunk.responseId) {
607
+ messageId = chunk.responseId;
608
+ }
631
609
  if (isPaused()) {
632
- console.log(`[Gemini] System paused during stream for model ${model}. Aborting processing.`);
633
- yield {
634
- type: 'message_delta',
635
- content: '\n⏸️ Stream paused by user.',
636
- message_id: messageId,
637
- order: 999,
638
- };
639
- break;
610
+ console.log(`[Gemini] System paused during stream for model ${model}. Waiting...`);
611
+ await waitWhilePaused(100, agent.abortSignal);
612
+ console.log(`[Gemini] System resumed, continuing stream for model ${model}`);
640
613
  }
641
614
  if (chunk.functionCalls && chunk.functionCalls.length > 0) {
642
615
  for (const fc of chunk.functionCalls) {
643
616
  if (fc && fc.name) {
644
- const callId = `call_${uuidv4()}`;
645
617
  yield {
646
618
  type: 'tool_start',
647
619
  tool_call: {
648
- id: callId,
620
+ id: fc.id || `call_${uuidv4()}`,
649
621
  type: 'function',
650
622
  function: {
651
623
  name: fc.name,
@@ -656,35 +628,41 @@ export class GeminiProvider {
656
628
  }
657
629
  }
658
630
  }
659
- if (chunk.text) {
660
- contentBuffer += chunk.text;
661
- for (const ev of bufferDelta(deltaBuffers, messageId, chunk.text, content => ({
662
- type: 'message_delta',
663
- content,
664
- message_id: messageId,
665
- order: eventOrder++,
666
- }))) {
667
- yield ev;
668
- }
669
- }
670
- const gChunks = chunk.candidates?.[0]?.groundingMetadata?.groundingChunks;
671
- if (Array.isArray(gChunks)) {
672
- const newChunks = gChunks.filter(c => c?.web?.uri && !shownGrounding.has(c.web.uri));
673
- if (newChunks.length) {
674
- newChunks.forEach(c => shownGrounding.add(c.web.uri));
675
- const formatted = formatGroundingChunks(newChunks);
676
- yield {
677
- type: 'message_delta',
678
- content: '\n\nSearch Results:\n' + formatted + '\n',
679
- message_id: messageId,
680
- order: eventOrder++,
681
- };
682
- contentBuffer +=
683
- '\n\nSearch Results:\n' + formatted + '\n';
684
- }
685
- }
686
- if (chunk.candidates?.[0]?.content?.parts) {
687
- for (const part of chunk.candidates[0].content.parts) {
631
+ for (const candidate of chunk.candidates) {
632
+ for (const part of candidate.content.parts) {
633
+ let text = '';
634
+ if (part.text) {
635
+ text += part.text;
636
+ }
637
+ if (part.executableCode) {
638
+ if (text) {
639
+ text += '\n\n';
640
+ }
641
+ text += part.executableCode;
642
+ }
643
+ if (part.videoMetadata) {
644
+ if (text) {
645
+ text += '\n\n';
646
+ }
647
+ text += JSON.stringify(part.videoMetadata);
648
+ }
649
+ if (text.length > 0) {
650
+ const ev = {
651
+ type: 'message_delta',
652
+ content: '',
653
+ message_id: messageId,
654
+ order: eventOrder++,
655
+ };
656
+ if (part.thought) {
657
+ thoughtBuffer += text;
658
+ ev.thinking_content = text;
659
+ }
660
+ else {
661
+ contentBuffer += text;
662
+ ev.content = text;
663
+ }
664
+ yield ev;
665
+ }
688
666
  if (part.inlineData?.data) {
689
667
  yield {
690
668
  type: 'file_complete',
@@ -696,19 +674,27 @@ export class GeminiProvider {
696
674
  };
697
675
  }
698
676
  }
677
+ const gChunks = candidate.groundingMetadata?.groundingChunks;
678
+ if (Array.isArray(gChunks)) {
679
+ const newChunks = gChunks.filter(c => c?.web?.uri && !shownGrounding.has(c.web.uri));
680
+ if (newChunks.length) {
681
+ newChunks.forEach(c => shownGrounding.add(c.web.uri));
682
+ const formatted = formatGroundingChunks(newChunks);
683
+ yield {
684
+ type: 'message_delta',
685
+ content: '\n\nSearch Results:\n' + formatted + '\n',
686
+ message_id: messageId,
687
+ order: eventOrder++,
688
+ };
689
+ contentBuffer +=
690
+ '\n\nSearch Results:\n' + formatted + '\n';
691
+ }
692
+ }
699
693
  }
700
694
  if (chunk.usageMetadata) {
701
695
  usageMetadata = chunk.usageMetadata;
702
696
  }
703
697
  }
704
- for (const ev of flushBufferedDeltas(deltaBuffers, (_id, content) => ({
705
- type: 'message_delta',
706
- content,
707
- message_id: messageId,
708
- order: eventOrder++,
709
- }))) {
710
- yield ev;
711
- }
712
698
  if (usageMetadata) {
713
699
  costTracker.addUsage({
714
700
  model,
@@ -723,7 +709,7 @@ export class GeminiProvider {
723
709
  });
724
710
  }
725
711
  else {
726
- console.error('No usage metadata found in the response. This may affect token tracking.');
712
+ console.error('[Gemini] No usage metadata found in the response. This may affect token tracking.');
727
713
  costTracker.addUsage({
728
714
  model,
729
715
  input_tokens: 0,
@@ -735,10 +721,11 @@ export class GeminiProvider {
735
721
  },
736
722
  });
737
723
  }
738
- if (!hasYieldedToolStart && contentBuffer) {
724
+ if (contentBuffer || thoughtBuffer) {
739
725
  yield {
740
726
  type: 'message_complete',
741
727
  content: contentBuffer,
728
+ thinking_content: thoughtBuffer,
742
729
  message_id: messageId,
743
730
  };
744
731
  }
@@ -763,10 +750,11 @@ export class GeminiProvider {
763
750
  type: 'error',
764
751
  error: `Gemini error ${model}: ${errorMessage}`,
765
752
  };
766
- if (!hasYieldedToolStart && contentBuffer) {
753
+ if (contentBuffer || thoughtBuffer) {
767
754
  yield {
768
755
  type: 'message_complete',
769
756
  content: contentBuffer,
757
+ thinking_content: thoughtBuffer,
770
758
  message_id: messageId,
771
759
  };
772
760
  }