diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 7319f5ab..e5dbffac 100644 --- a/packages/opencode/src/session/index.ts +++ b/packages/opencode/src/session/index.ts @@ -502,15 +502,6 @@ export namespace Session { } text = undefined }, - async onFinish(input) { - log.info("message finish", { - reason: input.finishReason, - }) - const assistant = next.metadata!.assistant! - const usage = getUsage(model.info, input.usage, input.providerMetadata) - assistant.cost = usage.cost - await updateMessage(next) - }, onError(err) { log.error("callback error", err) switch (true) { @@ -681,7 +672,7 @@ export namespace Session { value.usage, value.providerMetadata, ) - assistant.cost = usage.cost + assistant.cost += usage.cost await updateMessage(next) if (value.finishReason === "length") throw new Message.OutputLengthError({}) @@ -830,7 +821,7 @@ export namespace Session { async onFinish(input) { const assistant = next.metadata!.assistant! const usage = getUsage(model.info, input.usage, input.providerMetadata) - assistant.cost = usage.cost + assistant.cost += usage.cost assistant.tokens = usage.tokens next.metadata!.time.completed = Date.now() await updateMessage(next)