import { z } from 'zod'; export type FactoryRouteContract = { method: 'GET' | 'POST' | 'PATCH' | 'DELETE'; path: string; description: string; pathSchema?: z.ZodType; querySchema?: z.ZodType; bodySchema?: z.ZodType; responseSchema: z.ZodType; }; export declare const UUID_PATTERN = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"; export declare const createProjectBodySchema: z.ZodObject<{ name: z.ZodString; description: z.ZodDefault>, z.ZodNull]>>>; }, z.core.$strip>; export declare const updateProjectBodySchema: z.ZodObject<{ name: z.ZodOptional; description: z.ZodOptional>, z.ZodNull]>>; defaultModelId: z.ZodOptional>, z.ZodNull]>>; slackWorkItemsEnabled: z.ZodOptional; autoRunEnabled: z.ZodOptional; autoApprovePlans: z.ZodOptional; }, z.core.$strip>; export declare const createWorkItemBodySchema: z.ZodObject<{ title: z.ZodPipe>, z.ZodString>; board: z.ZodOptional; externalSource: z.ZodOptional; }, z.core.$strip>>>; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; }, z.core.$strip>; export declare const updateWorkItemBodySchema: z.ZodObject<{ title: z.ZodOptional>, z.ZodString>>; board: z.ZodOptional; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; plansPreapproved: z.ZodOptional>; }, z.core.$strip>; export declare const transitionBodySchema: z.ZodPipe; }, z.core.$strip>, z.ZodTransform<{ reenter?: boolean | undefined; board: string; stage: string; expectedRevision: number; ingress: { type: "human"; identity: string; }; cause: string; }, { board: string; stage: string; expectedRevision: number; requestId: string; cause: string; reenter?: unknown; }>>; export declare const startWorkItemBodySchema: z.ZodObject<{ sessionId: z.ZodString; threadTitle: z.ZodString; kickoffKey: z.ZodString; workItem: z.ZodObject<{ id: z.ZodString; role: z.ZodString; input: z.ZodObject<{ title: z.ZodPipe>, z.ZodString>; board: z.ZodOptional; externalSource: z.ZodOptional; }, z.core.$strip>>>; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; }, z.core.$strip>; }, z.core.$strip>; }, z.core.$strip>; export declare const automationRunStartBodySchema: z.ZodObject<{ requestId: z.ZodString; expectedRevision: z.ZodNumber; role: z.ZodEnum<{ [x: string]: string; }>; skillName: z.ZodString; arguments: z.ZodOptional; }, z.core.$strict>; export declare const metricsQuerySchema: z.ZodObject<{ from: z.ZodOptional; to: z.ZodOptional; }, z.core.$strip>; export declare const decisionQuerySchema: z.ZodObject<{ statuses: z.ZodPipe, z.ZodTransform<("dismissed" | "retry" | "pending" | "proposed" | "superseded" | "leased" | "succeeded" | "failed")[] | undefined, string | undefined>>; before: z.ZodPipe, z.ZodTransform<{ createdAt: Date; id: string; } | undefined, string | undefined>>; limit: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>; type AttentionStreamPosition = { occurredAt: Date; id: string; }; export declare const attentionQuerySchema: z.ZodObject<{ view: z.ZodDefault>>; kind: z.ZodOptional>>; before: z.ZodPipe, z.ZodTransform | undefined, string | undefined>>; limit: z.ZodPipe, z.ZodTransform>; search: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>; export declare const FACTORY_ROUTE_CONTRACTS: { readonly projectList: { readonly method: "GET"; readonly path: "/web/factory/projects"; readonly description: "List Factory projects for the current organization"; readonly responseSchema: z.ZodObject<{ projects: z.ZodArray>; }, z.core.$strip>; }; readonly projectCreate: { readonly method: "POST"; readonly path: "/web/factory/projects"; readonly description: "Create a Factory project"; readonly bodySchema: z.ZodObject<{ name: z.ZodString; description: z.ZodDefault>, z.ZodNull]>>>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ project: z.ZodRecord; }, z.core.$strip>; }; readonly projectGet: { readonly method: "GET"; readonly path: "/web/factory/projects/:id"; readonly description: "Get a Factory project"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ project: z.ZodRecord; }, z.core.$strip>; }; readonly projectUpdate: { readonly method: "PATCH"; readonly path: "/web/factory/projects/:id"; readonly description: "Update a Factory project"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodObject<{ name: z.ZodOptional; description: z.ZodOptional>, z.ZodNull]>>; defaultModelId: z.ZodOptional>, z.ZodNull]>>; slackWorkItemsEnabled: z.ZodOptional; autoRunEnabled: z.ZodOptional; autoApprovePlans: z.ZodOptional; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ project: z.ZodRecord; }, z.core.$strip>; }; readonly projectDelete: { readonly method: "DELETE"; readonly path: "/web/factory/projects/:id"; readonly description: "Delete a Factory project"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodNull; }; readonly metricsGet: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/metrics"; readonly description: "Get Factory project metrics"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly querySchema: z.ZodObject<{ from: z.ZodOptional; to: z.ZodOptional; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ metrics: z.ZodRecord; }, z.core.$strip>; }; readonly healthThresholdsGet: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/health/thresholds"; readonly description: "Get queue-health thresholds"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ thresholds: z.ZodArray; }, z.core.$strip>; }; readonly boardCatalog: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/boards"; readonly description: "List installed Factory boards"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ boards: z.ZodArray; role: z.ZodOptional; transitions: z.ZodArray; to: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; }; readonly workItemList: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/work-items"; readonly description: "List Factory work items and running sessions"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ workItems: z.ZodArray>; runningSessionIds: z.ZodArray; parkedSessionIds: z.ZodArray; }, z.core.$strip>; }; readonly workItemCreate: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/work-items"; readonly description: "Create a work item in Intake"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodObject<{ title: z.ZodPipe>, z.ZodString>; board: z.ZodOptional; externalSource: z.ZodOptional; }, z.core.$strip>>>; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ workItem: z.ZodRecord; }, z.core.$strip>; }; readonly workItemUpdate: { readonly method: "PATCH"; readonly path: "/web/factory/work-items/:id"; readonly description: "Update non-stage work-item fields"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodObject<{ title: z.ZodOptional>, z.ZodString>>; board: z.ZodOptional; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; plansPreapproved: z.ZodOptional>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ workItem: z.ZodRecord; }, z.core.$strip>; }; readonly workItemDelete: { readonly method: "DELETE"; readonly path: "/web/factory/work-items/:id"; readonly description: "Delete a Factory work item"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ ok: z.ZodLiteral; }, z.core.$strip>; }; readonly workItemTransition: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/work-items/:workItemId/transition"; readonly description: "Transition a work item with its expected revision"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; workItemId: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodPipe; }, z.core.$strip>, z.ZodTransform<{ reenter?: boolean | undefined; board: string; stage: string; expectedRevision: number; ingress: { type: "human"; identity: string; }; cause: string; }, { board: string; stage: string; expectedRevision: number; requestId: string; cause: string; reenter?: unknown; }>>; readonly responseSchema: z.ZodRecord; }; readonly workItemStart: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/runs/start"; readonly description: "Explicitly start a Factory work-item run"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodObject<{ sessionId: z.ZodString; threadTitle: z.ZodString; kickoffKey: z.ZodString; workItem: z.ZodObject<{ id: z.ZodString; role: z.ZodString; input: z.ZodObject<{ title: z.ZodPipe>, z.ZodString>; board: z.ZodOptional; externalSource: z.ZodOptional; }, z.core.$strip>>>; parentWorkItemId: z.ZodOptional>; stages: z.ZodOptional>; sessions: z.ZodOptional>>; metadata: z.ZodOptional, z.ZodNull]>, z.ZodTransform<{ [x: string]: unknown; } | null, Record | null>>>; }, z.core.$strip>; }, z.core.$strip>; }, z.core.$strip>; readonly responseSchema: z.ZodRecord; }; readonly workItemAutomationRun: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/work-items/:workItemId/automation-runs"; readonly description: "Enqueue an idempotent deferred skill dispatch for a trusted external orchestrator"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; workItemId: z.ZodString; }, z.core.$strip>; readonly bodySchema: z.ZodObject<{ requestId: z.ZodString; expectedRevision: z.ZodNumber; role: z.ZodEnum<{ [x: string]: string; }>; skillName: z.ZodString; arguments: z.ZodOptional; }, z.core.$strict>; readonly responseSchema: z.ZodRecord; }; readonly decisionList: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/decisions"; readonly description: "List Factory decisions"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly querySchema: z.ZodObject<{ statuses: z.ZodPipe, z.ZodTransform<("dismissed" | "retry" | "pending" | "proposed" | "superseded" | "leased" | "succeeded" | "failed")[] | undefined, string | undefined>>; before: z.ZodPipe, z.ZodTransform<{ createdAt: Date; id: string; } | undefined, string | undefined>>; limit: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ decisions: z.ZodArray>; nextCursor: z.ZodOptional; }, z.core.$strip>; }; readonly decisionApprove: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/decisions/:decisionId/approve"; readonly description: "Approve a proposed Factory decision"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; decisionId: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ decision: z.ZodRecord; }, z.core.$strip>; }; readonly decisionDismiss: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/decisions/:decisionId/dismiss"; readonly description: "Dismiss a proposed Factory decision"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; decisionId: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ decision: z.ZodRecord; }, z.core.$strip>; }; readonly decisionRetry: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/decisions/:decisionId/retry"; readonly description: "Retry a failed retryable Factory decision"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; decisionId: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ decision: z.ZodRecord; }, z.core.$strip>; }; readonly attentionList: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/attention"; readonly description: "List the Factory attention inbox"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly querySchema: z.ZodObject<{ view: z.ZodDefault>>; kind: z.ZodOptional>>; before: z.ZodPipe, z.ZodTransform | undefined, string | undefined>>; limit: z.ZodPipe, z.ZodTransform>; search: z.ZodPipe, z.ZodTransform>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ items: z.ZodArray>; kinds: z.ZodRecord, z.ZodObject<{ open: z.ZodNumber; unread: z.ZodNumber; latest: z.ZodNullable>; }, z.core.$strip>>; hasMore: z.ZodBoolean; nextCursor: z.ZodOptional; }, z.core.$strip>; }; readonly attentionReadAll: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/attention/read-all"; readonly description: "Mark all Factory attention as read"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly querySchema: z.ZodObject<{ before: z.ZodPipe, z.ZodTransform | undefined, string | undefined>>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ ok: z.ZodLiteral; hasMore: z.ZodBoolean; nextCursor: z.ZodOptional; }, z.core.$strip>; }; readonly attentionRead: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/attention/:kind/:sourceId/:occurrence/read"; readonly description: "Mark a Factory attention receipt as read"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ activity: "activity"; "automation-failed": "automation-failed"; "automation-proposed": "automation-proposed"; mention: "mention"; "supervisor-finding": "supervisor-finding"; "agent-waiting": "agent-waiting"; }>; sourceId: z.ZodString; occurrence: z.ZodPipe>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ receipt: z.ZodRecord; }, z.core.$strip>; }; readonly attentionArchive: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/attention/:kind/:sourceId/:occurrence/archive"; readonly description: "Archive a Factory attention receipt"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ activity: "activity"; "automation-failed": "automation-failed"; "automation-proposed": "automation-proposed"; mention: "mention"; "supervisor-finding": "supervisor-finding"; "agent-waiting": "agent-waiting"; }>; sourceId: z.ZodString; occurrence: z.ZodPipe>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ receipt: z.ZodRecord; }, z.core.$strip>; }; readonly attentionRestore: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/attention/:kind/:sourceId/:occurrence/restore"; readonly description: "Restore an archived Factory attention receipt"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ activity: "activity"; "automation-failed": "automation-failed"; "automation-proposed": "automation-proposed"; mention: "mention"; "supervisor-finding": "supervisor-finding"; "agent-waiting": "agent-waiting"; }>; sourceId: z.ZodString; occurrence: z.ZodPipe>; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ receipt: z.ZodRecord; }, z.core.$strip>; }; readonly supervisorSession: { readonly method: "POST"; readonly path: "/web/factory/projects/:id/supervisor/session"; readonly description: "Get the deterministic Factory supervisor session address"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ sessionId: z.ZodString; threadId: z.ZodString; factoryProjectId: z.ZodString; }, z.core.$strip>; }; readonly supervisorHealth: { readonly method: "GET"; readonly path: "/web/factory/projects/:id/supervisor/health"; readonly description: "Run the deterministic Factory supervisor health check"; readonly pathSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; readonly responseSchema: z.ZodObject<{ checkedAt: z.ZodString; findings: z.ZodArray>; counts: z.ZodRecord; }, z.core.$strip>; }; }; export type FactoryRouteContractKey = keyof typeof FACTORY_ROUTE_CONTRACTS; export {}; //# sourceMappingURL=contracts.d.ts.map