Preserve message row union types
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -10,7 +10,7 @@ import type { WorkspaceID } from "../control-plane/schema"
|
||||
import { Timestamps } from "../storage/schema.sql"
|
||||
|
||||
type PartData = Omit<MessageV2.Part, "id" | "sessionID" | "messageID">
|
||||
type InfoData = Omit<MessageV2.Info, "id" | "sessionID">
|
||||
type InfoData<T extends MessageV2.Info = MessageV2.Info> = T extends unknown ? Omit<T, "id" | "sessionID"> : never
|
||||
type SessionMessageData = Omit<(typeof SessionMessage.Message)["Encoded"], "type" | "id">
|
||||
|
||||
export const SessionTable = sqliteTable(
|
||||
|
||||
Reference in New Issue
Block a user