@agentscope-ai/agentscope 0.0.2 → 0.0.4
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/LICENSE +202 -0
- package/dist/agent/index.d.mts +10 -10
- package/dist/agent/index.d.ts +10 -10
- package/dist/agent/index.js +104 -93
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/index.mjs +104 -93
- package/dist/agent/index.mjs.map +1 -1
- package/dist/{base-BOx3UzOl.d.mts → base-1YVBgB4n.d.mts} +2 -2
- package/dist/{base-DYlBMCy_.d.mts → base-B_MQMHWr.d.mts} +3 -3
- package/dist/{base-Cwi4bjze.d.ts → base-BherSLRs.d.ts} +3 -3
- package/dist/{base-NX-knWOv.d.ts → base-CY4DMBH1.d.ts} +1 -1
- package/dist/{base-BoIps2RL.d.ts → base-ChWjyzPL.d.ts} +2 -2
- package/dist/{base-C7jwyH4Z.d.mts → base-ClilytRZ.d.mts} +1 -1
- package/dist/{block-VsnHrllL.d.mts → block-B72uPF1H.d.mts} +7 -5
- package/dist/{block-VsnHrllL.d.ts → block-B72uPF1H.d.ts} +7 -5
- package/dist/event/index.d.mts +105 -89
- package/dist/event/index.d.ts +105 -89
- package/dist/event/index.js +8 -8
- package/dist/event/index.js.map +1 -1
- package/dist/event/index.mjs +8 -8
- package/dist/event/index.mjs.map +1 -1
- package/dist/formatter/index.d.mts +4 -3
- package/dist/formatter/index.d.ts +4 -3
- package/dist/formatter/index.js +17 -17
- package/dist/formatter/index.js.map +1 -1
- package/dist/formatter/index.mjs +17 -17
- package/dist/formatter/index.mjs.map +1 -1
- package/dist/{index-BcatlwXQ.d.ts → index-BNfyKbQN.d.ts} +1 -1
- package/dist/{index-BTJDlKvQ.d.mts → index-UQCwdfet.d.mts} +1 -1
- package/dist/mcp/index.d.mts +2 -2
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/index.mjs +1 -1
- package/dist/mcp/index.mjs.map +1 -1
- package/dist/message/index.d.mts +3 -2
- package/dist/message/index.d.ts +3 -2
- package/dist/message/index.js +204 -5
- package/dist/message/index.js.map +1 -1
- package/dist/message/index.mjs +200 -5
- package/dist/message/index.mjs.map +1 -1
- package/dist/message-CPZd0NIc.d.ts +133 -0
- package/dist/message-DgpfAaHK.d.mts +133 -0
- package/dist/model/index.d.mts +6 -5
- package/dist/model/index.d.ts +6 -5
- package/dist/model/index.js +39 -28
- package/dist/model/index.js.map +1 -1
- package/dist/model/index.mjs +39 -28
- package/dist/model/index.mjs.map +1 -1
- package/dist/storage/index.d.mts +4 -3
- package/dist/storage/index.d.ts +4 -3
- package/dist/storage/index.js +4 -4
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/index.mjs +4 -4
- package/dist/storage/index.mjs.map +1 -1
- package/dist/tool/index.d.mts +4 -4
- package/dist/tool/index.d.ts +4 -4
- package/dist/{toolkit-CEpulFi0.d.ts → toolkit-DeOlul5Y.d.ts} +2 -2
- package/dist/{toolkit-CGEZSZPa.d.mts → toolkit-jwe7NmVJ.d.mts} +2 -2
- package/package.json +87 -87
- package/src/agent/agent.test.ts +104 -71
- package/src/agent/agent.ts +112 -104
- package/src/agent/test-compression.ts +1 -1
- package/src/event/index.ts +96 -98
- package/src/formatter/base.ts +3 -3
- package/src/formatter/dashscope-chat-formatter.test.ts +11 -8
- package/src/formatter/dashscope-chat-formatter.ts +3 -3
- package/src/formatter/openai-chat-formatter.test.ts +13 -5
- package/src/formatter/openai-chat-formatter.ts +6 -6
- package/src/mcp/base.ts +1 -1
- package/src/mcp/http.test.ts +2 -0
- package/src/mcp/stdio.test.ts +1 -0
- package/src/message/append-event.test.ts +783 -0
- package/src/message/block.ts +8 -4
- package/src/message/index.ts +12 -1
- package/src/message/message.test.ts +3 -1
- package/src/message/message.ts +310 -47
- package/src/model/dashscope-model.test.ts +4 -0
- package/src/model/dashscope-model.ts +3 -0
- package/src/model/deepseek-model.test.ts +2 -0
- package/src/model/deepseek-model.ts +3 -0
- package/src/model/ollama-model.test.ts +1 -0
- package/src/model/ollama-model.ts +2 -0
- package/src/model/openai-model.ts +3 -0
- package/src/permission/index.ts +13 -0
- package/src/storage/file-system.test.ts +4 -3
- package/src/storage/file-system.ts +4 -4
- package/src/tool/toolkit.test.ts +12 -0
- package/dist/message-CkN21KaY.d.mts +0 -99
- package/dist/message-CzLeTlua.d.ts +0 -99
package/dist/model/index.mjs
CHANGED
|
@@ -5,16 +5,16 @@ function createMsg({
|
|
|
5
5
|
role,
|
|
6
6
|
metadata = {},
|
|
7
7
|
id = crypto.randomUUID(),
|
|
8
|
-
|
|
8
|
+
created_at = (/* @__PURE__ */ new Date()).toISOString(),
|
|
9
|
+
finished_at,
|
|
9
10
|
usage
|
|
10
11
|
}) {
|
|
11
|
-
|
|
12
|
+
const contentBlocks = typeof content === "string" ? [{ id: crypto.randomUUID(), type: "text", text: content }] : content;
|
|
13
|
+
return { id, name, role, content: contentBlocks, metadata, created_at, finished_at, usage };
|
|
12
14
|
}
|
|
13
15
|
function getTextContent(msg, separator = "\n") {
|
|
14
16
|
const textBlocks = msg.content.filter((block) => block.type === "text");
|
|
15
|
-
if (textBlocks.length === 0)
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
17
|
+
if (textBlocks.length === 0) return null;
|
|
18
18
|
return textBlocks.map((block) => block.text).join(separator);
|
|
19
19
|
}
|
|
20
20
|
function getContentBlocks(msg, blockType) {
|
|
@@ -226,10 +226,10 @@ var FormatterBase = class {
|
|
|
226
226
|
textualOutput.push(block.text);
|
|
227
227
|
break;
|
|
228
228
|
default:
|
|
229
|
-
const type = block.source.
|
|
229
|
+
const type = block.source.media_type.split("/")[0];
|
|
230
230
|
if (type !== "image" && type !== "audio" && type !== "video") {
|
|
231
231
|
console.log(
|
|
232
|
-
`Unsupported media type '${block.source.
|
|
232
|
+
`Unsupported media type '${block.source.media_type}' in tool output. Only image, audio and video are supported.`
|
|
233
233
|
);
|
|
234
234
|
break;
|
|
235
235
|
}
|
|
@@ -253,7 +253,7 @@ var FormatterBase = class {
|
|
|
253
253
|
}
|
|
254
254
|
const promotedBlocks = [];
|
|
255
255
|
promotedData.forEach(({ id, block }) => {
|
|
256
|
-
const type = block.source.
|
|
256
|
+
const type = block.source.media_type.split("/")[0];
|
|
257
257
|
promotedBlocks.push({
|
|
258
258
|
id: crypto.randomUUID(),
|
|
259
259
|
type: "text",
|
|
@@ -399,10 +399,10 @@ var DashScopeChatFormatter = class extends FormatterBase {
|
|
|
399
399
|
* @returns An object representing the formatted multimodal content.
|
|
400
400
|
*/
|
|
401
401
|
_formatMultimodalBlock(block) {
|
|
402
|
-
const type = block.source.
|
|
402
|
+
const type = block.source.media_type.split("/")[0];
|
|
403
403
|
if (!["image", "audio", "video"].includes(type)) {
|
|
404
404
|
console.log(
|
|
405
|
-
`Skip unsupported media type ${block.source.
|
|
405
|
+
`Skip unsupported media type ${block.source.media_type} in DashScopeChatFormatter. Only image, audio and video are supported.`
|
|
406
406
|
);
|
|
407
407
|
return [];
|
|
408
408
|
}
|
|
@@ -411,7 +411,7 @@ var DashScopeChatFormatter = class extends FormatterBase {
|
|
|
411
411
|
}
|
|
412
412
|
return [
|
|
413
413
|
{
|
|
414
|
-
[type]: `data:${block.source.
|
|
414
|
+
[type]: `data:${block.source.media_type};base64,${block.source.data}`
|
|
415
415
|
}
|
|
416
416
|
];
|
|
417
417
|
}
|
|
@@ -662,7 +662,7 @@ var OpenAIChatFormatter = class extends FormatterBase {
|
|
|
662
662
|
block,
|
|
663
663
|
role
|
|
664
664
|
}) {
|
|
665
|
-
const type = block.source.
|
|
665
|
+
const type = block.source.media_type.split("/")[0];
|
|
666
666
|
if (type === "image") {
|
|
667
667
|
return [
|
|
668
668
|
{
|
|
@@ -685,7 +685,7 @@ var OpenAIChatFormatter = class extends FormatterBase {
|
|
|
685
685
|
];
|
|
686
686
|
}
|
|
687
687
|
console.log(
|
|
688
|
-
`Skip unsupported media type ${block.source.
|
|
688
|
+
`Skip unsupported media type ${block.source.media_type} in OpenAIChatFormatter. Only image and audio are supported.`
|
|
689
689
|
);
|
|
690
690
|
return [];
|
|
691
691
|
}
|
|
@@ -696,7 +696,7 @@ var OpenAIChatFormatter = class extends FormatterBase {
|
|
|
696
696
|
*/
|
|
697
697
|
async _toOpenAIImageURL(block) {
|
|
698
698
|
if (block.source.type === "base64") {
|
|
699
|
-
return `data:${block.source.
|
|
699
|
+
return `data:${block.source.media_type};base64,${block.source.data}`;
|
|
700
700
|
}
|
|
701
701
|
const sourceUrl = block.source.url;
|
|
702
702
|
if (sourceUrl.startsWith("http://") || sourceUrl.startsWith("https://")) {
|
|
@@ -717,7 +717,7 @@ var OpenAIChatFormatter = class extends FormatterBase {
|
|
|
717
717
|
);
|
|
718
718
|
}
|
|
719
719
|
const file = await readFile(localPath);
|
|
720
|
-
const mime = block.source.
|
|
720
|
+
const mime = block.source.media_type || `image/${ext.slice(1)}`;
|
|
721
721
|
return `data:${mime};base64,${file.toString("base64")}`;
|
|
722
722
|
}
|
|
723
723
|
/**
|
|
@@ -733,10 +733,10 @@ var OpenAIChatFormatter = class extends FormatterBase {
|
|
|
733
733
|
["audio/mpeg", "mp3"]
|
|
734
734
|
]);
|
|
735
735
|
if (block.source.type === "base64") {
|
|
736
|
-
const format2 = supportedMediaTypes.get(block.source.
|
|
736
|
+
const format2 = supportedMediaTypes.get(block.source.media_type);
|
|
737
737
|
if (!format2) {
|
|
738
738
|
throw new TypeError(
|
|
739
|
-
`Unsupported audio media type: ${block.source.
|
|
739
|
+
`Unsupported audio media type: ${block.source.media_type}, only audio/wav and audio/mp3 are supported.`
|
|
740
740
|
);
|
|
741
741
|
}
|
|
742
742
|
return { data: block.source.data, format: format2 };
|
|
@@ -908,7 +908,8 @@ var DashScopeChatModel = class extends ChatModelBase {
|
|
|
908
908
|
type: "tool_call",
|
|
909
909
|
id: String(toolCall.id),
|
|
910
910
|
name: String(toolCall.function.name),
|
|
911
|
-
input: inputString
|
|
911
|
+
input: inputString,
|
|
912
|
+
state: "pending"
|
|
912
913
|
});
|
|
913
914
|
}
|
|
914
915
|
});
|
|
@@ -1007,7 +1008,8 @@ var DashScopeChatModel = class extends ChatModelBase {
|
|
|
1007
1008
|
type: "tool_call",
|
|
1008
1009
|
id: meta.id,
|
|
1009
1010
|
name: meta.name,
|
|
1010
|
-
input: deltaArgs
|
|
1011
|
+
input: deltaArgs,
|
|
1012
|
+
state: "pending"
|
|
1011
1013
|
});
|
|
1012
1014
|
}
|
|
1013
1015
|
});
|
|
@@ -1034,7 +1036,8 @@ var DashScopeChatModel = class extends ChatModelBase {
|
|
|
1034
1036
|
type: "tool_call",
|
|
1035
1037
|
id: meta.id,
|
|
1036
1038
|
name: meta.name,
|
|
1037
|
-
input: accToolInputs.get(index) || "{}"
|
|
1039
|
+
input: accToolInputs.get(index) || "{}",
|
|
1040
|
+
state: "pending"
|
|
1038
1041
|
});
|
|
1039
1042
|
});
|
|
1040
1043
|
const blocks = this._dataToBlocks(accText, accThinking, finalToolCalls);
|
|
@@ -1182,7 +1185,8 @@ var DeepSeekChatModel = class extends ChatModelBase {
|
|
|
1182
1185
|
type: "tool_call",
|
|
1183
1186
|
id: String(toolCall.id),
|
|
1184
1187
|
name: String(toolCall.function.name),
|
|
1185
|
-
input: inputString
|
|
1188
|
+
input: inputString,
|
|
1189
|
+
state: "pending"
|
|
1186
1190
|
});
|
|
1187
1191
|
}
|
|
1188
1192
|
});
|
|
@@ -1279,7 +1283,8 @@ var DeepSeekChatModel = class extends ChatModelBase {
|
|
|
1279
1283
|
type: "tool_call",
|
|
1280
1284
|
id: meta.id,
|
|
1281
1285
|
name: meta.name,
|
|
1282
|
-
input: deltaArgs
|
|
1286
|
+
input: deltaArgs,
|
|
1287
|
+
state: "pending"
|
|
1283
1288
|
});
|
|
1284
1289
|
}
|
|
1285
1290
|
});
|
|
@@ -1306,7 +1311,8 @@ var DeepSeekChatModel = class extends ChatModelBase {
|
|
|
1306
1311
|
type: "tool_call",
|
|
1307
1312
|
id: meta.id,
|
|
1308
1313
|
name: meta.name,
|
|
1309
|
-
input: accToolInputs.get(index) || "{}"
|
|
1314
|
+
input: accToolInputs.get(index) || "{}",
|
|
1315
|
+
state: "pending"
|
|
1310
1316
|
});
|
|
1311
1317
|
});
|
|
1312
1318
|
const blocks = this._accDataToBlocks(accText, accThinking, finalToolCalls);
|
|
@@ -1479,7 +1485,8 @@ var OllamaChatModel = class extends ChatModelBase {
|
|
|
1479
1485
|
type: "tool_call",
|
|
1480
1486
|
id: toolId,
|
|
1481
1487
|
name: func.name,
|
|
1482
|
-
input: JSON.stringify(func.arguments)
|
|
1488
|
+
input: JSON.stringify(func.arguments),
|
|
1489
|
+
state: "pending"
|
|
1483
1490
|
};
|
|
1484
1491
|
toolCalls.set(toolId, toolCallBlock);
|
|
1485
1492
|
deltaToolCalls.set(toolId, toolCallBlock);
|
|
@@ -1539,7 +1546,8 @@ var OllamaChatModel = class extends ChatModelBase {
|
|
|
1539
1546
|
type: "tool_call",
|
|
1540
1547
|
id: `${idx}_${toolCall.function.name}`,
|
|
1541
1548
|
name: toolCall.function.name,
|
|
1542
|
-
input: JSON.stringify(toolCall.function.arguments)
|
|
1549
|
+
input: JSON.stringify(toolCall.function.arguments),
|
|
1550
|
+
state: "pending"
|
|
1543
1551
|
});
|
|
1544
1552
|
}
|
|
1545
1553
|
}
|
|
@@ -1676,7 +1684,8 @@ var OpenAIChatModel = class extends ChatModelBase {
|
|
|
1676
1684
|
type: "tool_call",
|
|
1677
1685
|
id: toolCall.id,
|
|
1678
1686
|
name: toolCall.function.name,
|
|
1679
|
-
input: toolCall.function.arguments
|
|
1687
|
+
input: toolCall.function.arguments,
|
|
1688
|
+
state: "pending"
|
|
1680
1689
|
});
|
|
1681
1690
|
}
|
|
1682
1691
|
});
|
|
@@ -1770,7 +1779,8 @@ var OpenAIChatModel = class extends ChatModelBase {
|
|
|
1770
1779
|
type: "tool_call",
|
|
1771
1780
|
id: meta.id,
|
|
1772
1781
|
name: meta.name,
|
|
1773
|
-
input: deltaArgs
|
|
1782
|
+
input: deltaArgs,
|
|
1783
|
+
state: "pending"
|
|
1774
1784
|
});
|
|
1775
1785
|
}
|
|
1776
1786
|
});
|
|
@@ -1799,7 +1809,8 @@ var OpenAIChatModel = class extends ChatModelBase {
|
|
|
1799
1809
|
type: "tool_call",
|
|
1800
1810
|
id: meta.id,
|
|
1801
1811
|
name: meta.name,
|
|
1802
|
-
input: accToolInputs.get(index) || "{}"
|
|
1812
|
+
input: accToolInputs.get(index) || "{}",
|
|
1813
|
+
state: "pending"
|
|
1803
1814
|
});
|
|
1804
1815
|
});
|
|
1805
1816
|
const blocks = this._accDataToBlocks(accText, finalToolCalls);
|