fix: seal workbench final response from terminal trace
This commit is contained in:
@@ -78,6 +78,15 @@ const markdownFinalText = [
|
||||
"|---|---|",
|
||||
"| local | pass |"
|
||||
].join("\n");
|
||||
const terminalAssistantFinalText = [
|
||||
"全部六份数据到手!下面是完整的六语言终极性能对比:",
|
||||
"",
|
||||
"| language | runtime | status |",
|
||||
"|---|---|---|",
|
||||
"| Lua | LuaJIT | pass |",
|
||||
"| Python | CPython | pass |",
|
||||
"| Rust | native | pass |"
|
||||
].join("\n");
|
||||
|
||||
let state = createScenarioState("baseline");
|
||||
const sseClients = new Set<ServerResponse>();
|
||||
@@ -383,6 +392,10 @@ function createScenarioState(scenarioId: string): ScenarioState {
|
||||
sessions.unshift(markdownFinalSession());
|
||||
traces.trc_markdown_final = markdownFinalTrace();
|
||||
}
|
||||
if (id === "terminal-assistant-event-final-response") {
|
||||
sessions.unshift(terminalAssistantFinalSession());
|
||||
traces.trc_terminal_assistant_final = terminalAssistantFinalTrace();
|
||||
}
|
||||
if (id === "progress-only-final-response") markRunningProgressOnly(sessions, traces);
|
||||
if (id === "terminal-completed-no-final-response") markRunningNoFinalResponse(sessions, traces);
|
||||
if (id === "tool-completed-projection-running") markToolCompletedProjectionRunning(sessions, traces);
|
||||
@@ -431,6 +444,8 @@ function createScenarioState(scenarioId: string): ScenarioState {
|
||||
? "ses_terminal_empty"
|
||||
: id === "markdown-final-response"
|
||||
? "ses_markdown_final"
|
||||
: id === "terminal-assistant-event-final-response"
|
||||
? "ses_terminal_assistant_final"
|
||||
: id === "progress-only-final-response" || id === "terminal-completed-no-final-response" || id === "tool-completed-projection-running"
|
||||
? "ses_running"
|
||||
: id === "projector-resume-from-checkpoint"
|
||||
@@ -972,6 +987,47 @@ function markdownFinalTrace(): JsonRecord {
|
||||
};
|
||||
}
|
||||
|
||||
function terminalAssistantFinalSession(): SessionRecord {
|
||||
const now = new Date().toISOString();
|
||||
const trace = terminalAssistantFinalTrace();
|
||||
return {
|
||||
sessionId: "ses_terminal_assistant_final",
|
||||
conversationId: "cnv_terminal_assistant_final",
|
||||
threadId: "thr_terminal_assistant_final",
|
||||
status: "completed",
|
||||
lastTraceId: "trc_terminal_assistant_final",
|
||||
startedAt: now,
|
||||
updatedAt: now,
|
||||
messageCount: 2,
|
||||
firstUserMessagePreview: "再把lua加入对比测试",
|
||||
messages: [
|
||||
{ id: "msg_terminal_assistant_user", messageId: "msg_terminal_assistant_user", role: "user", title: "用户", text: "再把lua加入对比测试", status: "sent", createdAt: now, sessionId: "ses_terminal_assistant_final", threadId: "thr_terminal_assistant_final", traceId: "trc_terminal_assistant_final", turnId: "trc_terminal_assistant_final" },
|
||||
{ id: "msg_terminal_assistant_agent", messageId: "msg_terminal_assistant_agent", role: "agent", title: "Code Agent", text: terminalAssistantFinalText, parts: [{ type: "text", text: terminalAssistantFinalText, status: "completed" }], status: "completed", createdAt: now, updatedAt: now, sessionId: "ses_terminal_assistant_final", threadId: "thr_terminal_assistant_final", traceId: "trc_terminal_assistant_final", turnId: "trc_terminal_assistant_final", runnerTrace: trace, finalResponse: { text: terminalAssistantFinalText, status: "completed" } }
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
function terminalAssistantFinalTrace(): JsonRecord {
|
||||
const createdAt = new Date().toISOString();
|
||||
const events = [
|
||||
{ seq: 1, sourceSeq: 21, createdAt, label: "agentrun:assistant:message", type: "assistant_message", status: "running", replyAuthority: false, final: false, terminal: false, message: "现在写 Lua 基准测试脚本。" },
|
||||
{ seq: 2, sourceSeq: 28, createdAt, label: "agentrun:assistant:message", type: "assistant_message", status: "completed", replyAuthority: true, final: true, terminal: true, message: terminalAssistantFinalText },
|
||||
{ seq: 3, sourceSeq: 29, createdAt, label: "agentrun:terminal:completed", type: "result", status: "completed", terminal: true, message: "AgentRun command completed." }
|
||||
];
|
||||
return {
|
||||
traceId: "trc_terminal_assistant_final",
|
||||
status: "completed",
|
||||
sessionId: "ses_terminal_assistant_final",
|
||||
threadId: "thr_terminal_assistant_final",
|
||||
events,
|
||||
eventCount: events.length,
|
||||
fullTraceLoaded: true,
|
||||
hasMore: false,
|
||||
assistantText: terminalAssistantFinalText,
|
||||
finalResponse: { text: terminalAssistantFinalText, status: "completed" }
|
||||
};
|
||||
}
|
||||
|
||||
function manyRailSession(index: number): SessionRecord {
|
||||
const id = String(index).padStart(2, "0");
|
||||
const now = new Date(Date.now() - (index + 1) * 1000).toISOString();
|
||||
|
||||
Reference in New Issue
Block a user