feat(session): brand SessionID through Drizzle and Zod schemas

Same pattern as ProjectID: add branded SessionID type with
SessionID.zod helper, type Drizzle columns with $type<SessionID>(),
and replace all z.string()/Identifier.schema("session") usages.
Brand flows through z.infer automatically, mapped at boundaries.
This commit is contained in:
Kit Langton
2026-03-10 22:04:13 -04:00
parent c3c8aa78b9
commit 901135543f
43 changed files with 217 additions and 153 deletions

View File

@@ -4,9 +4,10 @@ import fs from "fs/promises"
import { WriteTool } from "../../src/tool/write"
import { Instance } from "../../src/project/instance"
import { tmpdir } from "../fixture/fixture"
import { SessionID } from "../../src/session/schema"
const ctx = {
sessionID: "test-write-session",
sessionID: SessionID.make("ses_test-write-session"),
messageID: "",
callID: "",
agent: "build",