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

@@ -1,5 +1,6 @@
import { BusEvent } from "@/bus/bus-event"
import { Bus } from "@/bus"
import { SessionID } from "@/session/schema"
import z from "zod"
import { Log } from "../util/log"
import { Identifier } from "../id/id"
@@ -24,7 +25,7 @@ export namespace Permission {
id: z.string(),
type: z.string(),
pattern: z.union([z.string(), z.array(z.string())]).optional(),
sessionID: z.string(),
sessionID: SessionID.zod,
messageID: z.string(),
callID: z.string().optional(),
message: z.string(),
@@ -43,7 +44,7 @@ export namespace Permission {
Replied: BusEvent.define(
"permission.replied",
z.object({
sessionID: z.string(),
sessionID: SessionID.zod,
permissionID: z.string(),
response: z.string(),
}),

View File

@@ -2,6 +2,7 @@ import { Bus } from "@/bus"
import { BusEvent } from "@/bus/bus-event"
import { Config } from "@/config/config"
import { Identifier } from "@/id/id"
import { SessionID } from "@/session/schema"
import { Instance } from "@/project/instance"
import { Database, eq } from "@/storage/db"
import { PermissionTable } from "@/session/session.sql"
@@ -69,7 +70,7 @@ export namespace PermissionNext {
export const Request = z
.object({
id: Identifier.schema("permission"),
sessionID: Identifier.schema("session"),
sessionID: SessionID.zod,
permission: z.string(),
patterns: z.string().array(),
metadata: z.record(z.string(), z.any()),
@@ -100,7 +101,7 @@ export namespace PermissionNext {
Replied: BusEvent.define(
"permission.replied",
z.object({
sessionID: z.string(),
sessionID: SessionID.zod,
requestID: z.string(),
reply: Reply,
}),