fix: 保留 completed agentMessage 事件 (#56)
Co-authored-by: Codex <codex@pikas.tech>
This commit is contained in:
@@ -65,8 +65,13 @@ const selfTest: SelfTestCase = async (context) => {
|
||||
assert.equal(finalMessageEnvelope.reply, "Final answer only.", "result reply should use the final completed agentMessage instead of concatenating progress deltas");
|
||||
const finalMessageEvents = await client.get(`/api/v1/runs/${finalMessage.runId}/events?afterSeq=0&limit=100`) as { items?: Array<{ type: string; payload: unknown }> };
|
||||
const assistantEvents = finalMessageEvents.items?.filter((event) => event.type === "assistant_message") ?? [];
|
||||
assert.equal(assistantEvents.length, 1, "backend should emit one final assistant_message event");
|
||||
assert.equal(eventPayload(assistantEvents[0] ?? { payload: {} }).text, "Final answer only.");
|
||||
assert.equal(assistantEvents.length, 2, "backend should preserve each completed agentMessage as assistant_message event");
|
||||
assert.equal(eventPayload(assistantEvents[0] ?? { payload: {} }).text, "I am checking the workspace.");
|
||||
assert.equal(eventPayload(assistantEvents[0] ?? { payload: {} }).itemId, "msg_progress");
|
||||
assert.equal(eventPayload(assistantEvents[0] ?? { payload: {} }).replyAuthority, false);
|
||||
assert.equal(eventPayload(assistantEvents[1] ?? { payload: {} }).text, "Final answer only.");
|
||||
assert.equal(eventPayload(assistantEvents[1] ?? { payload: {} }).itemId, "msg_final");
|
||||
assert.equal(eventPayload(assistantEvents[1] ?? { payload: {} }).replyAuthority, true);
|
||||
|
||||
const staleResume = await createStaleThreadRun(client, context);
|
||||
const staleResumeResult = await runOnce({
|
||||
|
||||
Reference in New Issue
Block a user