summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-17 20:51:25 -0400
committerDax Raad <[email protected]>2025-06-17 20:51:39 -0400
commitb470466e305c9d577e798a202fe696362dceacf7 (patch)
tree3d3e355be7103ea3d37b2eb5162b903a043c2c2b
parentd1f9311931b48f36bd538b5bc74decd8967bf0a2 (diff)
downloadopencode-b470466e305c9d577e798a202fe696362dceacf7.tar.gz
opencode-b470466e305c9d577e798a202fe696362dceacf7.zip
integrate cache read/write data
-rw-r--r--packages/opencode/src/provider/models.ts4
-rw-r--r--packages/opencode/src/session/index.ts10
2 files changed, 12 insertions, 2 deletions
diff --git a/packages/opencode/src/provider/models.ts b/packages/opencode/src/provider/models.ts
index a753d7ec1..e043ab9f9 100644
--- a/packages/opencode/src/provider/models.ts
+++ b/packages/opencode/src/provider/models.ts
@@ -17,8 +17,8 @@ export namespace ModelsDev {
cost: z.object({
input: z.number(),
output: z.number(),
- inputCached: z.number(),
- outputCached: z.number(),
+ cache_read: z.number().optional(),
+ cache_write: z.number().optional(),
}),
limit: z.object({
context: z.number(),
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index fe21b26cd..7d310b853 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -759,6 +759,16 @@ export namespace Session {
cost: new Decimal(0)
.add(new Decimal(tokens.input).mul(model.cost.input).div(1_000_000))
.add(new Decimal(tokens.output).mul(model.cost.output).div(1_000_000))
+ .add(
+ new Decimal(tokens.cache.read)
+ .mul(model.cost.cache_read ?? 0)
+ .div(1_000_000),
+ )
+ .add(
+ new Decimal(tokens.cache.write)
+ .mul(model.cost.cache_write ?? 0)
+ .div(1_000_000),
+ )
.toNumber(),
tokens,
}