@open-mercato/cezar 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/README.md +19 -11
  2. package/dist/agent-config/catalog.d.ts +1 -1
  3. package/dist/agent-config/files.d.ts +1 -1
  4. package/dist/agent-config/service.d.ts +1 -1
  5. package/dist/agent-config/validate.d.ts +1 -1
  6. package/dist/automations/coordinator.d.ts +26 -0
  7. package/dist/automations/coordinator.js +66 -0
  8. package/dist/automations/coordinator.js.map +1 -0
  9. package/dist/automations/github-poller.d.ts +74 -0
  10. package/dist/automations/github-poller.js +234 -0
  11. package/dist/automations/github-poller.js.map +1 -0
  12. package/dist/automations/scheduler.d.ts +42 -0
  13. package/dist/automations/scheduler.js +192 -0
  14. package/dist/automations/scheduler.js.map +1 -0
  15. package/dist/automations/store.d.ts +65 -0
  16. package/dist/automations/store.js +298 -0
  17. package/dist/automations/store.js.map +1 -0
  18. package/dist/automations/task-template.d.ts +18 -0
  19. package/dist/automations/task-template.js +95 -0
  20. package/dist/automations/task-template.js.map +1 -0
  21. package/dist/automations/types.d.ts +251 -0
  22. package/dist/automations/types.js +158 -0
  23. package/dist/automations/types.js.map +1 -0
  24. package/dist/config.d.ts +9 -111
  25. package/dist/contract/agent-config.d.ts +151 -0
  26. package/dist/contract/automations.d.ts +911 -0
  27. package/dist/contract/events.d.ts +45 -0
  28. package/dist/contract/github.d.ts +467 -0
  29. package/dist/contract/health.d.ts +96 -0
  30. package/dist/contract/index.d.ts +15 -0
  31. package/dist/contract/index.js +1421 -0
  32. package/dist/contract/projects.d.ts +182 -0
  33. package/dist/contract/repo.d.ts +234 -0
  34. package/dist/contract/runs.d.ts +1226 -0
  35. package/dist/contract/skills.d.ts +225 -0
  36. package/dist/contract/workflows.d.ts +212 -0
  37. package/dist/contract/workspace.d.ts +442 -0
  38. package/dist/core/agent-env.d.ts +1 -1
  39. package/dist/core/agent-runner.d.ts +12 -1
  40. package/dist/core/agent-runner.js +13 -0
  41. package/dist/core/agent-runner.js.map +1 -1
  42. package/dist/core/ask.d.ts +45 -124
  43. package/dist/core/ask.js +103 -13
  44. package/dist/core/ask.js.map +1 -1
  45. package/dist/core/claude-cli-runner.d.ts +2 -2
  46. package/dist/core/claude-cli-runner.js +52 -9
  47. package/dist/core/claude-cli-runner.js.map +1 -1
  48. package/dist/core/claude-ui-mapper.d.ts +1 -1
  49. package/dist/core/codex-app-server-runner.d.ts +1 -1
  50. package/dist/core/codex-app-server-runner.js +55 -3
  51. package/dist/core/codex-app-server-runner.js.map +1 -1
  52. package/dist/core/codex-app-server-transport.d.ts +6 -1
  53. package/dist/core/codex-app-server-transport.js +12 -3
  54. package/dist/core/codex-app-server-transport.js.map +1 -1
  55. package/dist/core/codex-model-catalog.d.ts +1 -1
  56. package/dist/core/codex-ui-mapper.d.ts +5 -1
  57. package/dist/core/codex-ui-mapper.js +74 -17
  58. package/dist/core/codex-ui-mapper.js.map +1 -1
  59. package/dist/core/model-identity.d.ts +1 -1
  60. package/dist/core/model-presets.d.ts +2 -2
  61. package/dist/core/model-presets.js +1 -1
  62. package/dist/core/opencode-server-runner.d.ts +2 -2
  63. package/dist/core/opencode-ui-mapper.d.ts +4 -1
  64. package/dist/core/opencode-ui-mapper.js +45 -7
  65. package/dist/core/opencode-ui-mapper.js.map +1 -1
  66. package/dist/core/provider-auth.d.ts +62 -0
  67. package/dist/core/provider-auth.js +290 -0
  68. package/dist/core/provider-auth.js.map +1 -0
  69. package/dist/core/provider-availability.d.ts +3 -0
  70. package/dist/core/provider-availability.js +13 -0
  71. package/dist/core/provider-availability.js.map +1 -0
  72. package/dist/core/runner-factory.d.ts +1 -1
  73. package/dist/core/runner-model-catalog.d.ts +1 -1
  74. package/dist/core/tool-display.d.ts +1 -1
  75. package/dist/core/ui-events.d.ts +1 -1
  76. package/dist/core/ui-events.js +1 -1
  77. package/dist/git-diff-base.d.ts +60 -0
  78. package/dist/git-diff-base.js +54 -0
  79. package/dist/git-diff-base.js.map +1 -0
  80. package/dist/git-worktree.d.ts +37 -6
  81. package/dist/git-worktree.js +39 -9
  82. package/dist/git-worktree.js.map +1 -1
  83. package/dist/handoff.d.ts +2 -2
  84. package/dist/handoff.js +1 -1
  85. package/dist/index.js +65 -8
  86. package/dist/index.js.map +1 -1
  87. package/dist/paths.d.ts +16 -1
  88. package/dist/paths.js +24 -1
  89. package/dist/paths.js.map +1 -1
  90. package/dist/planner.d.ts +2 -2
  91. package/dist/planner.js +1 -1
  92. package/dist/planner.js.map +1 -1
  93. package/dist/release/manifests.d.ts +81 -0
  94. package/dist/release/manifests.js +74 -0
  95. package/dist/release/manifests.js.map +1 -0
  96. package/dist/release/snapshot.d.ts +9 -23
  97. package/dist/release/snapshot.js +9 -22
  98. package/dist/release/snapshot.js.map +1 -1
  99. package/dist/release/stable.d.ts +15 -29
  100. package/dist/release/stable.js +14 -27
  101. package/dist/release/stable.js.map +1 -1
  102. package/dist/runs/auto-name.d.ts +1 -1
  103. package/dist/runs/retention.d.ts +1 -1
  104. package/dist/runs/store.d.ts +142 -336
  105. package/dist/runs/store.js +136 -9
  106. package/dist/runs/store.js.map +1 -1
  107. package/dist/runs/ui-event-sink.d.ts +1 -1
  108. package/dist/server/app-type.d.ts +21 -0
  109. package/dist/server/app-type.js +2 -0
  110. package/dist/server/app-type.js.map +1 -0
  111. package/dist/server/capabilities.d.ts +6 -5
  112. package/dist/server/capabilities.js +11 -0
  113. package/dist/server/capabilities.js.map +1 -1
  114. package/dist/server/forge/github.d.ts +58 -151
  115. package/dist/server/forge/github.js +530 -6
  116. package/dist/server/forge/github.js.map +1 -1
  117. package/dist/server/forge/index.d.ts +10 -3
  118. package/dist/server/forge/index.js +14 -1
  119. package/dist/server/forge/index.js.map +1 -1
  120. package/dist/server/forge/types.d.ts +86 -1
  121. package/dist/server/git-changes.d.ts +8 -8
  122. package/dist/server/git-changes.js +14 -17
  123. package/dist/server/git-changes.js.map +1 -1
  124. package/dist/server/git.d.ts +2 -0
  125. package/dist/server/git.js +9 -0
  126. package/dist/server/git.js.map +1 -1
  127. package/dist/server/github.d.ts +3 -3
  128. package/dist/server/github.js +1 -1
  129. package/dist/server/github.js.map +1 -1
  130. package/dist/server/pr.d.ts +2 -2
  131. package/dist/server/project-context.d.ts +20 -3
  132. package/dist/server/project-context.js +30 -1
  133. package/dist/server/project-context.js.map +1 -1
  134. package/dist/server/provider-action-gate.d.ts +8 -0
  135. package/dist/server/provider-action-gate.js +54 -0
  136. package/dist/server/provider-action-gate.js.map +1 -0
  137. package/dist/server/provider-auth-runtime.d.ts +21 -0
  138. package/dist/server/provider-auth-runtime.js +66 -0
  139. package/dist/server/provider-auth-runtime.js.map +1 -0
  140. package/dist/server/server.d.ts +11142 -47
  141. package/dist/server/server.js +1714 -806
  142. package/dist/server/server.js.map +1 -1
  143. package/dist/server/validators.d.ts +97 -0
  144. package/dist/server/validators.js +86 -0
  145. package/dist/server/validators.js.map +1 -0
  146. package/dist/server/ws.d.ts +2 -2
  147. package/dist/server/ws.js +2 -2
  148. package/dist/server/ws.js.map +1 -1
  149. package/dist/server-install/engine.d.ts +1 -1
  150. package/dist/server-install/platforms/macosx-ngrok.d.ts +1 -1
  151. package/dist/server-install/platforms/ubuntu-vps.d.ts +16 -1
  152. package/dist/server-install/platforms/ubuntu-vps.js +83 -1
  153. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  154. package/dist/server-install/state.d.ts +1 -1
  155. package/dist/server-install/steps.d.ts +2 -2
  156. package/dist/server-install/strategies.d.ts +1 -1
  157. package/dist/server-install/types.d.ts +38 -424
  158. package/dist/server-install/ui.d.ts +1 -1
  159. package/dist/skills-banner.d.ts +7 -6
  160. package/dist/skills-banner.js +7 -6
  161. package/dist/skills-banner.js.map +1 -1
  162. package/dist/skills-remote.d.ts +2 -2
  163. package/dist/skills-update.d.ts +88 -0
  164. package/dist/skills-update.js +392 -0
  165. package/dist/skills-update.js.map +1 -0
  166. package/dist/skills.d.ts +2 -0
  167. package/dist/skills.js +3 -2
  168. package/dist/skills.js.map +1 -1
  169. package/dist/todos.d.ts +2 -28
  170. package/dist/todos.js +1 -1
  171. package/dist/ui-state.d.ts +16 -2
  172. package/dist/ui-state.js +14 -1
  173. package/dist/ui-state.js.map +1 -1
  174. package/dist/workflows/load.d.ts +1 -1
  175. package/dist/workflows/run.d.ts +53 -12
  176. package/dist/workflows/run.js +436 -64
  177. package/dist/workflows/run.js.map +1 -1
  178. package/dist/workflows/types.d.ts +59 -224
  179. package/dist/workflows/types.js +14 -0
  180. package/dist/workflows/types.js.map +1 -1
  181. package/dist/workspace/config.d.ts +68 -206
  182. package/dist/workspace/config.js +145 -14
  183. package/dist/workspace/config.js.map +1 -1
  184. package/dist/workspace/migrations.d.ts +1 -1
  185. package/dist/workspace/migrations.js +19 -4
  186. package/dist/workspace/migrations.js.map +1 -1
  187. package/dist/workspace/projects.d.ts +8 -2
  188. package/dist/workspace/projects.js +9 -3
  189. package/dist/workspace/projects.js.map +1 -1
  190. package/dist/workspace/semaphore.d.ts +6 -0
  191. package/dist/workspace/semaphore.js +14 -1
  192. package/dist/workspace/semaphore.js.map +1 -1
  193. package/dist/workspace/ui-state.d.ts +13 -3
  194. package/dist/workspace/ui-state.js +15 -5
  195. package/dist/workspace/ui-state.js.map +1 -1
  196. package/package.json +17 -39
  197. package/scripts/inline-contract.mjs +112 -0
  198. package/scripts/mock-claude.mjs +39 -1
  199. package/scripts/sync-readme.mjs +20 -0
  200. package/web/dist/assets/alert-dialog-ghffK6g9.js +1 -0
  201. package/web/dist/assets/arrow-down-Cz8qb71e.js +1 -0
  202. package/web/dist/assets/arrow-left-wcYKQXI_.js +1 -0
  203. package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
  204. package/web/dist/assets/centered-state-ZtnFHA-n.js +43 -0
  205. package/web/dist/assets/chevron-right-G4caF2QV.js +1 -0
  206. package/web/dist/assets/{chunk-BO2N2NFS-DtrdTCWa.js → chunk-BO2N2NFS-DE6qKn3r.js} +8 -8
  207. package/web/dist/assets/circle-check--KvBxXWp.js +1 -0
  208. package/web/dist/assets/circle-x-C3EFZ3xf.js +1 -0
  209. package/web/dist/assets/collapsible-B0JVzd0B.js +1 -0
  210. package/web/dist/assets/commit-list-wm6DPHNs.js +1 -0
  211. package/web/dist/assets/compare-variants-DbdP4Y5T.js +1 -0
  212. package/web/dist/assets/{core-DePtBHcl.js → core-BCsw8oQw.js} +1 -1
  213. package/web/dist/assets/diff-Bizc96qe.js +3 -0
  214. package/web/dist/assets/diff-stat-Dyfg3ltF.js +1 -0
  215. package/web/dist/assets/{diff-view-DCeSegKk.js → diff-view-CG8ek6tC.js} +4 -4
  216. package/web/dist/assets/dropdown-menu-C1Dlf35P.js +1 -0
  217. package/web/dist/assets/editable-title-5rC_QRBZ.js +1 -0
  218. package/web/dist/assets/{ellipsis-vertical-CNnSLn5a.js → ellipsis-vertical-DpGTRqC2.js} +1 -1
  219. package/web/dist/assets/{file-D4GBh1ao.js → file-DlUGpUlb.js} +1 -1
  220. package/web/dist/assets/folder-BAY6Vddy.js +1 -0
  221. package/web/dist/assets/{git-pull-request-DnR8Xh4_.js → git-pull-request-agOG0iGM.js} +1 -1
  222. package/web/dist/assets/git-toolbar-DGiNMmtY.js +1 -0
  223. package/web/dist/assets/github-Vp7lxYGQ.js +1 -0
  224. package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
  225. package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
  226. package/web/dist/assets/image-preview-BWGk5fPX.js +1 -0
  227. package/web/dist/assets/index-DSxyJpuK.css +2 -0
  228. package/web/dist/assets/index-DiawI6RX.js +6 -0
  229. package/web/dist/assets/lib-BQXq3kEf.js +1 -0
  230. package/web/dist/assets/lib-BxQXEXDF.js +1 -0
  231. package/web/dist/assets/markdown-BGBOGCA_.js +2 -0
  232. package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
  233. package/web/dist/assets/new-task-form-BpAw_Dks.js +1 -0
  234. package/web/dist/assets/pill-Dvs-P0xy.js +1 -0
  235. package/web/dist/assets/project-router-Cx8NPoqn.js +1 -0
  236. package/web/dist/assets/prompt-templates-CSBYBR1I.js +15 -0
  237. package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
  238. package/web/dist/assets/{refresh-cw-BT8E96Tm.js → refresh-cw-BoGdAykg.js} +1 -1
  239. package/web/dist/assets/repo-git-PmX-BNMo.js +1 -0
  240. package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  241. package/web/dist/assets/run-diff-EcOkf3ti.js +3 -0
  242. package/web/dist/assets/run-header-BGiv6_qX.js +1 -0
  243. package/web/dist/assets/{search-x-BDjaMrzG.js → search-x-X3EpVhgs.js} +1 -1
  244. package/web/dist/assets/skill-empty-hint-CZLALx6l.js +1 -0
  245. package/web/dist/assets/skills-BiWfHmCR.js +1 -0
  246. package/web/dist/assets/skills-CC91ouGH.js +1 -0
  247. package/web/dist/assets/sparkles-Dt4q7pbG.js +1 -0
  248. package/web/dist/assets/{square-terminal-Ckjjn0vb.js → square-terminal-hwBL8XsC.js} +1 -1
  249. package/web/dist/assets/tab-link-DIlR5T07.js +1 -0
  250. package/web/dist/assets/task-changes-XkHDxzQA.js +1 -0
  251. package/web/dist/assets/task-commits-BTTA5k5T.js +1 -0
  252. package/web/dist/assets/task-files-Da8_4C9g.js +2 -0
  253. package/web/dist/assets/task-thread-DoNXUsHr.js +9 -0
  254. package/web/dist/assets/textarea-CUdokhkv.js +1 -0
  255. package/web/dist/assets/thread-loading-B8q8ukXJ.js +1 -0
  256. package/web/dist/assets/{trash-2-DAyZ0VSi.js → trash-2-DhVIdWv8.js} +1 -1
  257. package/web/dist/assets/{triangle-alert-Uy8rokUh.js → triangle-alert-XYT0DGCI.js} +1 -1
  258. package/web/dist/assets/{upload-CDdyPPo_.js → upload-BKjN59-1.js} +1 -1
  259. package/web/dist/assets/use-desktop-Bf5LS_P4.js +1 -0
  260. package/web/dist/assets/use-submit-shortcut-CzVyoAMd.js +1 -0
  261. package/web/dist/assets/utils-DsLuRXwV.js +64 -0
  262. package/web/dist/assets/workflows-o2QU_pvU.js +11 -0
  263. package/web/dist/assets/zoomable-image-7WyUiaVD.js +1 -0
  264. package/web/dist/index.html +32 -13
  265. package/scripts/dev.mjs +0 -74
  266. package/scripts/release-snapshot.mjs +0 -130
  267. package/scripts/release.mjs +0 -119
  268. package/web/dist/assets/arrow-left-CnSdp92h.js +0 -1
  269. package/web/dist/assets/bundle-mjs-BegPhL5c.js +0 -1
  270. package/web/dist/assets/centered-state-DOsTcJZF.js +0 -43
  271. package/web/dist/assets/commit-list-BrxBEzRK.js +0 -1
  272. package/web/dist/assets/compare-variants-Bv2c9ORF.js +0 -1
  273. package/web/dist/assets/dist-B6XQOhgM.js +0 -1
  274. package/web/dist/assets/git-toolbar-pIC1ubPM.js +0 -1
  275. package/web/dist/assets/github-DTTSG0ht.js +0 -1
  276. package/web/dist/assets/highlighted-body-OFNGDK62-BuFJwunK.js +0 -1
  277. package/web/dist/assets/image-preview-DEhW0TFz.js +0 -1
  278. package/web/dist/assets/index-Cijmlz7q.js +0 -30
  279. package/web/dist/assets/index-DzroxqBG.css +0 -2
  280. package/web/dist/assets/lib-DPEZDBUN.js +0 -1
  281. package/web/dist/assets/lib-uHpeUPzK.js +0 -1
  282. package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +0 -1
  283. package/web/dist/assets/open-mercato-toBr6SOa.svg +0 -11
  284. package/web/dist/assets/project-router-BMx4e8m-.js +0 -1
  285. package/web/dist/assets/repo-git-BusYfa3t.js +0 -1
  286. package/web/dist/assets/run-diff-wOJ3odA-.js +0 -3
  287. package/web/dist/assets/run-header-Cg5incil.js +0 -1
  288. package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +0 -1
  289. package/web/dist/assets/skills-PpP2owbM.js +0 -1
  290. package/web/dist/assets/tab-link-F3uQrdm2.js +0 -1
  291. package/web/dist/assets/task-changes-iD9kS79I.js +0 -1
  292. package/web/dist/assets/task-commits-COkLaUri.js +0 -1
  293. package/web/dist/assets/task-files-Ckttz7XH.js +0 -2
  294. package/web/dist/assets/task-thread-CQD91VPt.js +0 -9
  295. package/web/dist/assets/textarea-Bj_LCreg.js +0 -1
  296. package/web/dist/assets/use-desktop-DUh0STzq.js +0 -3
  297. package/web/dist/assets/utils-B8s5qIcK.js +0 -1
  298. package/web/dist/assets/workflows-BFk8C0co.js +0 -11
  299. package/web/dist/assets/zoomable-image-PEDOqyLQ.js +0 -1
  300. /package/web/{open-mercato.svg → dist/open-mercato.svg} +0 -0
