fix: make tool progress live-only (#38217)
This commit is contained in:
parent
4204b9d087
commit
5a9ed4d350
24 changed files with 337 additions and 89 deletions
|
|
@ -837,8 +837,9 @@ export function createSubagentTracker(input: SubagentTrackerInput): SubagentTrac
|
|||
? {
|
||||
status: "error",
|
||||
input: part && part.state.status !== "streaming" ? part.state.input : {},
|
||||
structured: part && part.state.status !== "streaming" ? part.state.structured : {},
|
||||
content: part && part.state.status !== "streaming" ? part.state.content : [],
|
||||
structured:
|
||||
event.data.metadata ?? (part && part.state.status !== "streaming" ? part.state.structured : {}),
|
||||
content: event.data.content ?? (part && part.state.status !== "streaming" ? part.state.content : []),
|
||||
error: event.data.error,
|
||||
result: event.data.result,
|
||||
}
|
||||
|
|
@ -957,15 +958,16 @@ export function createSubagentTracker(input: SubagentTrackerInput): SubagentTrac
|
|||
if (pendingCalls.has(key)) pendingCalls.set(key, event.data.input)
|
||||
return
|
||||
}
|
||||
if (event.type === "session.tool.failed") {
|
||||
pendingCalls.delete(sourceKey(event.data.assistantMessageID, event.data.callID))
|
||||
if (
|
||||
event.type !== "session.tool.progress" &&
|
||||
event.type !== "session.tool.success" &&
|
||||
event.type !== "session.tool.failed"
|
||||
)
|
||||
return
|
||||
}
|
||||
if (event.type !== "session.tool.progress" && event.type !== "session.tool.success") return
|
||||
const key = sourceKey(event.data.assistantMessageID, event.data.callID)
|
||||
const pending = pendingCalls.get(key)
|
||||
if (event.type === "session.tool.success") pendingCalls.delete(key)
|
||||
const found = childSessionID(record(event.data.structured))
|
||||
if (event.type !== "session.tool.progress") pendingCalls.delete(key)
|
||||
const found = childSessionID(record(event.type === "session.tool.failed" ? event.data.metadata : event.data.structured))
|
||||
if (!found) return
|
||||
const child = admitChild(found.sessionID)
|
||||
if (!child) return
|
||||
|
|
|
|||
|
|
@ -1084,8 +1084,9 @@ export async function createSessionTransport(input: StreamInput): Promise<Sessio
|
|||
? {
|
||||
status: "error",
|
||||
input: part && part.state.status !== "streaming" ? part.state.input : {},
|
||||
structured: part && part.state.status !== "streaming" ? part.state.structured : {},
|
||||
content: part && part.state.status !== "streaming" ? part.state.content : [],
|
||||
structured:
|
||||
event.data.metadata ?? (part && part.state.status !== "streaming" ? part.state.structured : {}),
|
||||
content: event.data.content ?? (part && part.state.status !== "streaming" ? part.state.content : []),
|
||||
error: event.data.error,
|
||||
result: event.data.result,
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue