feat(id): brand SessionID through Drizzle and Zod schemas (#16953)

This commit is contained in:
Kit Langton
2026-03-11 19:16:56 -04:00
committed by GitHub
parent 4e73473119
commit cb67465675
44 changed files with 226 additions and 158 deletions

View File

@@ -4,6 +4,7 @@ import { Session } from "."
import { MessageV2 } from "./message-v2"
import { Identifier } from "@/id/id"
import { SessionID } from "./schema"
import { Snapshot } from "@/snapshot"
import { Storage } from "@/storage/storage"
@@ -68,7 +69,7 @@ export namespace SessionSummary {
export const summarize = fn(
z.object({
sessionID: z.string(),
sessionID: SessionID.zod,
messageID: z.string(),
}),
async (input) => {
@@ -80,7 +81,7 @@ export namespace SessionSummary {
},
)
async function summarizeSession(input: { sessionID: string; messages: MessageV2.WithParts[] }) {
async function summarizeSession(input: { sessionID: SessionID; messages: MessageV2.WithParts[] }) {
const diffs = await computeDiff({ messages: input.messages })
await Session.setSummary({
sessionID: input.sessionID,
@@ -113,7 +114,7 @@ export namespace SessionSummary {
export const diff = fn(
z.object({
sessionID: Identifier.schema("session"),
sessionID: SessionID.zod,
messageID: Identifier.schema("message").optional(),
}),
async (input) => {