diff --git a/packages/opencode/src/data-migration.ts b/packages/opencode/src/data-migration.ts index 391dfbcb73..5f5ae20ceb 100644 --- a/packages/opencode/src/data-migration.ts +++ b/packages/opencode/src/data-migration.ts @@ -56,15 +56,6 @@ export const layer = Layer.effect( .where(inArray(MessageTable.session_id, sessions.map((session) => session.id))) .all()) { if (row.data.role !== "assistant") continue - if (!("cost" in row.data) || typeof row.data.cost !== "number") continue - if (!("tokens" in row.data) || typeof row.data.tokens !== "object" || row.data.tokens === null) continue - if (!("input" in row.data.tokens) || typeof row.data.tokens.input !== "number") continue - if (!("output" in row.data.tokens) || typeof row.data.tokens.output !== "number") continue - if (!("reasoning" in row.data.tokens) || typeof row.data.tokens.reasoning !== "number") continue - if (!("cache" in row.data.tokens) || typeof row.data.tokens.cache !== "object" || row.data.tokens.cache === null) - continue - if (!("read" in row.data.tokens.cache) || typeof row.data.tokens.cache.read !== "number") continue - if (!("write" in row.data.tokens.cache) || typeof row.data.tokens.cache.write !== "number") continue const current = usageBySession.get(row.session_id) if (!current) continue diff --git a/packages/opencode/src/session/session.sql.ts b/packages/opencode/src/session/session.sql.ts index a40bc6a37e..18d041f458 100644 --- a/packages/opencode/src/session/session.sql.ts +++ b/packages/opencode/src/session/session.sql.ts @@ -10,7 +10,7 @@ import type { WorkspaceID } from "../control-plane/schema" import { Timestamps } from "../storage/schema.sql" type PartData = Omit -type InfoData = Omit +type InfoData = T extends unknown ? Omit : never type SessionMessageData = Omit<(typeof SessionMessage.Message)["Encoded"], "type" | "id"> export const SessionTable = sqliteTable(