@@ -0,0 +1,225 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * One discovered skill: repo (`.ai/skills`, `.ai/cezar/skills`), `npx skills` install dirs
4
+ * (project + global), or a configured team skills repo (spec 005).
5
+ */
6
+ export declare const skillSchema: z.ZodObject<{
7
+ name: z.ZodString;
8
+ description: z.ZodOptional<z.ZodString>;
9
+ interactive: z.ZodOptional<z.ZodLiteral<true>>;
10
+ body: z.ZodString;
11
+ path: z.ZodString;
12
+ source: z.ZodEnum<{
13
+ agents: "agents";
14
+ ai: "ai";
15
+ cezar: "cezar";
16
+ global: "global";
17
+ team: "team";
18
+ }>;
19
+ team: z.ZodOptional<z.ZodObject<{
20
+ repo: z.ZodString;
21
+ ref: z.ZodString;
22
+ path: z.ZodString;
23
+ dir: z.ZodBoolean;
24
+ commit: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>;
27
+ export type Skill = z.infer<typeof skillSchema>;
28
+ /**
29
+ * One row in the "Manage skills" panel — a skill a default (vendor) repo offers, from
30
+ * `GET /skills/importable`, independent of whether it is currently kept.
31
+ *
32
+ * `description` is optional because that is what the WIRE says: the handler builds
33
+ * `{ name, description: skill.description }` and `JSON.stringify` omits an undefined value, so
34
+ * a description-less skill is serialized as `{ "name": "…" }`. The route's own type disagrees
35
+ * (it claims the key is always present) — a handler defect, see
36
+ * `contract-parity.workflows.test.ts`.
37
+ */
38
+ export declare const importableSkillSchema: z.ZodObject<{
39
+ name: z.ZodString;
40
+ description: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ export type ImportableSkill = z.infer<typeof importableSkillSchema>;
43
+ /** One entry of `.ai/cezar/todos.json`, as `GET /todos` serves it (ids are backfilled on read). */
44
+ export declare const todoItemSchema: z.ZodObject<{
45
+ id: z.ZodString;
46
+ ts: z.ZodOptional<z.ZodString>;
47
+ taskId: z.ZodOptional<z.ZodString>;
48
+ summary: z.ZodString;
49
+ action: z.ZodOptional<z.ZodString>;
50
+ prUrl: z.ZodOptional<z.ZodString>;
51
+ suggestedSkill: z.ZodOptional<z.ZodString>;
52
+ suggestedArgs: z.ZodOptional<z.ZodString>;
53
+ suggestedPrompt: z.ZodOptional<z.ZodString>;
54
+ runnable: z.ZodOptional<z.ZodBoolean>;
55
+ startedTaskId: z.ZodOptional<z.ZodString>;
56
+ }, z.core.$strip>;
57
+ export type TodoItem = z.infer<typeof todoItemSchema>;
58
+ /**
59
+ * `DELETE /todos/:id` — Dismiss checks the entry off.
60
+ *
61
+ * `removed` is the LITERAL `true`: a miss is a 404 `{ error }`, never `{ removed: false }`.
62
+ * The hand-written DTO said `boolean`, which was wider than the route.
63
+ */
64
+ export declare const removeTodoResponseSchema: z.ZodObject<{
65
+ removed: z.ZodLiteral<true>;
66
+ }, z.core.$strip>;
67
+ export type RemoveTodoResponse = z.infer<typeof removeTodoResponseSchema>;
68
+ /** `POST /todos/:id/start` — 201 with the run the entry became. */
69
+ export declare const startTodoResponseSchema: z.ZodObject<{
70
+ run: z.ZodObject<{
71
+ id: z.ZodString;
72
+ title: z.ZodString;
73
+ titleSummary: z.ZodOptional<z.ZodString>;
74
+ diffStat: z.ZodOptional<z.ZodObject<{
75
+ adds: z.ZodNumber;
76
+ dels: z.ZodNumber;
77
+ files: z.ZodNumber;
78
+ repointed: z.ZodOptional<z.ZodBoolean>;
79
+ }, z.core.$strip>>;
80
+ workflow: z.ZodString;
81
+ task: z.ZodString;
82
+ queuedMessages: z.ZodOptional<z.ZodArray<z.ZodObject<{
83
+ id: z.ZodString;
84
+ text: z.ZodString;
85
+ images: z.ZodOptional<z.ZodArray<z.ZodString>>;
86
+ createdAt: z.ZodString;
87
+ }, z.core.$strip>>>;
88
+ taskImages: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
+ model: z.ZodOptional<z.ZodString>;
90
+ modelIdentity: z.ZodOptional<z.ZodString>;
91
+ runner: z.ZodOptional<z.ZodEnum<{
92
+ claude: "claude";
93
+ codex: "codex";
94
+ opencode: "opencode";
95
+ }>>;
96
+ systemPrompt: z.ZodOptional<z.ZodString>;
97
+ generateFollowups: z.ZodOptional<z.ZodBoolean>;
98
+ autonomous: z.ZodOptional<z.ZodBoolean>;
99
+ automation: z.ZodOptional<z.ZodObject<{
100
+ automationId: z.ZodString;
101
+ automationRevision: z.ZodNumber;
102
+ receiptId: z.ZodString;
103
+ event: z.ZodString;
104
+ githubUrl: z.ZodString;
105
+ }, z.core.$strip>>;
106
+ status: z.ZodEnum<{
107
+ cancelled: "cancelled";
108
+ done: "done";
109
+ failed: "failed";
110
+ queued: "queued";
111
+ review: "review";
112
+ running: "running";
113
+ waiting: "waiting";
114
+ }>;
115
+ activity: z.ZodOptional<z.ZodEnum<{
116
+ monitoring: "monitoring";
117
+ }>>;
118
+ monitoringWakeAt: z.ZodOptional<z.ZodString>;
119
+ monitoringWakeCapReached: z.ZodOptional<z.ZodBoolean>;
120
+ createdAt: z.ZodString;
121
+ startedAt: z.ZodOptional<z.ZodString>;
122
+ finishedAt: z.ZodOptional<z.ZodString>;
123
+ tokensUsed: z.ZodNumber;
124
+ inputTokens: z.ZodOptional<z.ZodNumber>;
125
+ outputTokens: z.ZodOptional<z.ZodNumber>;
126
+ costUsd: z.ZodOptional<z.ZodNumber>;
127
+ pullRequestUrl: z.ZodOptional<z.ZodString>;
128
+ referencedPullRequestUrl: z.ZodOptional<z.ZodString>;
129
+ prNumber: z.ZodOptional<z.ZodNumber>;
130
+ issueNumber: z.ZodOptional<z.ZodNumber>;
131
+ referencedIssueNumberSeeded: z.ZodOptional<z.ZodBoolean>;
132
+ titleOrigin: z.ZodOptional<z.ZodEnum<{
133
+ auto: "auto";
134
+ marker: "marker";
135
+ user: "user";
136
+ }>>;
137
+ markerRefs: z.ZodOptional<z.ZodObject<{
138
+ pr: z.ZodOptional<z.ZodNumber>;
139
+ issue: z.ZodOptional<z.ZodNumber>;
140
+ }, z.core.$strip>>;
141
+ referencedPrCandidates: z.ZodOptional<z.ZodArray<z.ZodString>>;
142
+ referencedIssueUrl: z.ZodOptional<z.ZodString>;
143
+ referencedIssueCandidates: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
+ worktree: z.ZodOptional<z.ZodLiteral<false>>;
145
+ worktreePath: z.ZodOptional<z.ZodString>;
146
+ branch: z.ZodOptional<z.ZodString>;
147
+ baseBranch: z.ZodOptional<z.ZodString>;
148
+ worktreeReclaimedAt: z.ZodOptional<z.ZodString>;
149
+ groupId: z.ZodOptional<z.ZodString>;
150
+ variant: z.ZodOptional<z.ZodString>;
151
+ peakRssBytes: z.ZodOptional<z.ZodNumber>;
152
+ peakProcCount: z.ZodOptional<z.ZodNumber>;
153
+ archived: z.ZodBoolean;
154
+ archivedAt: z.ZodOptional<z.ZodString>;
155
+ seenAt: z.ZodOptional<z.ZodString>;
156
+ currentStepId: z.ZodOptional<z.ZodString>;
157
+ error: z.ZodOptional<z.ZodString>;
158
+ steps: z.ZodArray<z.ZodObject<{
159
+ id: z.ZodString;
160
+ name: z.ZodString;
161
+ kind: z.ZodEnum<{
162
+ agent: "agent";
163
+ check: "check";
164
+ }>;
165
+ status: z.ZodEnum<{
166
+ cancelled: "cancelled";
167
+ done: "done";
168
+ failed: "failed";
169
+ pending: "pending";
170
+ review: "review";
171
+ running: "running";
172
+ skipped: "skipped";
173
+ waiting: "waiting";
174
+ }>;
175
+ iterations: z.ZodNumber;
176
+ tokensUsed: z.ZodNumber;
177
+ inputTokens: z.ZodOptional<z.ZodNumber>;
178
+ outputTokens: z.ZodOptional<z.ZodNumber>;
179
+ usageInvocationsStarted: z.ZodOptional<z.ZodNumber>;
180
+ usageInvocationsObserved: z.ZodOptional<z.ZodNumber>;
181
+ usageTurnsStarted: z.ZodOptional<z.ZodNumber>;
182
+ usageTurnsRecorded: z.ZodOptional<z.ZodNumber>;
183
+ usageInvocationEpoch: z.ZodOptional<z.ZodNumber>;
184
+ startedAt: z.ZodOptional<z.ZodString>;
185
+ finishedAt: z.ZodOptional<z.ZodString>;
186
+ error: z.ZodOptional<z.ZodString>;
187
+ sessionId: z.ZodOptional<z.ZodString>;
188
+ backend: z.ZodOptional<z.ZodEnum<{
189
+ claude: "claude";
190
+ codex: "codex";
191
+ opencode: "opencode";
192
+ }>>;
193
+ costUsd: z.ZodOptional<z.ZodNumber>;
194
+ }, z.core.$strip>>;
195
+ workflowDef: z.ZodOptional<z.ZodObject<{
196
+ name: z.ZodString;
197
+ description: z.ZodOptional<z.ZodString>;
198
+ steps: z.ZodArray<z.ZodObject<{
199
+ id: z.ZodString;
200
+ name: z.ZodOptional<z.ZodString>;
201
+ prompt: z.ZodOptional<z.ZodString>;
202
+ skill: z.ZodOptional<z.ZodString>;
203
+ model: z.ZodOptional<z.ZodString>;
204
+ runner: z.ZodOptional<z.ZodEnum<{
205
+ claude: "claude";
206
+ codex: "codex";
207
+ opencode: "opencode";
208
+ }>>;
209
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
210
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ command: z.ZodOptional<z.ZodString>;
212
+ onFail: z.ZodOptional<z.ZodObject<{
213
+ retry: z.ZodString;
214
+ max: z.ZodDefault<z.ZodNumber>;
215
+ }, z.core.$strip>>;
216
+ }, z.core.$strip>>;
217
+ source: z.ZodEnum<{
218
+ "built-in": "built-in";
219
+ file: "file";
220
+ }>;
221
+ path: z.ZodOptional<z.ZodString>;
222
+ }, z.core.$strip>>;
223
+ }, z.core.$strip>;
224
+ }, z.core.$strip>;
225
+ export type StartTodoResponse = z.infer<typeof startTodoResponseSchema>;
@@ -0,0 +1,212 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The WORKFLOWS family: the chain catalog, the save/parse routes, and the planner.
4
+ *
5
+ * This file must NOT import `./runs.ts`: the run record embeds a workflow definition
6
+ * (`RunRecord.workflowDef`), so `runs.ts` imports the two definition schemas below, and a second
7
+ * edge back would be a module cycle — one whose top-level `z.object(…)` calls would hit a TDZ at
8
+ * import time, not a type error. The parallel-variant shapes (`/groups/:groupId/*`), which DO
9
+ * embed the record, live with the run family for the same reason.
10
+ */
11
+ /**
12
+ * One step of a chain: either an agent step (`prompt`/`skill`) or a check step (`command`).
13
+ *
14
+ * `onFail.max` carries a `.default(2)`, exactly as `src/workflows/types.ts` declares it, so the
15
+ * OUTPUT shape the routes serve has `max` present whenever `onFail` is.
16
+ */
17
+ export declare const workflowStepDefSchema: z.ZodObject<{
18
+ id: z.ZodString;
19
+ name: z.ZodOptional<z.ZodString>;
20
+ prompt: z.ZodOptional<z.ZodString>;
21
+ skill: z.ZodOptional<z.ZodString>;
22
+ model: z.ZodOptional<z.ZodString>;
23
+ runner: z.ZodOptional<z.ZodEnum<{
24
+ claude: "claude";
25
+ codex: "codex";
26
+ opencode: "opencode";
27
+ }>>;
28
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ command: z.ZodOptional<z.ZodString>;
31
+ onFail: z.ZodOptional<z.ZodObject<{
32
+ retry: z.ZodString;
33
+ max: z.ZodDefault<z.ZodNumber>;
34
+ }, z.core.$strip>>;
35
+ }, z.core.$strip>;
36
+ export type WorkflowStepDef = z.infer<typeof workflowStepDefSchema>;
37
+ /** One catalog entry: the built-in `quick-task`, or a `.ai/cezar/workflows/*.yaml` file. */
38
+ export declare const workflowDefSchema: z.ZodObject<{
39
+ name: z.ZodString;
40
+ description: z.ZodOptional<z.ZodString>;
41
+ steps: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodString;
43
+ name: z.ZodOptional<z.ZodString>;
44
+ prompt: z.ZodOptional<z.ZodString>;
45
+ skill: z.ZodOptional<z.ZodString>;
46
+ model: z.ZodOptional<z.ZodString>;
47
+ runner: z.ZodOptional<z.ZodEnum<{
48
+ claude: "claude";
49
+ codex: "codex";
50
+ opencode: "opencode";
51
+ }>>;
52
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
53
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
54
+ command: z.ZodOptional<z.ZodString>;
55
+ onFail: z.ZodOptional<z.ZodObject<{
56
+ retry: z.ZodString;
57
+ max: z.ZodDefault<z.ZodNumber>;
58
+ }, z.core.$strip>>;
59
+ }, z.core.$strip>>;
60
+ source: z.ZodEnum<{
61
+ "built-in": "built-in";
62
+ file: "file";
63
+ }>;
64
+ path: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ export type WorkflowDef = z.infer<typeof workflowDefSchema>;
67
+ /** A workflow file that failed to load. Reported, never fatal — the catalog still answers. */
68
+ export declare const workflowLoadIssueSchema: z.ZodObject<{
69
+ path: z.ZodString;
70
+ message: z.ZodString;
71
+ }, z.core.$strip>;
72
+ export type WorkflowLoadIssue = z.infer<typeof workflowLoadIssueSchema>;
73
+ /** `GET /workflows` — the catalog plus the files that could not be read. */
74
+ export declare const workflowsResponseSchema: z.ZodObject<{
75
+ workflows: z.ZodArray<z.ZodObject<{
76
+ name: z.ZodString;
77
+ description: z.ZodOptional<z.ZodString>;
78
+ steps: z.ZodArray<z.ZodObject<{
79
+ id: z.ZodString;
80
+ name: z.ZodOptional<z.ZodString>;
81
+ prompt: z.ZodOptional<z.ZodString>;
82
+ skill: z.ZodOptional<z.ZodString>;
83
+ model: z.ZodOptional<z.ZodString>;
84
+ runner: z.ZodOptional<z.ZodEnum<{
85
+ claude: "claude";
86
+ codex: "codex";
87
+ opencode: "opencode";
88
+ }>>;
89
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
91
+ command: z.ZodOptional<z.ZodString>;
92
+ onFail: z.ZodOptional<z.ZodObject<{
93
+ retry: z.ZodString;
94
+ max: z.ZodDefault<z.ZodNumber>;
95
+ }, z.core.$strip>>;
96
+ }, z.core.$strip>>;
97
+ source: z.ZodEnum<{
98
+ "built-in": "built-in";
99
+ file: "file";
100
+ }>;
101
+ path: z.ZodOptional<z.ZodString>;
102
+ }, z.core.$strip>>;
103
+ issues: z.ZodArray<z.ZodObject<{
104
+ path: z.ZodString;
105
+ message: z.ZodString;
106
+ }, z.core.$strip>>;
107
+ }, z.core.$strip>;
108
+ export type WorkflowsResponse = z.infer<typeof workflowsResponseSchema>;
109
+ /**
110
+ * `POST /workflows` body: save a chain as `.ai/cezar/workflows/<slug>.yaml`.
111
+ *
112
+ * Exactly one of `steps` / the portable `skills` shorthand — the refinement below is the same
113
+ * XOR the server enforces. Without `overwrite` an existing file answers 409 (`exists: true`).
114
+ */
115
+ export declare const saveWorkflowInputSchema: z.ZodObject<{
116
+ name: z.ZodString;
117
+ description: z.ZodOptional<z.ZodString>;
118
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
119
+ id: z.ZodString;
120
+ name: z.ZodOptional<z.ZodString>;
121
+ prompt: z.ZodOptional<z.ZodString>;
122
+ skill: z.ZodOptional<z.ZodString>;
123
+ model: z.ZodOptional<z.ZodString>;
124
+ runner: z.ZodOptional<z.ZodEnum<{
125
+ claude: "claude";
126
+ codex: "codex";
127
+ opencode: "opencode";
128
+ }>>;
129
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
+ command: z.ZodOptional<z.ZodString>;
132
+ onFail: z.ZodOptional<z.ZodObject<{
133
+ retry: z.ZodString;
134
+ max: z.ZodDefault<z.ZodNumber>;
135
+ }, z.core.$strip>>;
136
+ }, z.core.$strip>>>;
137
+ skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
+ overwrite: z.ZodOptional<z.ZodBoolean>;
139
+ }, z.core.$strip>;
140
+ export type SaveWorkflowInput = z.infer<typeof saveWorkflowInputSchema>;
141
+ /** `POST /workflows` — 201 with where the YAML landed. */
142
+ export declare const saveWorkflowResponseSchema: z.ZodObject<{
143
+ path: z.ZodString;
144
+ name: z.ZodString;
145
+ }, z.core.$strip>;
146
+ export type SaveWorkflowResponse = z.infer<typeof saveWorkflowResponseSchema>;
147
+ /** `POST /workflows/parse` (spec 012) — pasted YAML, normalized to plain steps. */
148
+ export declare const parsedWorkflowSchema: z.ZodObject<{
149
+ name: z.ZodString;
150
+ description: z.ZodOptional<z.ZodString>;
151
+ steps: z.ZodArray<z.ZodObject<{
152
+ id: z.ZodString;
153
+ name: z.ZodOptional<z.ZodString>;
154
+ prompt: z.ZodOptional<z.ZodString>;
155
+ skill: z.ZodOptional<z.ZodString>;
156
+ model: z.ZodOptional<z.ZodString>;
157
+ runner: z.ZodOptional<z.ZodEnum<{
158
+ claude: "claude";
159
+ codex: "codex";
160
+ opencode: "opencode";
161
+ }>>;
162
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
163
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
164
+ command: z.ZodOptional<z.ZodString>;
165
+ onFail: z.ZodOptional<z.ZodObject<{
166
+ retry: z.ZodString;
167
+ max: z.ZodDefault<z.ZodNumber>;
168
+ }, z.core.$strip>>;
169
+ }, z.core.$strip>>;
170
+ }, z.core.$strip>;
171
+ export type ParsedWorkflow = z.infer<typeof parsedWorkflowSchema>;
172
+ /**
173
+ * `DELETE /workflows/:name` — file workflows only; built-ins answer 400.
174
+ *
175
+ * `ok` is the LITERAL `true`, not a boolean: the only body carrying it is the success one, and
176
+ * every failure is an `{ error }` status instead. The hand-written DTO said `boolean`, which
177
+ * was wider than the route has ever been.
178
+ */
179
+ export declare const deleteWorkflowResponseSchema: z.ZodObject<{
180
+ ok: z.ZodLiteral<true>;
181
+ path: z.ZodString;
182
+ }, z.core.$strip>;
183
+ export type DeleteWorkflowResponse = z.infer<typeof deleteWorkflowResponseSchema>;
184
+ /**
185
+ * The proposed chain for a task. Never a hard failure: a missing CLI, a timeout or an
186
+ * unparseable answer degrade to the one-step quick-task plan with `fallback: true`.
187
+ */
188
+ export declare const planResponseSchema: z.ZodObject<{
189
+ name: z.ZodOptional<z.ZodString>;
190
+ steps: z.ZodArray<z.ZodObject<{
191
+ id: z.ZodString;
192
+ name: z.ZodOptional<z.ZodString>;
193
+ prompt: z.ZodOptional<z.ZodString>;
194
+ skill: z.ZodOptional<z.ZodString>;
195
+ model: z.ZodOptional<z.ZodString>;
196
+ runner: z.ZodOptional<z.ZodEnum<{
197
+ claude: "claude";
198
+ codex: "codex";
199
+ opencode: "opencode";
200
+ }>>;
201
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
202
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
203
+ command: z.ZodOptional<z.ZodString>;
204
+ onFail: z.ZodOptional<z.ZodObject<{
205
+ retry: z.ZodString;
206
+ max: z.ZodDefault<z.ZodNumber>;
207
+ }, z.core.$strip>>;
208
+ }, z.core.$strip>>;
209
+ rationale: z.ZodString;
210
+ fallback: z.ZodBoolean;
211
+ }, z.core.$strip>;
212
+ export type PlanResponse = z.infer<typeof planResponseSchema>;