diff options
| author | Dax Raad <[email protected]> | 2025-06-29 19:43:03 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-29 19:43:03 -0400 |
| commit | 248325925fda66c116b7bc40d292f66f2a550c16 (patch) | |
| tree | 84daa6ed601add9f46ba6766ee6e1da18520e695 | |
| parent | ca48a4f0fb76700f18fac71eb426421c6be6237c (diff) | |
| download | opencode-248325925fda66c116b7bc40d292f66f2a550c16.tar.gz opencode-248325925fda66c116b7bc40d292f66f2a550c16.zip | |
fix issue with costs resetting once chat is completed
| -rw-r--r-- | packages/opencode/src/session/index.ts | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts index 7319f5ab1..e5dbffacc 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) |
