@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
@@ -2,8 +2,8 @@ import OpenAI, { APIError } from 'openai';
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 { extractBase64Image } from '../utils/image_utils.js';
6
- import { convertImageToTextIfNeeded } from '../utils/image_to_text.js';
5
+ import { isPaused } from '../utils/pause_controller.js';
6
+ import { appendMessageWithImage, resizeAndSplitForOpenAI, } from '../utils/image_utils.js';
7
7
  import { bufferDelta, flushBufferedDeltas, } from '../utils/delta_buffer.js';
8
8
  const SIMULATED_TOOL_CALL_REGEX = /\n?\s*(?:```(?:json)?\s*)?\s*TOOL_CALLS:\s*(\[.*\])(?:\s*```)?/gs;
9
9
  const TOOL_CALL_CLEANUP_REGEX = /\n?\s*(?:```(?:json)?\s*)?\s*TOOL_CALLS:\s*\[.*\](?:\s*```)?/gms;
@@ -73,72 +73,69 @@ async function convertToOpenAITools(tools) {
73
73
  },
74
74
  })));
75
75
  }
76
+ export async function addImagesToInput(input, images, source) {
77
+ for (const [image_id, imageData] of Object.entries(images)) {
78
+ try {
79
+ const processedImages = await resizeAndSplitForOpenAI(imageData);
80
+ const messageContent = [];
81
+ if (processedImages.length === 1) {
82
+ messageContent.push({
83
+ type: 'text',
84
+ text: `This is [image #${image_id}] from the ${source}`,
85
+ });
86
+ }
87
+ else {
88
+ messageContent.push({
89
+ type: 'text',
90
+ text: `This is [image #${image_id}] from the ${source} (split into ${processedImages.length} parts, each up to 768px high)`,
91
+ });
92
+ }
93
+ for (const imageSegment of processedImages) {
94
+ messageContent.push({
95
+ type: 'image_url',
96
+ image_url: {
97
+ url: imageSegment,
98
+ },
99
+ });
100
+ }
101
+ input.push({
102
+ role: 'user',
103
+ content: messageContent,
104
+ });
105
+ }
106
+ catch (error) {
107
+ console.error(`Error processing image ${image_id}:`, error);
108
+ input.push({
109
+ role: 'user',
110
+ content: [
111
+ {
112
+ type: 'text',
113
+ text: `This is [image #${image_id}] from the ${source} (raw image)`,
114
+ },
115
+ {
116
+ type: 'image_url',
117
+ image_url: {
118
+ url: imageData,
119
+ },
120
+ },
121
+ ],
122
+ });
123
+ }
124
+ }
125
+ return input;
126
+ }
76
127
  async function mapMessagesToOpenAI(messages, model) {
77
- const result = [];
128
+ let result = [];
78
129
  for (const msg of messages) {
79
130
  const message = { ...msg };
80
131
  delete message.pinned;
81
132
  if (message.type === 'function_call_output') {
82
- if (typeof message.output === 'string') {
83
- const extracted = extractBase64Image(message.output);
84
- if (extracted.found && extracted.image_id !== null) {
85
- const imageId = extracted.image_id;
86
- const imageData = extracted.images[imageId];
87
- const processedImageData = await convertImageToTextIfNeeded(imageData, model);
88
- if (!processedImageData.startsWith('data:image/')) {
89
- const newContent = extracted.replaceContent.trim()
90
- ? extracted.replaceContent.trim() +
91
- ' ' +
92
- processedImageData
93
- : processedImageData;
94
- result.push({
95
- role: 'tool',
96
- tool_call_id: message.call_id,
97
- content: newContent,
98
- });
99
- }
100
- else {
101
- const image_id = imageId;
102
- const placeholderOutput = extracted.replaceContent.trim()
103
- ? `${extracted.replaceContent} [image #${image_id}]`
104
- : `[image #${image_id}]`;
105
- result.push({
106
- role: 'tool',
107
- tool_call_id: message.call_id,
108
- content: placeholderOutput,
109
- });
110
- result.push({
111
- role: 'system',
112
- content: [
113
- {
114
- type: 'text',
115
- text: `This is [image #${image_id}] from function call output`,
116
- },
117
- {
118
- type: 'image_url',
119
- image_url: {
120
- url: processedImageData,
121
- },
122
- },
123
- ],
124
- });
125
- }
126
- }
127
- else {
128
- result.push({
129
- role: 'tool',
130
- tool_call_id: message.call_id,
131
- content: message.output || '',
132
- });
133
- }
134
- }
135
- else {
136
- result.push({
137
- role: 'tool',
138
- tool_call_id: message.call_id,
139
- content: message.output || '',
140
- });
141
- }
133
+ const toolMessage = {
134
+ role: 'tool',
135
+ tool_call_id: message.call_id,
136
+ content: message.output || '',
137
+ };
138
+ result = await appendMessageWithImage(model, result, toolMessage, 'content', addImagesToInput);
142
139
  }
143
140
  else if (message.type === 'function_call') {
144
141
  const functionCallMsg = message;
@@ -159,79 +156,14 @@ async function mapMessagesToOpenAI(messages, model) {
159
156
  else if (!message.type ||
160
157
  message.type === 'message' ||
161
158
  message.type === 'thinking') {
162
- let content = '';
163
159
  if ('content' in message) {
164
- if (typeof message.content === 'string') {
165
- const extracted = extractBase64Image(message.content);
166
- if (extracted.found && extracted.image_id !== null) {
167
- const imageId = extracted.image_id;
168
- const imageData = extracted.images[imageId];
169
- const processedImageData = await convertImageToTextIfNeeded(imageData, model);
170
- let role = message.role || 'user';
171
- if (role === 'developer')
172
- role = 'system';
173
- if (role !== 'system' &&
174
- role !== 'user' &&
175
- role !== 'assistant')
176
- role = 'user';
177
- if (!processedImageData.startsWith('data:image/')) {
178
- const newContent = extracted.replaceContent.trim()
179
- ? extracted.replaceContent.trim() +
180
- ' ' +
181
- processedImageData
182
- : processedImageData;
183
- result.push({
184
- role: role,
185
- content: newContent,
186
- });
187
- }
188
- else {
189
- const image_id = imageId;
190
- const placeholderContent = extracted.replaceContent.trim()
191
- ? `${extracted.replaceContent} [image #${image_id}]`
192
- : `[image #${image_id}]`;
193
- result.push({
194
- role: role,
195
- content: placeholderContent,
196
- });
197
- result.push({
198
- role: 'system',
199
- content: [
200
- {
201
- type: 'text',
202
- text: `This is [image #${image_id}] from the ${role} message`,
203
- },
204
- {
205
- type: 'image_url',
206
- image_url: {
207
- url: processedImageData,
208
- },
209
- },
210
- ],
211
- });
212
- }
213
- continue;
214
- }
215
- else {
216
- content = message.content;
217
- }
218
- }
219
- else if (message.content &&
220
- typeof message.content === 'object' &&
221
- 'text' in message.content &&
222
- typeof message.content.text === 'string') {
223
- content = message.content.text;
160
+ if (message.role === 'developer')
161
+ message.role = 'system';
162
+ if (!['system', 'user', 'assistant'].includes(message.role)) {
163
+ message.role = 'user';
224
164
  }
165
+ result = await appendMessageWithImage(model, result, message, 'content', addImagesToInput);
225
166
  }
226
- let role = message.role || 'user';
227
- if (role === 'developer')
228
- role = 'system';
229
- if (role !== 'system' && role !== 'user' && role !== 'assistant')
230
- role = 'user';
231
- result.push({
232
- role: role,
233
- content: content,
234
- });
235
167
  }
236
168
  }
237
169
  return result.filter(Boolean);
@@ -463,6 +395,8 @@ export class OpenAIChat {
463
395
  };
464
396
  requestParams = this.prepareParameters(requestParams);
465
397
  requestId = log_llm_request(agent.agent_id, this.provider, model, requestParams);
398
+ const { waitWhilePaused } = await import('../utils/pause_controller.js');
399
+ await waitWhilePaused(100, agent.abortSignal);
466
400
  const stream = await this.client.chat.completions.create(requestParams);
467
401
  let aggregatedContent = '';
468
402
  let aggregatedThinking = '';
@@ -477,6 +411,11 @@ export class OpenAIChat {
477
411
  const deltaBuffers = new Map();
478
412
  for await (const chunk of stream) {
479
413
  chunks.push(chunk);
414
+ if (isPaused()) {
415
+ console.log(`[${this.provider}] System paused during stream for model ${model}. Waiting...`);
416
+ await waitWhilePaused(100, agent.abortSignal);
417
+ console.log(`[${this.provider}] System resumed, continuing stream for model ${model}`);
418
+ }
480
419
  const choice = chunk.choices[0];
481
420
  if (!choice?.delta)
482
421
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"openai_chat.js","sourceRoot":"","sources":["../../model_providers/openai_chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai_chat.js","sourceRoot":"","sources":["../../model_providers/openai_chat.ts"],"names":[],"mappings":"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"}