mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-22 03:16:35 +00:00
core: remove retry tracking from session messages to prevent noisy retry details from appearing in the conversation history
This commit is contained in:
parent
0a6bc6067e
commit
865d7aba09
2 changed files with 1 additions and 38 deletions
|
|
@ -253,15 +253,7 @@ export function update<Result>(adapter: Adapter<Result>, event: SessionEvent.Eve
|
|||
)
|
||||
}
|
||||
},
|
||||
"session.next.retried": (event) => {
|
||||
if (currentAssistant) {
|
||||
adapter.updateAssistant(
|
||||
produce(currentAssistant, (draft) => {
|
||||
draft.retries = [...(draft.retries ?? []), SessionMessage.AssistantRetry.fromEvent(event)]
|
||||
}),
|
||||
)
|
||||
}
|
||||
},
|
||||
"session.next.retried": () => {},
|
||||
"session.next.compacted": (event) => {
|
||||
adapter.appendMessage(SessionMessage.Compaction.fromEvent(event))
|
||||
},
|
||||
|
|
|
|||
|
|
@ -115,43 +115,15 @@ export class AssistantReasoning extends Schema.Class<AssistantReasoning>("Sessio
|
|||
text: Schema.String,
|
||||
}) {}
|
||||
|
||||
export class AssistantRetry extends Schema.Class<AssistantRetry>("Session.Message.Assistant.Retry")({
|
||||
attempt: Schema.Number,
|
||||
error: SessionEvent.RetryError,
|
||||
time: Schema.Struct({
|
||||
created: Schema.DateTimeUtc,
|
||||
}),
|
||||
}) {
|
||||
static fromEvent(event: SessionEvent.Retried) {
|
||||
return new AssistantRetry({
|
||||
attempt: event.data.attempt,
|
||||
error: event.data.error,
|
||||
time: {
|
||||
created: event.data.timestamp,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const AssistantContent = Schema.Union([AssistantText, AssistantReasoning, AssistantTool]).pipe(
|
||||
Schema.toTaggedUnion("type"),
|
||||
)
|
||||
export type AssistantContent = Schema.Schema.Type<typeof AssistantContent>
|
||||
|
||||
// GET /v2/session/{sessionID}/message?limit=10
|
||||
// user
|
||||
// synthetic
|
||||
// synthetic
|
||||
// assistant HTTP req/retried 5 times/response
|
||||
// compaction
|
||||
// assistant
|
||||
// user
|
||||
|
||||
export class Assistant extends Schema.Class<Assistant>("Session.Message.Assistant")({
|
||||
...Base,
|
||||
type: Schema.Literal("assistant"),
|
||||
content: AssistantContent.pipe(Schema.Array),
|
||||
retries: AssistantRetry.pipe(Schema.Array, Schema.optional),
|
||||
snapshot: Schema.Struct({
|
||||
start: Schema.String.pipe(Schema.optional),
|
||||
end: Schema.String.pipe(Schema.optional),
|
||||
|
|
@ -180,7 +152,6 @@ export class Assistant extends Schema.Class<Assistant>("Session.Message.Assistan
|
|||
created: event.data.timestamp,
|
||||
},
|
||||
content: [],
|
||||
retries: [],
|
||||
snapshot: event.data.snapshot ? { start: event.data.snapshot } : undefined,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue