@polpo-ai/server 0.15.32 → 0.15.33
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/dist/routes/completions/message-mapping.d.ts.map +1 -1
- package/dist/routes/completions/message-mapping.js +30 -3
- package/dist/routes/completions/message-mapping.js.map +1 -1
- package/dist/routes/completions/message-mapping.test.js +56 -1
- package/dist/routes/completions/message-mapping.test.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-mapping.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,cAAc,CAAC;AAIrE,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAQrF;
|
|
1
|
+
{"version":3,"file":"message-mapping.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,cAAc,CAAC;AAIrE,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAQrF;AA0GD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EAAE,GACxC;IAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAmDnD;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,GAAG,EAAE,EACf,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -26,6 +26,33 @@ function hasModelContent(content) {
|
|
|
26
26
|
return part?.type === "image" || part?.type === "image_url" || part?.type === "file" || part?.type === "tool-call";
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
function objectInputOrEmpty(value) {
|
|
30
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
31
|
+
? value
|
|
32
|
+
: {};
|
|
33
|
+
}
|
|
34
|
+
function normalizeToolCallHistory(messages) {
|
|
35
|
+
return messages.map((message) => {
|
|
36
|
+
if (!message || typeof message !== "object")
|
|
37
|
+
return message;
|
|
38
|
+
const record = message;
|
|
39
|
+
if (!Array.isArray(record.content))
|
|
40
|
+
return message;
|
|
41
|
+
let changed = false;
|
|
42
|
+
const content = record.content.map((part) => {
|
|
43
|
+
if (!part || typeof part !== "object")
|
|
44
|
+
return part;
|
|
45
|
+
const partRecord = part;
|
|
46
|
+
if (partRecord.type !== "tool-call")
|
|
47
|
+
return part;
|
|
48
|
+
if (partRecord.input && typeof partRecord.input === "object" && !Array.isArray(partRecord.input))
|
|
49
|
+
return part;
|
|
50
|
+
changed = true;
|
|
51
|
+
return { ...part, input: {} };
|
|
52
|
+
});
|
|
53
|
+
return changed ? { ...message, content } : message;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
29
56
|
/** Resolve file content parts → text references the agent can act on with its tools. */
|
|
30
57
|
function resolveFileContentParts(content) {
|
|
31
58
|
if (typeof content === "string" || !content.some((p) => p.type === "file"))
|
|
@@ -122,7 +149,7 @@ export function convertMessages(messages) {
|
|
|
122
149
|
type: "tool-call",
|
|
123
150
|
toolCallId: call.id,
|
|
124
151
|
toolName: call.function.name,
|
|
125
|
-
input,
|
|
152
|
+
input: objectInputOrEmpty(input),
|
|
126
153
|
});
|
|
127
154
|
}
|
|
128
155
|
if (parts.length > 0)
|
|
@@ -154,7 +181,7 @@ export async function appendModelResponseMessages(messages, result, turnText, to
|
|
|
154
181
|
try {
|
|
155
182
|
const responseMessages = await result.responseMessages;
|
|
156
183
|
if (Array.isArray(responseMessages) && responseMessages.length > 0) {
|
|
157
|
-
messages.push(...responseMessages);
|
|
184
|
+
messages.push(...normalizeToolCallHistory(responseMessages));
|
|
158
185
|
return;
|
|
159
186
|
}
|
|
160
187
|
}
|
|
@@ -169,7 +196,7 @@ export async function appendModelResponseMessages(messages, result, turnText, to
|
|
|
169
196
|
type: "tool-call",
|
|
170
197
|
toolCallId: tc.toolCallId,
|
|
171
198
|
toolName: tc.toolName,
|
|
172
|
-
input: tc.input,
|
|
199
|
+
input: objectInputOrEmpty(tc.input),
|
|
173
200
|
});
|
|
174
201
|
}
|
|
175
202
|
messages.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-mapping.js","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-mapping.js","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { convertMessages } from "./message-mapping.js";
|
|
2
|
+
import { appendModelResponseMessages, convertMessages } from "./message-mapping.js";
|
|
3
3
|
describe("convertMessages", () => {
|
|
4
4
|
it("drops empty text blocks before sending messages to a provider", () => {
|
|
5
5
|
const { aiMessages, extraSystemParts } = convertMessages([
|
|
@@ -28,5 +28,60 @@ describe("convertMessages", () => {
|
|
|
28
28
|
}],
|
|
29
29
|
}]);
|
|
30
30
|
});
|
|
31
|
+
it("normalizes fallback assistant tool-call input to an empty object", async () => {
|
|
32
|
+
const messages = [];
|
|
33
|
+
await appendModelResponseMessages(messages, { responseMessages: Promise.resolve([]) }, "", [{ toolCallId: "call_1", toolName: "tool_list" }]);
|
|
34
|
+
expect(messages).toEqual([{
|
|
35
|
+
role: "assistant",
|
|
36
|
+
content: [{
|
|
37
|
+
type: "tool-call",
|
|
38
|
+
toolCallId: "call_1",
|
|
39
|
+
toolName: "tool_list",
|
|
40
|
+
input: {},
|
|
41
|
+
}],
|
|
42
|
+
}]);
|
|
43
|
+
});
|
|
44
|
+
it("normalizes response assistant tool-call input before appending history", async () => {
|
|
45
|
+
const messages = [];
|
|
46
|
+
await appendModelResponseMessages(messages, {
|
|
47
|
+
responseMessages: Promise.resolve([{
|
|
48
|
+
role: "assistant",
|
|
49
|
+
content: [
|
|
50
|
+
{ type: "text", text: "I will inspect tools." },
|
|
51
|
+
{ type: "tool-call", toolCallId: "call_1", toolName: "tool_list" },
|
|
52
|
+
{ type: "tool-call", toolCallId: "call_2", toolName: "skill_list", input: null },
|
|
53
|
+
{ type: "tool-call", toolCallId: "call_3", toolName: "search", input: { query: "slack" } },
|
|
54
|
+
],
|
|
55
|
+
}]),
|
|
56
|
+
}, "", []);
|
|
57
|
+
expect(messages).toEqual([{
|
|
58
|
+
role: "assistant",
|
|
59
|
+
content: [
|
|
60
|
+
{ type: "text", text: "I will inspect tools." },
|
|
61
|
+
{ type: "tool-call", toolCallId: "call_1", toolName: "tool_list", input: {} },
|
|
62
|
+
{ type: "tool-call", toolCallId: "call_2", toolName: "skill_list", input: {} },
|
|
63
|
+
{ type: "tool-call", toolCallId: "call_3", toolName: "search", input: { query: "slack" } },
|
|
64
|
+
],
|
|
65
|
+
}]);
|
|
66
|
+
});
|
|
67
|
+
it("normalizes client assistant tool_calls arguments to objects", () => {
|
|
68
|
+
const { aiMessages } = convertMessages([{
|
|
69
|
+
role: "assistant",
|
|
70
|
+
content: "",
|
|
71
|
+
tool_calls: [
|
|
72
|
+
{ id: "call_1", type: "function", function: { name: "tool_list", arguments: "" } },
|
|
73
|
+
{ id: "call_2", type: "function", function: { name: "skill_list", arguments: "[]" } },
|
|
74
|
+
{ id: "call_3", type: "function", function: { name: "search", arguments: "{\"query\":\"slack\"}" } },
|
|
75
|
+
],
|
|
76
|
+
}]);
|
|
77
|
+
expect(aiMessages).toEqual([{
|
|
78
|
+
role: "assistant",
|
|
79
|
+
content: [
|
|
80
|
+
{ type: "tool-call", toolCallId: "call_1", toolName: "tool_list", input: {} },
|
|
81
|
+
{ type: "tool-call", toolCallId: "call_2", toolName: "skill_list", input: {} },
|
|
82
|
+
{ type: "tool-call", toolCallId: "call_3", toolName: "search", input: { query: "slack" } },
|
|
83
|
+
],
|
|
84
|
+
}]);
|
|
85
|
+
});
|
|
31
86
|
});
|
|
32
87
|
//# sourceMappingURL=message-mapping.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-mapping.test.js","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"message-mapping.test.js","sourceRoot":"","sources":["../../../src/routes/completions/message-mapping.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/server",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.33",
|
|
4
4
|
"description": "Polpo API route factories — edge-compatible Hono routes for tasks, agents, missions, vault, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"hono": ">=4.0.0",
|
|
21
21
|
"nanoid": ">=5.0.0",
|
|
22
22
|
"typescript": "^5.7.3",
|
|
23
|
-
"@polpo-ai/connect": "0.15.
|
|
24
|
-
"@polpo-ai/
|
|
25
|
-
"@polpo-ai/
|
|
26
|
-
"@polpo-ai/
|
|
27
|
-
"@polpo-ai/
|
|
23
|
+
"@polpo-ai/connect": "0.15.33",
|
|
24
|
+
"@polpo-ai/llm": "0.15.33",
|
|
25
|
+
"@polpo-ai/tools": "0.15.33",
|
|
26
|
+
"@polpo-ai/core": "0.15.33",
|
|
27
|
+
"@polpo-ai/connect-server": "0.15.33"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"ai": ">=6.0.0",
|