/** * 工作台路由契约(编码规范 §8.1 / §9.1)。 * 工作台五要素:任务 / 审批 / 消息 / 纪要 / 汇报 —— 同一份过程事实的五种投影。 */ import { z } from 'zod'; export declare const sessionRoute: { readonly method: "GET"; readonly path: "/api/session"; readonly output: z.ZodObject<{ staff: z.ZodObject<{ id: z.core.$ZodBranded; account: z.ZodString; name: z.ZodString; positionId: z.core.$ZodBranded; state: z.ZodDefault>; }, z.core.$strip>; position: z.ZodObject<{ id: z.core.$ZodBranded; code: z.ZodString; name: z.ZodString; note: z.ZodOptional; }, z.core.$strip>; grants: z.ZodArray; object: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"data">; domain: z.ZodString; object: z.ZodString; field: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"governance">; function: z.ZodEnum<{ data: "data"; task: "task"; trigger: "trigger"; system: "system"; tool: "tool"; activity: "activity"; staff: "staff"; process: "process"; memory: "memory"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"task">; activityId: z.ZodOptional; }, z.core.$strip>], "kind">; action: z.ZodEnum<{ read: "read"; write: "write"; govern: "govern"; }>; }, z.core.$strip>>; }, z.core.$strip>; }; export declare const healthRoute: { readonly method: "GET"; readonly path: "/api/health"; readonly output: z.ZodObject<{ ok: z.ZodBoolean; version: z.ZodString; db: z.ZodEnum<{ up: "up"; down: "down"; }>; }, z.core.$strip>; }; /** 任务卡 —— 清单里一条 = 一个活动的一次运行,不是一整条工作流 */ export declare const taskCardSchema: z.ZodObject<{ id: z.core.$ZodBranded; activity: z.ZodString; title: z.ZodString; runtime: z.ZodEnum<{ running: "running"; "awaiting-human": "awaiting-human"; "awaiting-event": "awaiting-event"; suspended: "suspended"; "landing-blocked": "landing-blocked"; terminal: "terminal"; }>; terminal: z.ZodOptional>; position: z.ZodNumber; total: z.ZodNumber; workflowSubject: z.ZodString; workflowState: z.ZodEnum<{ terminated: "terminated"; running: "running"; waiting: "waiting"; completed: "completed"; abnormal: "abnormal"; }>; startedAt: z.ZodString; }, z.core.$strip>; export type TaskCard = z.infer; export declare const listTasksRoute: { readonly method: "GET"; readonly path: "/api/desk/tasks"; readonly output: z.ZodObject<{ tasks: z.ZodArray; activity: z.ZodString; title: z.ZodString; runtime: z.ZodEnum<{ running: "running"; "awaiting-human": "awaiting-human"; "awaiting-event": "awaiting-event"; suspended: "suspended"; "landing-blocked": "landing-blocked"; terminal: "terminal"; }>; terminal: z.ZodOptional>; position: z.ZodNumber; total: z.ZodNumber; workflowSubject: z.ZodString; workflowState: z.ZodEnum<{ terminated: "terminated"; running: "running"; waiting: "waiting"; completed: "completed"; abnormal: "abnormal"; }>; startedAt: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; }; /** 任务详情 —— 工作区与对话区的服务端投影(前端零过程状态,刷新即重建) */ export declare const taskDetailSchema: z.ZodObject<{ card: z.ZodObject<{ id: z.core.$ZodBranded; activity: z.ZodString; title: z.ZodString; runtime: z.ZodEnum<{ running: "running"; "awaiting-human": "awaiting-human"; "awaiting-event": "awaiting-event"; suspended: "suspended"; "landing-blocked": "landing-blocked"; terminal: "terminal"; }>; terminal: z.ZodOptional>; position: z.ZodNumber; total: z.ZodNumber; workflowSubject: z.ZodString; workflowState: z.ZodEnum<{ terminated: "terminated"; running: "running"; waiting: "waiting"; completed: "completed"; abnormal: "abnormal"; }>; startedAt: z.ZodString; }, z.core.$strip>; goal: z.ZodString; budget: z.ZodObject<{ steps: z.ZodString; tokens: z.ZodString; activeMinutes: z.ZodString; humanCalls: z.ZodString; }, z.core.$strip>; stages: z.ZodArray; label: z.ZodString; round: z.ZodOptional; }, z.core.$strip>>; deliverables: z.ZodArray; stage: z.core.$ZodBranded; round: z.ZodOptional; title: z.ZodString; desc: z.ZodOptional; blocks: z.ZodArray; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>; state: z.ZodEnum<{ released: "released"; draft: "draft"; "pending-acceptance": "pending-acceptance"; rejected: "rejected"; }>; at: z.ZodOptional; }, z.core.$strip>>; workOrders: z.ZodArray; preset: z.ZodOptional>; ask: z.ZodString; standard: z.ZodOptional; steps: z.ZodOptional>; basedOn: z.ZodOptional>; blocks: z.ZodOptional; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>>; fields: z.ZodArray; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>; submitLabel: z.ZodOptional; id: z.core.$ZodBranded; at: z.ZodISODateTime; title: z.ZodString; basis: z.ZodArray>; stage: z.ZodOptional>; done: z.ZodOptional; result: z.ZodString; values: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ mode: z.ZodLiteral<"acceptance">; deliverable: z.core.$ZodBranded; criteria: z.ZodArray; pass: z.ZodBoolean; }, z.core.$strip>>; actions: z.ZodOptional; detail: z.ZodString; }, z.core.$strip>>>; fields: z.ZodDefault; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>>; passLabel: z.ZodOptional; id: z.core.$ZodBranded; at: z.ZodISODateTime; title: z.ZodString; basis: z.ZodArray>; stage: z.ZodOptional>; done: z.ZodOptional; result: z.ZodString; values: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>], "mode">>; chat: z.ZodArray; text: z.ZodString; tag: z.ZodOptional>; ref: z.ZodOptional>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"human">; text: z.ZodString; by: z.core.$ZodBranded; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"system">; type: z.ZodEnum<{ human: "human"; data: "data"; time: "time"; control: "control"; }>; text: z.ZodString; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"decision">; ask: z.ZodString; basis: z.ZodArray>; recommend: z.ZodOptional; options: z.ZodArray; consequence: z.ZodOptional; recommended: z.ZodOptional; }, z.core.$strip>>; allowCustom: z.ZodDefault; chosen: z.ZodOptional; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"elicitation">; ask: z.ZodString; basis: z.ZodOptional>>; fields: z.ZodArray; }, z.core.$strip>>; done: z.ZodOptional; values: z.ZodRecord; reason: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"rating">; ask: z.ZodString; basis: z.ZodOptional>>; done: z.ZodOptional; score: z.ZodNumber; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>], "k">>; view: z.ZodArray; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>; viewHtml: z.ZodOptional; log: z.ZodArray; sideLabel: z.ZodString; title: z.ZodString; summary: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export type TaskDetail = z.infer; export declare const taskDetailRoute: { readonly method: "GET"; readonly path: "/api/desk/tasks/:taskId"; readonly params: z.ZodObject<{ taskId: z.core.$ZodBranded; }, z.core.$strip>; readonly output: z.ZodObject<{ card: z.ZodObject<{ id: z.core.$ZodBranded; activity: z.ZodString; title: z.ZodString; runtime: z.ZodEnum<{ running: "running"; "awaiting-human": "awaiting-human"; "awaiting-event": "awaiting-event"; suspended: "suspended"; "landing-blocked": "landing-blocked"; terminal: "terminal"; }>; terminal: z.ZodOptional>; position: z.ZodNumber; total: z.ZodNumber; workflowSubject: z.ZodString; workflowState: z.ZodEnum<{ terminated: "terminated"; running: "running"; waiting: "waiting"; completed: "completed"; abnormal: "abnormal"; }>; startedAt: z.ZodString; }, z.core.$strip>; goal: z.ZodString; budget: z.ZodObject<{ steps: z.ZodString; tokens: z.ZodString; activeMinutes: z.ZodString; humanCalls: z.ZodString; }, z.core.$strip>; stages: z.ZodArray; label: z.ZodString; round: z.ZodOptional; }, z.core.$strip>>; deliverables: z.ZodArray; stage: z.core.$ZodBranded; round: z.ZodOptional; title: z.ZodString; desc: z.ZodOptional; blocks: z.ZodArray; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>; state: z.ZodEnum<{ released: "released"; draft: "draft"; "pending-acceptance": "pending-acceptance"; rejected: "rejected"; }>; at: z.ZodOptional; }, z.core.$strip>>; workOrders: z.ZodArray; preset: z.ZodOptional>; ask: z.ZodString; standard: z.ZodOptional; steps: z.ZodOptional>; basedOn: z.ZodOptional>; blocks: z.ZodOptional; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>>; fields: z.ZodArray; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>; submitLabel: z.ZodOptional; id: z.core.$ZodBranded; at: z.ZodISODateTime; title: z.ZodString; basis: z.ZodArray>; stage: z.ZodOptional>; done: z.ZodOptional; result: z.ZodString; values: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ mode: z.ZodLiteral<"acceptance">; deliverable: z.core.$ZodBranded; criteria: z.ZodArray; pass: z.ZodBoolean; }, z.core.$strip>>; actions: z.ZodOptional; detail: z.ZodString; }, z.core.$strip>>>; fields: z.ZodDefault; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>>; passLabel: z.ZodOptional; id: z.core.$ZodBranded; at: z.ZodISODateTime; title: z.ZodString; basis: z.ZodArray>; stage: z.ZodOptional>; done: z.ZodOptional; result: z.ZodString; values: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>], "mode">>; chat: z.ZodArray; text: z.ZodString; tag: z.ZodOptional>; ref: z.ZodOptional>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"human">; text: z.ZodString; by: z.core.$ZodBranded; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"system">; type: z.ZodEnum<{ human: "human"; data: "data"; time: "time"; control: "control"; }>; text: z.ZodString; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"decision">; ask: z.ZodString; basis: z.ZodArray>; recommend: z.ZodOptional; options: z.ZodArray; consequence: z.ZodOptional; recommended: z.ZodOptional; }, z.core.$strip>>; allowCustom: z.ZodDefault; chosen: z.ZodOptional; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"elicitation">; ask: z.ZodString; basis: z.ZodOptional>>; fields: z.ZodArray; }, z.core.$strip>>; done: z.ZodOptional; values: z.ZodRecord; reason: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"rating">; ask: z.ZodString; basis: z.ZodOptional>>; done: z.ZodOptional; score: z.ZodNumber; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>], "k">>; view: z.ZodArray; tone: z.ZodEnum<{ ok: "ok"; warn: "warn"; danger: "danger"; brand: "brand"; muted: "muted"; }>; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"kv">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"badges">; title: z.ZodOptional; items: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"table">; title: z.ZodOptional; cols: z.ZodArray; rows: z.ZodArray>; editable: z.ZodOptional; editableCols: z.ZodOptional>; linkDonut: z.ZodOptional; unit: z.ZodOptional; map: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"bars">; title: z.ZodOptional; max: z.ZodOptional; redline: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"donut">; title: z.ZodOptional; unit: z.ZodOptional; items: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"mail">; dir: z.ZodEnum<{ out: "out"; in: "in"; }>; statusLabel: z.ZodOptional; editable: z.ZodOptional; from: z.ZodString; fromAddr: z.ZodOptional; to: z.ZodString; cc: z.ZodOptional; subject: z.ZodString; time: z.ZodString; body: z.ZodString; attachments: z.ZodOptional; file: z.ZodOptional; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">>; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"cards">; title: z.ZodOptional; items: z.ZodArray; tone: z.ZodOptional>; title: z.ZodString; code: z.ZodOptional; swap: z.ZodOptional; }, z.core.$strip>>; big: z.ZodString; bigLabel: z.ZodOptional; meta: z.ZodOptional>>; note: z.ZodOptional; from: z.ZodOptional; time: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"waiting">; label: z.ZodString; hint: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"files">; title: z.ZodOptional; items: z.ZodArray; name: z.ZodString; md: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"excel">; name: z.ZodString; sheet: z.ZodString; rows: z.ZodArray>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"word">; name: z.ZodString; blocks: z.ZodArray; text: z.ZodString; }, z.core.$strip>, z.ZodObject<{ t: z.ZodLiteral<"ul">; items: z.ZodArray; }, z.core.$strip>]>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"pdf">; name: z.ZodString; src: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>>; }, z.core.$strip>], "t">>; viewHtml: z.ZodOptional; log: z.ZodArray; sideLabel: z.ZodString; title: z.ZodString; summary: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; }; /** 回传工单 —— 与后端回传校验同 schema(§9.2) */ export declare const replyWorkOrderRoute: { readonly method: "POST"; readonly path: "/api/desk/work-orders/reply"; readonly body: z.ZodObject<{ reply: z.ZodRecord; }, z.core.$strip>; readonly output: z.ZodObject<{ ok: z.ZodBoolean; producesCompletion: z.ZodBoolean; }, z.core.$strip>; }; /** 负责人的自由输入 —— 人事件的第二形态 */ export declare const sayRoute: { readonly method: "POST"; readonly path: "/api/desk/tasks/:taskId/say"; readonly params: z.ZodObject<{ taskId: z.core.$ZodBranded; }, z.core.$strip>; readonly body: z.ZodObject<{ text: z.ZodString; }, z.core.$strip>; readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{ k: z.ZodLiteral<"ai">; text: z.ZodString; tag: z.ZodOptional>; ref: z.ZodOptional>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"human">; text: z.ZodString; by: z.core.$ZodBranded; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"system">; type: z.ZodEnum<{ human: "human"; data: "data"; time: "time"; control: "control"; }>; text: z.ZodString; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"decision">; ask: z.ZodString; basis: z.ZodArray>; recommend: z.ZodOptional; options: z.ZodArray; consequence: z.ZodOptional; recommended: z.ZodOptional; }, z.core.$strip>>; allowCustom: z.ZodDefault; chosen: z.ZodOptional; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"elicitation">; ask: z.ZodString; basis: z.ZodOptional>>; fields: z.ZodArray; }, z.core.$strip>>; done: z.ZodOptional; values: z.ZodRecord; reason: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>, z.ZodObject<{ k: z.ZodLiteral<"rating">; ask: z.ZodString; basis: z.ZodOptional>>; done: z.ZodOptional; score: z.ZodNumber; note: z.ZodOptional; }, z.core.$strip>>; id: z.core.$ZodBranded; at: z.ZodISODateTime; }, z.core.$strip>], "k">; }; /** 消息要素 */ /** 消息是**信息**,不产生责任;跨任务征答卡以系统消息送达,**就地作答** */ export declare const systemMessageSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodString; title: z.ZodString; body: z.ZodString; at: z.ZodString; read: z.ZodBoolean; card: z.ZodOptional; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>>; ask: z.ZodDefault; answered: z.ZodBoolean; rejectedReason: z.ZodOptional; supersededBy: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export type SystemMessageView = z.infer; export declare const listMessagesRoute: { readonly method: "GET"; readonly path: "/api/desk/messages"; readonly output: z.ZodObject<{ messages: z.ZodArray; placeholder: z.ZodOptional; options: z.ZodOptional; }, z.core.$strip>>>; group: z.ZodOptional; hint: z.ZodOptional; ai: z.ZodOptional; unit: z.ZodOptional; required: z.ZodOptional; cols: z.ZodOptional, z.ZodLiteral<2>]>>; }, z.core.$strip>>>; ask: z.ZodDefault; answered: z.ZodBoolean; rejectedReason: z.ZodOptional; supersededBy: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; }; export declare const markMessageReadRoute: { readonly method: "POST"; readonly path: "/api/desk/messages/:messageId/read"; readonly params: z.ZodObject<{ messageId: z.ZodString; }, z.core.$strip>; readonly output: z.ZodObject<{ ok: z.ZodBoolean; }, z.core.$strip>; }; /** 就地作答 —— 回传经统一入口写回来源任务,调用与回传全程在任务侧留痕 */ export declare const answerMessageRoute: { readonly method: "POST"; readonly path: "/api/desk/messages/:messageId/answer"; readonly params: z.ZodObject<{ messageId: z.ZodString; }, z.core.$strip>; readonly body: z.ZodObject<{ answer: z.ZodRecord; }, z.core.$strip>; readonly output: z.ZodObject<{ ok: z.ZodBoolean; }, z.core.$strip>; }; export type ListMessagesOutput = z.infer; export declare const minuteResolutionSchema: z.ZodObject<{ id: z.ZodString; text: z.ZodString; ownerId: z.ZodOptional>; state: z.ZodEnum<{ open: "open"; registered: "registered"; }>; workflowId: z.ZodOptional; registeredById: z.ZodOptional>; registeredAt: z.ZodOptional; }, z.core.$strip>; export declare const minuteSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; body: z.ZodString; authorId: z.core.$ZodBranded; authorName: z.ZodString; participants: z.ZodArray; occurredOn: z.ZodString; resolutions: z.ZodArray>; state: z.ZodEnum<{ open: "open"; registered: "registered"; }>; workflowId: z.ZodOptional; registeredById: z.ZodOptional>; registeredAt: z.ZodOptional; }, z.core.$strip>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export type MinuteView = z.infer; export declare const listMinutesRoute: { readonly method: "GET"; readonly path: "/api/minutes"; readonly output: z.ZodObject<{ minutes: z.ZodArray; authorName: z.ZodString; participants: z.ZodArray; occurredOn: z.ZodString; resolutions: z.ZodArray>; state: z.ZodEnum<{ open: "open"; registered: "registered"; }>; workflowId: z.ZodOptional; registeredById: z.ZodOptional>; registeredAt: z.ZodOptional; }, z.core.$strip>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; }; export declare const createMinuteRoute: { readonly method: "POST"; readonly path: "/api/minutes"; readonly body: z.ZodObject<{ title: z.ZodString; body: z.ZodString; occurredOn: z.ZodString; participants: z.ZodDefault>>; resolutions: z.ZodDefault>; }, z.core.$strip>>>; }, z.core.$strip>; readonly output: z.ZodObject<{ id: z.ZodString; title: z.ZodString; body: z.ZodString; authorId: z.core.$ZodBranded; authorName: z.ZodString; participants: z.ZodArray; occurredOn: z.ZodString; resolutions: z.ZodArray>; state: z.ZodEnum<{ open: "open"; registered: "registered"; }>; workflowId: z.ZodOptional; registeredById: z.ZodOptional>; registeredAt: z.ZodOptional; }, z.core.$strip>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; }; export declare const appendResolutionRoute: { readonly method: "POST"; readonly path: "/api/minutes/:minuteId/resolutions"; readonly params: z.ZodObject<{ minuteId: z.ZodString; }, z.core.$strip>; readonly body: z.ZodObject<{ text: z.ZodString; ownerId: z.ZodOptional>; }, z.core.$strip>; readonly output: z.ZodObject<{ id: z.ZodString; title: z.ZodString; body: z.ZodString; authorId: z.core.$ZodBranded; authorName: z.ZodString; participants: z.ZodArray; occurredOn: z.ZodString; resolutions: z.ZodArray>; state: z.ZodEnum<{ open: "open"; registered: "registered"; }>; workflowId: z.ZodOptional; registeredById: z.ZodOptional>; registeredAt: z.ZodOptional; }, z.core.$strip>>; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; }; /** 决议 → 登记起单:登记人即来源 */ export declare const registerResolutionRoute: { readonly method: "POST"; readonly path: "/api/minutes/resolutions/:resolutionId/register"; readonly params: z.ZodObject<{ resolutionId: z.ZodString; }, z.core.$strip>; readonly body: z.ZodObject<{ processPackageId: z.ZodString; data: z.ZodRecord; }, z.core.$strip>; readonly output: z.ZodObject<{ workflowId: z.ZodString; resolutionId: z.ZodString; }, z.core.$strip>; }; export declare const reportPeriodSchema: z.ZodEnum<{ day: "day"; week: "week"; month: "month"; year: "year"; }>; export type ReportPeriodName = z.infer; export declare const REPORT_PERIOD_LABEL: Readonly>; export declare const reportMetricsSchema: z.ZodObject<{ autonomy: z.ZodNumber; correction: z.ZodNumber; effectiveAutonomy: z.ZodNumber; interruption: z.ZodNumber; breakpoint: z.ZodNumber; dmnCoverage: z.ZodNumber; unitCost: z.ZodObject<{ tokens: z.ZodNumber; minutes: z.ZodNumber; humanCalls: z.ZodNumber; }, z.core.$strip>; terminalMix: z.ZodRecord; }, z.core.$strip>; export declare const reportSchema: z.ZodObject<{ id: z.ZodString; period: z.ZodEnum<{ day: "day"; week: "week"; month: "month"; year: "year"; }>; title: z.ZodString; window: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; sections: z.ZodArray; lines: z.ZodArray; }, z.core.$strip>>; metrics: z.ZodObject<{ autonomy: z.ZodNumber; correction: z.ZodNumber; effectiveAutonomy: z.ZodNumber; interruption: z.ZodNumber; breakpoint: z.ZodNumber; dmnCoverage: z.ZodNumber; unitCost: z.ZodObject<{ tokens: z.ZodNumber; minutes: z.ZodNumber; humanCalls: z.ZodNumber; }, z.core.$strip>; terminalMix: z.ZodRecord; }, z.core.$strip>; counts: z.ZodObject<{ touched: z.ZodNumber; released: z.ZodNumber; logLines: z.ZodNumber; }, z.core.$strip>; note: z.ZodOptional; submittedAt: z.ZodOptional; generatedAt: z.ZodString; }, z.core.$strip>; export type ReportView = z.infer; /** 未提交的草案每次取回都重算 —— 汇报是投影,不是账本 */ export declare const draftReportRoute: { readonly method: "GET"; readonly path: "/api/reports/:period"; readonly params: z.ZodObject<{ period: z.ZodEnum<{ day: "day"; week: "week"; month: "month"; year: "year"; }>; }, z.core.$strip>; readonly output: z.ZodObject<{ id: z.ZodString; period: z.ZodEnum<{ day: "day"; week: "week"; month: "month"; year: "year"; }>; title: z.ZodString; window: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; sections: z.ZodArray; lines: z.ZodArray; }, z.core.$strip>>; metrics: z.ZodObject<{ autonomy: z.ZodNumber; correction: z.ZodNumber; effectiveAutonomy: z.ZodNumber; interruption: z.ZodNumber; breakpoint: z.ZodNumber; dmnCoverage: z.ZodNumber; unitCost: z.ZodObject<{ tokens: z.ZodNumber; minutes: z.ZodNumber; humanCalls: z.ZodNumber; }, z.core.$strip>; terminalMix: z.ZodRecord; }, z.core.$strip>; counts: z.ZodObject<{ touched: z.ZodNumber; released: z.ZodNumber; logLines: z.ZodNumber; }, z.core.$strip>; note: z.ZodOptional; submittedAt: z.ZodOptional; generatedAt: z.ZodString; }, z.core.$strip>; }; export declare const listReportsRoute: { readonly method: "GET"; readonly path: "/api/reports"; readonly output: z.ZodObject<{ reports: z.ZodArray; title: z.ZodString; window: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; sections: z.ZodArray; lines: z.ZodArray; }, z.core.$strip>>; metrics: z.ZodObject<{ autonomy: z.ZodNumber; correction: z.ZodNumber; effectiveAutonomy: z.ZodNumber; interruption: z.ZodNumber; breakpoint: z.ZodNumber; dmnCoverage: z.ZodNumber; unitCost: z.ZodObject<{ tokens: z.ZodNumber; minutes: z.ZodNumber; humanCalls: z.ZodNumber; }, z.core.$strip>; terminalMix: z.ZodRecord; }, z.core.$strip>; counts: z.ZodObject<{ touched: z.ZodNumber; released: z.ZodNumber; logLines: z.ZodNumber; }, z.core.$strip>; note: z.ZodOptional; submittedAt: z.ZodOptional; generatedAt: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; }; /** 确认即提交,提交后不再改 */ export declare const submitReportRoute: { readonly method: "POST"; readonly path: "/api/reports/:reportId/submit"; readonly params: z.ZodObject<{ reportId: z.ZodString; }, z.core.$strip>; readonly body: z.ZodObject<{ note: z.ZodOptional; }, z.core.$strip>; readonly output: z.ZodObject<{ id: z.ZodString; period: z.ZodEnum<{ day: "day"; week: "week"; month: "month"; year: "year"; }>; title: z.ZodString; window: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; sections: z.ZodArray; lines: z.ZodArray; }, z.core.$strip>>; metrics: z.ZodObject<{ autonomy: z.ZodNumber; correction: z.ZodNumber; effectiveAutonomy: z.ZodNumber; interruption: z.ZodNumber; breakpoint: z.ZodNumber; dmnCoverage: z.ZodNumber; unitCost: z.ZodObject<{ tokens: z.ZodNumber; minutes: z.ZodNumber; humanCalls: z.ZodNumber; }, z.core.$strip>; terminalMix: z.ZodRecord; }, z.core.$strip>; counts: z.ZodObject<{ touched: z.ZodNumber; released: z.ZodNumber; logLines: z.ZodNumber; }, z.core.$strip>; note: z.ZodOptional; submittedAt: z.ZodOptional; generatedAt: z.ZodString; }, z.core.$strip>; }; export type ListMinutesOutput = z.infer; export type ListReportsOutput = z.infer; export declare const approvalItemSchema: z.ZodObject<{ id: z.ZodString; workflowId: z.ZodString; workflowSubject: z.ZodString; nodeId: z.ZodString; title: z.ZodString; basis: z.ZodArray>; ask: z.ZodString; state: z.ZodEnum<{ pending: "pending"; rejected: "rejected"; passed: "passed"; }>; rejectRoute: z.ZodString; raisedAt: z.ZodString; }, z.core.$strip>; export type ApprovalItem = z.infer; export declare const listApprovalsForMeRoute: { readonly method: "GET"; readonly path: "/api/approvals"; readonly output: z.ZodObject<{ approvals: z.ZodArray>; ask: z.ZodString; state: z.ZodEnum<{ pending: "pending"; rejected: "rejected"; passed: "passed"; }>; rejectRoute: z.ZodString; raisedAt: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; }; /** 通过 / 驳回,附依据 —— 驳回必附意见 */ export declare const decideApprovalRoute: { readonly method: "POST"; readonly path: "/api/approvals/:workflowId/:nodeId/decide"; readonly params: z.ZodObject<{ workflowId: z.ZodString; nodeId: z.ZodString; }, z.core.$strip>; readonly body: z.ZodObject<{ verdict: z.ZodEnum<{ pass: "pass"; reject: "reject"; }>; comment: z.ZodOptional; }, z.core.$strip>; readonly output: z.ZodObject<{ ok: z.ZodBoolean; workflowState: z.ZodEnum<{ terminated: "terminated"; running: "running"; waiting: "waiting"; completed: "completed"; abnormal: "abnormal"; }>; }, z.core.$strip>; }; export type ListApprovalsForMeOutput = z.infer;