refactor: identify and freeze messages at creation

This commit is contained in:
_Kerman
2026-07-28 13:55:59 +08:00
parent c49c0ba497
commit fbf87e660c
345 changed files with 5220 additions and 2901 deletions
+6 -8
View File
@@ -20,14 +20,12 @@ export async function assemble(ctx: Context, options: Omit<GenerateOptions, 'pro
const request = { provider: 'deepseek', ...options }
for await (const chunk of ctx.llm.stream(request)) assembler.push(chunk)
return {
message: {
...assembler.message(),
provenance: {
provider: request.provider,
model: request.model,
...assembler.replayState === undefined ? {} : { replayState: assembler.replayState },
},
},
message: assembler.message({
kind: 'model',
provider: request.provider,
model: request.model,
...assembler.replayState === undefined ? {} : { replayState: assembler.replayState },
}),
...assembler.usage !== undefined ? { usage: assembler.usage } : {},
finish: assembler.finish,
}