symposium 0.12.7 → 0.12.9

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/Model.js CHANGED
@@ -5,6 +5,7 @@ export default class Model {
5
5
  tokens;
6
6
  supports_functions = false;
7
7
  supports_structured_output = false;
8
+ system_role_name = 'system';
8
9
 
9
10
  constructor() {
10
11
  if (!this.label)
@@ -154,7 +154,7 @@ export default class AnthropicModel extends Model {
154
154
  }
155
155
 
156
156
  const parsedMessage = {
157
- role: ['function', 'tool'].includes(message.role) ? 'user' : message.role,
157
+ role: ['function', 'tool'].includes(message.role) ? 'user' : (message.role === 'system' ? this.system_role_name : message.role),
158
158
  content,
159
159
  };
160
160
 
package/models/GptO1.js CHANGED
@@ -6,4 +6,5 @@ export default class GptO1 extends OpenAIModel {
6
6
  name_for_tiktoken = 'o1-mini';
7
7
  tokens = 200000;
8
8
  supports_structured_output = true;
9
+ system_role_name = 'developer';
9
10
  }
@@ -6,4 +6,5 @@ export default class GptO1Mini extends OpenAIModel {
6
6
  name_for_tiktoken = 'o1-mini';
7
7
  tokens = 128000;
8
8
  supports_structured_output = true;
9
+ system_role_name = 'developer';
9
10
  }
@@ -110,12 +110,14 @@ export default class OpenAIModel extends Model {
110
110
  }
111
111
 
112
112
  convertMessage(message) {
113
- const messages = [];
113
+ const messages = [],
114
+ role = message.role === 'system' ? this.system_role_name : message.role;
115
+
114
116
  for (let c of message.content) {
115
117
  switch (c.type) {
116
118
  case 'text':
117
119
  messages.push({
118
- role: message.role,
120
+ role,
119
121
  content: c.content,
120
122
  name: message.name,
121
123
  });
@@ -123,7 +125,7 @@ export default class OpenAIModel extends Model {
123
125
 
124
126
  case 'image':
125
127
  messages.push({
126
- role: message.role,
128
+ role,
127
129
  content: [
128
130
  {
129
131
  type: 'image_url',
@@ -140,7 +142,7 @@ export default class OpenAIModel extends Model {
140
142
  case 'function':
141
143
  if (this.supports_functions) {
142
144
  messages.push({
143
- role: message.role,
145
+ role,
144
146
  name: message.name,
145
147
  tool_calls: c.content.map(tool_call => ({
146
148
  id: tool_call.id,
@@ -153,7 +155,7 @@ export default class OpenAIModel extends Model {
153
155
  });
154
156
  } else {
155
157
  messages.push({
156
- role: message.role,
158
+ role,
157
159
  content: c.content.map(f => '```CALL \n' + f.name + '\n' + JSON.stringify(f.arguments || {}) + '\n```').join("\n\n"),
158
160
  name: message.name,
159
161
  });
@@ -163,7 +165,7 @@ export default class OpenAIModel extends Model {
163
165
  case 'function_response':
164
166
  if (this.supports_functions) {
165
167
  messages.push({
166
- role: message.role,
168
+ role,
167
169
  tool_call_id: c.content.id,
168
170
  content: JSON.stringify(c.content.response),
169
171
  name: message.name,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "symposium",
4
- "version": "0.12.7",
4
+ "version": "0.12.9",
5
5
  "description": "Agents",
6
6
  "main": "index.js",
7
7
  "author": "Domenico Giambra",
8
8
  "license": "ISC",
9
9
  "dependencies": {
10
10
  "@anthropic-ai/sdk": "^0.36.0",
11
- "groq-sdk": "^0.13.0",
11
+ "groq-sdk": "^0.15.0",
12
12
  "openai": "^4.12.1",
13
13
  "tiktoken": "^1.0.10"
14
14
  }