@codehz/ai 0.1.6 → 0.1.7
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/index.mjs +77 -69
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/adapters/messages.ts +11 -1
package/package.json
CHANGED
package/src/adapters/messages.ts
CHANGED
|
@@ -273,6 +273,7 @@ export class MessagesAdapter extends AdapterBase {
|
|
|
273
273
|
protected buildRequest(request: NormalizedRequest): MessagesAPIRequest {
|
|
274
274
|
const messages: MessagesAPIMessage[] = [];
|
|
275
275
|
let systemPrompt: string | undefined;
|
|
276
|
+
let pendingToolResultMessage: MessagesAPIMessage | undefined;
|
|
276
277
|
|
|
277
278
|
// 处理 instructions → system prompt
|
|
278
279
|
if (request.instructions) {
|
|
@@ -281,6 +282,10 @@ export class MessagesAdapter extends AdapterBase {
|
|
|
281
282
|
|
|
282
283
|
// 处理 input items
|
|
283
284
|
for (const item of request.input) {
|
|
285
|
+
if (item.type !== "tool_result") {
|
|
286
|
+
pendingToolResultMessage = undefined;
|
|
287
|
+
}
|
|
288
|
+
|
|
284
289
|
switch (item.type) {
|
|
285
290
|
case "message": {
|
|
286
291
|
const role = item.role === "user" ? "user" : "assistant";
|
|
@@ -320,7 +325,12 @@ export class MessagesAdapter extends AdapterBase {
|
|
|
320
325
|
content,
|
|
321
326
|
is_error: item.outcome === "error",
|
|
322
327
|
};
|
|
323
|
-
|
|
328
|
+
if (pendingToolResultMessage && typeof pendingToolResultMessage.content !== "string") {
|
|
329
|
+
pendingToolResultMessage.content.push(block);
|
|
330
|
+
} else {
|
|
331
|
+
pendingToolResultMessage = { role: "user", content: [block] };
|
|
332
|
+
messages.push(pendingToolResultMessage);
|
|
333
|
+
}
|
|
324
334
|
break;
|
|
325
335
|
}
|
|
326
336
|
case "reasoning": {
|