mirror of
https://github.com/sst/opencode.git
synced 2025-12-23 10:11:41 +00:00
core: fix tool part state management to properly handle completion status and metadata
This commit is contained in:
parent
eea9346e97
commit
5dde596aa1
1 changed files with 11 additions and 4 deletions
|
|
@ -398,15 +398,22 @@ export namespace SessionPrompt {
|
|||
assistantMessage.finish = "tool-calls"
|
||||
assistantMessage.time.completed = Date.now()
|
||||
await Session.updateMessage(assistantMessage)
|
||||
if (result) {
|
||||
if (result && part.state.status === "running") {
|
||||
await Session.updatePart({
|
||||
...part,
|
||||
state: {
|
||||
...(part as any).state,
|
||||
status: "completed",
|
||||
...result,
|
||||
input: part.state.input,
|
||||
title: result.title,
|
||||
metadata: result.metadata,
|
||||
output: result.output,
|
||||
attachments: result.attachments,
|
||||
time: {
|
||||
...part.state.time,
|
||||
end: Date.now(),
|
||||
},
|
||||
},
|
||||
} as any)
|
||||
} satisfies MessageV2.ToolPart)
|
||||
}
|
||||
if (!result) {
|
||||
await Session.updatePart({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue