/** * The engine's internal shapes: the collections it owns, the schemas it reads * its own rows back through, and the row types those parse into. * * The PUBLIC surface (07 §1) stays in index.ts — nothing here is exported from * the package root. */ import { type AutomationRecord, type Json, type RunId } from "@vendoai/core"; import { z } from "zod"; import type { RunRecord } from "./index.js"; /** The reserved table an automation record lives in — one row per record, * keyed by its id and ref'd by its owner's subject and its trigger kind. */ export declare const AUTOMATIONS = "vendo_automations"; export declare const RUNS = "vendo_runs"; /** runs.list page size — the store's own default (100) is its escape hatch, not a UX. */ export declare const RUNS_PAGE_LIMIT = 50; export declare const GRANTS = "vendo_grants"; export declare const APPROVALS = "vendo_approvals"; export declare const CAPTURES = "automations:captures"; export declare const SCHEDULE = "automations:schedule"; export declare const DELIVERIES = "automations:deliveries"; export declare const WEBHOOK_MAX_BYTES: number; export declare const FOREACH_MAX_ITEMS = 1000; export declare const automationRowSchema: z.ZodObject<{ id: z.ZodString; owner: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; when: z.ZodEffects; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>]>, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; task: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">>]>; agent: z.ZodOptional; armed: z.ZodBoolean; authoredBy: z.ZodEnum<["chat", "code", "manifest"]>; timezone: z.ZodOptional; grantSetId: z.ZodOptional; webhookSecret: z.ZodOptional; disarmedBy: z.ZodOptional>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; owner: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; when: z.ZodEffects; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>]>, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; task: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">>]>; agent: z.ZodOptional; armed: z.ZodBoolean; authoredBy: z.ZodEnum<["chat", "code", "manifest"]>; timezone: z.ZodOptional; grantSetId: z.ZodOptional; webhookSecret: z.ZodOptional; disarmedBy: z.ZodOptional>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; owner: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; when: z.ZodEffects; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>]>, z.objectOutputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"schedule">; cron: z.ZodOptional; every: z.ZodOptional; at: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"host-event">; event: z.ZodString; }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{ kind: z.ZodLiteral<"external">; connector: z.ZodString; event: z.ZodOptional; config: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; task: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"goal">; prompt: z.ZodString; budget: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ maxToolCalls: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodLiteral<"steps">; steps: z.ZodArray>; if: z.ZodOptional; forEach: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodOptional>; if: z.ZodOptional; forEach: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">>]>; agent: z.ZodOptional; armed: z.ZodBoolean; authoredBy: z.ZodEnum<["chat", "code", "manifest"]>; timezone: z.ZodOptional; grantSetId: z.ZodOptional; webhookSecret: z.ZodOptional; disarmedBy: z.ZodOptional>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>; export type { AutomationRecord }; /** The guard's approval row as this engine reads it. `passthrough`, because the * guard owns this shape and keeps adding to it (`deniedBy`, `voidedAt`): a * stripping parse would silently drop those on the write-back below, erasing * who said no and whether it was taken back. */ export declare const approvalRowSchema: z.ZodObject<{ request: z.ZodObject<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>; status: z.ZodEnum<["pending", "approved", "denied"]>; sessionId: z.ZodOptional; decidedAt: z.ZodOptional; consumedAt: z.ZodOptional; voidedAt: z.ZodOptional; /** WHO said no. The guard stamps it on every deny (`#decideApprovals`), and the * distinction is load-bearing here rather than cosmetic: `"system"` is an * expiry sweep or an abandoned ask, never a person's answer. Read by the * decision subscriber, which must not disarm an automation nobody said no to. * Optional because the decision callback carries only (id, approved) — the * provenance lives on the row and nowhere else. */ deniedBy: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ request: z.ZodObject<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>; status: z.ZodEnum<["pending", "approved", "denied"]>; sessionId: z.ZodOptional; decidedAt: z.ZodOptional; consumedAt: z.ZodOptional; voidedAt: z.ZodOptional; /** WHO said no. The guard stamps it on every deny (`#decideApprovals`), and the * distinction is load-bearing here rather than cosmetic: `"system"` is an * expiry sweep or an abandoned ask, never a person's answer. Read by the * decision subscriber, which must not disarm an automation nobody said no to. * Optional because the decision callback carries only (id, approved) — the * provenance lives on the row and nowhere else. */ deniedBy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ request: z.ZodObject<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; call: z.ZodObject<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; tool: z.ZodString; args: z.ZodType<{}, z.ZodTypeDef, {}>; }, z.ZodTypeAny, "passthrough">>; descriptor: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodOptional>; risk: z.ZodEnum<["read", "write", "destructive", "ungraded"]>; confirmEach: z.ZodOptional; title: z.ZodOptional; toolkit: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; inputPreview: z.ZodString; powers: z.ZodOptional>; invalidatedGrant: z.ZodOptional, z.objectInputType<{ id: z.ZodString; grantedAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>>; ctx: z.ZodObject<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ principal: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; display: z.ZodOptional; ephemeral: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; venue: z.ZodEnum<["chat", "app", "automation", "mcp"]>; presence: z.ZodEnum<["present", "away"]>; sessionId: z.ZodOptional; turnId: z.ZodOptional; agent: z.ZodOptional; appId: z.ZodOptional; trigger: z.ZodOptional; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ runId: z.ZodString; kind: z.ZodEnum<["schedule", "host-event", "external"]>; automationId: z.ZodOptional; lineageId: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>; createdAt: z.ZodString; }, z.ZodTypeAny, "passthrough">>; status: z.ZodEnum<["pending", "approved", "denied"]>; sessionId: z.ZodOptional; decidedAt: z.ZodOptional; consumedAt: z.ZodOptional; voidedAt: z.ZodOptional; /** WHO said no. The guard stamps it on every deny (`#decideApprovals`), and the * distinction is load-bearing here rather than cosmetic: `"system"` is an * expiry sweep or an abandoned ask, never a person's answer. Read by the * decision subscriber, which must not disarm an automation nobody said no to. * Optional because the decision callback carries only (id, approved) — the * provenance lives on the row and nowhere else. */ deniedBy: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>; export declare const captureSchema: z.ZodObject<{ /** WHICH automation this ask is for. A person consents per record, so a * capture minted while arming one never settles another's ask for the same * tool. */ automationId: z.ZodString; subject: z.ZodString; tool: z.ZodString; /** The service action this ask is for, when the tool is the connector * dispatcher — the thing consented to, since its tool name is not its * action. Absent for every host tool. */ slug: z.ZodOptional; descriptorHash: z.ZodString; /** The grant SET this pending ask belongs to (07 §3 grant capture; one * enable() = one set). */ grantSetId: z.ZodOptional; }, "strip", z.ZodTypeAny, { subject: string; tool: string; automationId: string; descriptorHash: string; grantSetId?: string | undefined; slug?: string | undefined; }, { subject: string; tool: string; automationId: string; descriptorHash: string; grantSetId?: string | undefined; slug?: string | undefined; }>; export type Capture = z.infer; export declare const scheduleSchema: z.ZodObject<{ lastFiredAt: z.ZodString; firedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { lastFiredAt: string; firedAt?: string | undefined; }, { lastFiredAt: string; firedAt?: string | undefined; }>; /** One automation a tick claimed the cursor for, and the schedule event it fires * with. */ export interface FiredSchedule { record: AutomationRecord; scheduledFor: string; firedAt: string; } export interface InternalRunRecord extends RunRecord { /** The event that fired this run, kept so `runs.rerun` can fire the SAME * automation on the SAME event. Internal: it is the host's own payload, and * the public run record (07 §5) does not carry it. */ __event?: Json; /** The FIRING this run belongs to: the id of its first run. A re-run inherits * it, so a chain of re-runs shares ONE root rather than each pointing at its * predecessor. Absent on a run that is nobody's re-run, which then IS its own * root — persisted rather than derived, because the guard's effect ledger has * to find the failed run's receipts in a different process. */ __lineage?: RunId; /** The record that actually fired, kept so `runs.rerun` fires THAT one rather * than whatever is stored by then. A steps call id is positional (see * `runSteps`), which is only stable across a re-run if the step list is — so * an author inserting a step ahead of one that already completed would * renumber it, its receipt would never be found, and work that had already * landed would happen twice. */ __record?: AutomationRecord; } export declare const runRowDataSchema: z.ZodObject<{ automationId: z.ZodString; trigger: z.ZodObject<{ kind: z.ZodEnum<["schedule", "host-event", "external"]>; event: z.ZodOptional; }, "strip", z.ZodTypeAny, { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }, { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }>; status: z.ZodEnum<["running", "ok", "error", "stopped"]>; record: z.ZodObject<{ id: z.ZodString; automationId: z.ZodString; owner: z.ZodObject<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ kind: z.ZodEnum<["user", "org"]>; subject: z.ZodString; }, z.ZodTypeAny, "passthrough">>; agent: z.ZodOptional; trigger: z.ZodObject<{ kind: z.ZodEnum<["schedule", "host-event", "external"]>; event: z.ZodOptional; }, "strip", z.ZodTypeAny, { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }, { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }>; status: z.ZodEnum<["running", "ok", "error", "stopped"]>; startedAt: z.ZodString; finishedAt: z.ZodOptional; steps: z.ZodArray; at: z.ZodString; detail: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }, { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }>, "many">; summary: z.ZodOptional; error: z.ZodOptional; slug: z.ZodOptional; }, "strip", z.ZodTypeAny, { code: string; message: string; tool?: string | undefined; slug?: string | undefined; }, { code: string; message: string; tool?: string | undefined; slug?: string | undefined; }>>; } & { __event: z.ZodOptional; __lineage: z.ZodOptional; __record: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; owner: { kind: "user" | "org"; subject: string; } & { [k: string]: unknown; }; status: "running" | "ok" | "error" | "stopped"; steps: { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }[]; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; agent?: string | undefined; error?: { code: string; message: string; tool?: string | undefined; slug?: string | undefined; } | undefined; finishedAt?: string | undefined; summary?: string | undefined; __event?: unknown; __lineage?: string | undefined; __record?: unknown; }, { id: string; owner: { kind: "user" | "org"; subject: string; } & { [k: string]: unknown; }; status: "running" | "ok" | "error" | "stopped"; steps: { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }[]; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; agent?: string | undefined; error?: { code: string; message: string; tool?: string | undefined; slug?: string | undefined; } | undefined; finishedAt?: string | undefined; summary?: string | undefined; __event?: unknown; __lineage?: string | undefined; __record?: unknown; }>; startedAt: z.ZodString; finishedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { status: "running" | "ok" | "error" | "stopped"; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; record: { id: string; owner: { kind: "user" | "org"; subject: string; } & { [k: string]: unknown; }; status: "running" | "ok" | "error" | "stopped"; steps: { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }[]; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; agent?: string | undefined; error?: { code: string; message: string; tool?: string | undefined; slug?: string | undefined; } | undefined; finishedAt?: string | undefined; summary?: string | undefined; __event?: unknown; __lineage?: string | undefined; __record?: unknown; }; finishedAt?: string | undefined; }, { status: "running" | "ok" | "error" | "stopped"; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; record: { id: string; owner: { kind: "user" | "org"; subject: string; } & { [k: string]: unknown; }; status: "running" | "ok" | "error" | "stopped"; steps: { id: string; at: string; tool: string; outcome: "ok" | "error" | "pending-approval" | "blocked" | "connect-required"; detail?: string | undefined; }[]; trigger: { kind: "schedule" | "host-event" | "external"; event?: string | undefined; }; automationId: string; startedAt: string; agent?: string | undefined; error?: { code: string; message: string; tool?: string | undefined; slug?: string | undefined; } | undefined; finishedAt?: string | undefined; summary?: string | undefined; __event?: unknown; __lineage?: string | undefined; __record?: unknown; }; finishedAt?: string | undefined; }>; /** One thing a person is asked to allow for an automation. A host tool is named * by its tool; the connector dispatcher is named by the SERVICE ACTION it will * call, because its tool name is not its action (01-core §5 `service-tool`). */ export interface ConsentItem { tool: string; slug?: string; } //# sourceMappingURL=types.d.ts.map