symposium 2.3.0 → 2.3.2

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.
@@ -7,6 +7,7 @@ export default class GrokModel extends LegacyOpenAIModel {
7
7
  ['grok-4', {
8
8
  name: 'grok-4',
9
9
  tokens: 256000,
10
+ tools: true,
10
11
  }],
11
12
  ]);
12
13
  }
@@ -32,7 +33,7 @@ export default class GrokModel extends LegacyOpenAIModel {
32
33
  properties: {
33
34
  prompt: {
34
35
  type: 'string',
35
- description: 'A detailed description of the image to generate',
36
+ description: 'A detailed description of the image to generate - MUST be in English',
36
37
  },
37
38
  },
38
39
  required: ['prompt'],
@@ -70,7 +70,7 @@ export default class OpenAIModel extends Model {
70
70
 
71
71
  const convertedMessages = [];
72
72
  for (let m of messages)
73
- convertedMessages.push(...this.convertMessage(m, model));
73
+ convertedMessages.push(...(await this.convertMessage(m, model)));
74
74
 
75
75
  const tools = functions.map(f => ({
76
76
  type: 'function',
@@ -118,9 +118,9 @@ export default class OpenAIModel extends Model {
118
118
  const mime = output.output_format === 'png' ? 'image/png' : 'image/jpeg';
119
119
  message_content.push({
120
120
  type: 'image',
121
- source: {
121
+ content: {
122
122
  type: 'base64',
123
- media_type: mime,
123
+ mime,
124
124
  data: output.result,
125
125
  },
126
126
  meta: {
@@ -174,7 +174,7 @@ export default class OpenAIModel extends Model {
174
174
  }
175
175
  }
176
176
 
177
- convertMessage(message, model) {
177
+ async convertMessage(message, model) {
178
178
  const messages = [],
179
179
  role = message.role === 'system' ? this.system_role_name : message.role;
180
180
 
@@ -188,16 +188,30 @@ export default class OpenAIModel extends Model {
188
188
  break;
189
189
 
190
190
  case 'image':
191
- messages.push(c.meta.id ? {
192
- type: 'image_generation_call',
193
- id: c.meta.id,
194
- result: c.source.data,
195
- status: c.meta.status,
196
- } : {
197
- type: 'input_image',
198
- image_url: c.content.type === 'base64' ? 'data:' + c.content.mime + ';base64,' + c.content.data : c.content.data,
199
- detail: c.content.detail || 'auto',
200
- });
191
+ if (c.meta.id) { // From model image generation
192
+ let base64;
193
+ if (c.content.type === 'base64') {
194
+ base64 = c.content.data;
195
+ } else {
196
+ // Fetch image and convert to base64
197
+ const response = await fetch(c.content.data);
198
+ const buffer = await response.arrayBuffer();
199
+ base64 = Buffer.from(buffer).toString('base64');
200
+ }
201
+
202
+ messages.push({
203
+ type: 'image_generation_call',
204
+ id: c.meta.id,
205
+ result: base64,
206
+ status: c.meta.status,
207
+ });
208
+ } else {
209
+ messages.push({
210
+ type: 'input_image',
211
+ image_url: c.content.type === 'base64' ? 'data:' + c.content.mime + ';base64,' + c.content.data : c.content.data,
212
+ detail: c.content.detail || 'auto',
213
+ });
214
+ }
201
215
  break;
202
216
 
203
217
  case 'audio':
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "symposium",
4
- "version": "2.3.0",
4
+ "version": "2.3.2",
5
5
  "description": "Agents",
6
6
  "main": "index.js",
7
7
  "author": "Domenico Giambra",