@wjarka/cezarion 0.15.1 → 0.16.0

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 (462) hide show
  1. package/README.md +167 -46
  2. package/dist/agent-config/catalog.d.ts +6 -2
  3. package/dist/agent-config/catalog.js +78 -3
  4. package/dist/agent-config/catalog.js.map +1 -1
  5. package/dist/agent-config/model-settings/shared.js +6 -3
  6. package/dist/agent-config/model-settings/shared.js.map +1 -1
  7. package/dist/agent-config/models.js +4 -0
  8. package/dist/agent-config/models.js.map +1 -1
  9. package/dist/agent-config/validate.js +6 -0
  10. package/dist/agent-config/validate.js.map +1 -1
  11. package/dist/artifacts/cli.js +10 -2
  12. package/dist/artifacts/cli.js.map +1 -1
  13. package/dist/automations/coordinator.d.ts +7 -0
  14. package/dist/automations/coordinator.js +22 -2
  15. package/dist/automations/coordinator.js.map +1 -1
  16. package/dist/automations/github-poller.d.ts +4 -4
  17. package/dist/automations/github-poller.js.map +1 -1
  18. package/dist/automations/schedule-runner.d.ts +130 -0
  19. package/dist/automations/schedule-runner.js +326 -0
  20. package/dist/automations/schedule-runner.js.map +1 -0
  21. package/dist/automations/scheduler.d.ts +38 -7
  22. package/dist/automations/scheduler.js +90 -22
  23. package/dist/automations/scheduler.js.map +1 -1
  24. package/dist/automations/store.d.ts +80 -3
  25. package/dist/automations/store.js +208 -16
  26. package/dist/automations/store.js.map +1 -1
  27. package/dist/automations/task-template.d.ts +42 -6
  28. package/dist/automations/task-template.js +152 -24
  29. package/dist/automations/task-template.js.map +1 -1
  30. package/dist/automations/types.d.ts +142 -6
  31. package/dist/automations/types.js +64 -6
  32. package/dist/automations/types.js.map +1 -1
  33. package/dist/autosave-holders.js +8 -12
  34. package/dist/autosave-holders.js.map +1 -1
  35. package/dist/ci-wait/client.d.ts +8 -1
  36. package/dist/ci-wait/client.js +43 -1
  37. package/dist/ci-wait/client.js.map +1 -1
  38. package/dist/ci-wait/controller.d.ts +83 -4
  39. package/dist/ci-wait/controller.js +76 -11
  40. package/dist/ci-wait/controller.js.map +1 -1
  41. package/dist/ci-wait/errors.d.ts +7 -1
  42. package/dist/ci-wait/errors.js +36 -0
  43. package/dist/ci-wait/errors.js.map +1 -1
  44. package/dist/ci-wait/github.d.ts +2 -0
  45. package/dist/ci-wait/github.js +3 -1
  46. package/dist/ci-wait/github.js.map +1 -1
  47. package/dist/ci-wait/mcp.d.ts +2 -98
  48. package/dist/ci-wait/mcp.js +11 -25
  49. package/dist/ci-wait/mcp.js.map +1 -1
  50. package/dist/ci-wait/supervisor.d.ts +2 -1
  51. package/dist/ci-wait/supervisor.js +2 -1
  52. package/dist/ci-wait/supervisor.js.map +1 -1
  53. package/dist/ci-wait/tools.d.ts +307 -0
  54. package/dist/ci-wait/tools.js +63 -0
  55. package/dist/ci-wait/tools.js.map +1 -0
  56. package/dist/config.d.ts +3 -0
  57. package/dist/config.js +7 -0
  58. package/dist/config.js.map +1 -1
  59. package/dist/contract/agent-config.d.ts +5 -0
  60. package/dist/contract/agent-profiles.d.ts +15 -0
  61. package/dist/contract/automation-schedule.d.ts +60 -0
  62. package/dist/contract/automations.d.ts +208 -36
  63. package/dist/contract/delegation.d.ts +96 -0
  64. package/dist/contract/discovery.d.ts +7 -0
  65. package/dist/contract/github.d.ts +1 -0
  66. package/dist/contract/health.d.ts +6 -0
  67. package/dist/contract/index.d.ts +3 -0
  68. package/dist/contract/index.js +1445 -745
  69. package/dist/contract/preview.d.ts +508 -0
  70. package/dist/contract/runs.d.ts +716 -15
  71. package/dist/contract/skills.d.ts +39 -0
  72. package/dist/contract/workflows.d.ts +6 -0
  73. package/dist/contract/workspace.d.ts +65 -0
  74. package/dist/contract/zoned-time.d.ts +35 -0
  75. package/dist/core/agent-env.d.ts +11 -0
  76. package/dist/core/agent-env.js +27 -5
  77. package/dist/core/agent-env.js.map +1 -1
  78. package/dist/core/agent-profiles.js +7 -0
  79. package/dist/core/agent-profiles.js.map +1 -1
  80. package/dist/core/agent-runner.d.ts +49 -1
  81. package/dist/core/agent-runner.js +2 -1
  82. package/dist/core/agent-runner.js.map +1 -1
  83. package/dist/core/backend-detect.d.ts +3 -2
  84. package/dist/core/backend-detect.js +27 -1
  85. package/dist/core/backend-detect.js.map +1 -1
  86. package/dist/core/claude-cli-runner.d.ts +1 -0
  87. package/dist/core/claude-cli-runner.js +69 -19
  88. package/dist/core/claude-cli-runner.js.map +1 -1
  89. package/dist/core/codex-app-server-runner.d.ts +1 -0
  90. package/dist/core/codex-app-server-runner.js +200 -25
  91. package/dist/core/codex-app-server-runner.js.map +1 -1
  92. package/dist/core/codex-app-server-transport.d.ts +7 -3
  93. package/dist/core/codex-app-server-transport.js +11 -9
  94. package/dist/core/codex-app-server-transport.js.map +1 -1
  95. package/dist/core/cursor-acp-runner.d.ts +1 -0
  96. package/dist/core/cursor-acp-runner.js +24 -9
  97. package/dist/core/cursor-acp-runner.js.map +1 -1
  98. package/dist/core/host-model-catalog.js +2 -0
  99. package/dist/core/host-model-catalog.js.map +1 -1
  100. package/dist/core/managed-session.js +2 -0
  101. package/dist/core/managed-session.js.map +1 -1
  102. package/dist/core/model-identity.js +2 -0
  103. package/dist/core/model-identity.js.map +1 -1
  104. package/dist/core/model-presets.js +3 -0
  105. package/dist/core/model-presets.js.map +1 -1
  106. package/dist/core/omp-model-catalog.d.ts +43 -0
  107. package/dist/core/omp-model-catalog.js +205 -0
  108. package/dist/core/omp-model-catalog.js.map +1 -0
  109. package/dist/core/omp-runner.d.ts +73 -0
  110. package/dist/core/omp-runner.js +990 -0
  111. package/dist/core/omp-runner.js.map +1 -0
  112. package/dist/core/omp-ui-mapper.d.ts +106 -0
  113. package/dist/core/omp-ui-mapper.js +882 -0
  114. package/dist/core/omp-ui-mapper.js.map +1 -0
  115. package/dist/core/opencode-server-runner.d.ts +18 -4
  116. package/dist/core/opencode-server-runner.js +337 -96
  117. package/dist/core/opencode-server-runner.js.map +1 -1
  118. package/dist/core/opencode-session-error.d.ts +11 -0
  119. package/dist/core/opencode-session-error.js +26 -0
  120. package/dist/core/opencode-session-error.js.map +1 -0
  121. package/dist/core/opencode-ui-mapper.js +4 -36
  122. package/dist/core/opencode-ui-mapper.js.map +1 -1
  123. package/dist/core/pi-runner.d.ts +1 -0
  124. package/dist/core/pi-runner.js +75 -12
  125. package/dist/core/pi-runner.js.map +1 -1
  126. package/dist/core/provider-auth.d.ts +9 -2
  127. package/dist/core/provider-auth.js +43 -6
  128. package/dist/core/provider-auth.js.map +1 -1
  129. package/dist/core/runner-factory.js +3 -0
  130. package/dist/core/runner-factory.js.map +1 -1
  131. package/dist/core/runner-model-catalog.js +1 -0
  132. package/dist/core/runner-model-catalog.js.map +1 -1
  133. package/dist/core/runner-stderr.d.ts +2 -0
  134. package/dist/core/runner-stderr.js +20 -0
  135. package/dist/core/runner-stderr.js.map +1 -0
  136. package/dist/core/session-process.d.ts +22 -0
  137. package/dist/core/session-process.js +202 -0
  138. package/dist/core/session-process.js.map +1 -0
  139. package/dist/core/ui-events.d.ts +1 -1
  140. package/dist/core/usage-limit.js +3 -60
  141. package/dist/core/usage-limit.js.map +1 -1
  142. package/dist/data-gitignore.d.ts +6 -0
  143. package/dist/data-gitignore.js +57 -0
  144. package/dist/data-gitignore.js.map +1 -0
  145. package/dist/delegation/capacity.d.ts +19 -0
  146. package/dist/delegation/capacity.js +34 -0
  147. package/dist/delegation/capacity.js.map +1 -0
  148. package/dist/delegation/cli.js +13 -4
  149. package/dist/delegation/cli.js.map +1 -1
  150. package/dist/delegation/conversations.d.ts +4 -2
  151. package/dist/delegation/conversations.js +8 -12
  152. package/dist/delegation/conversations.js.map +1 -1
  153. package/dist/delegation/credentials.d.ts +2 -0
  154. package/dist/delegation/credentials.js +10 -0
  155. package/dist/delegation/credentials.js.map +1 -1
  156. package/dist/delegation/destroy-observation.d.ts +42 -0
  157. package/dist/delegation/destroy-observation.js +115 -0
  158. package/dist/delegation/destroy-observation.js.map +1 -0
  159. package/dist/delegation/execution-identity.d.ts +6 -0
  160. package/dist/delegation/execution-identity.js +1 -1
  161. package/dist/delegation/execution-identity.js.map +1 -1
  162. package/dist/delegation/policy.d.ts +3 -2
  163. package/dist/delegation/policy.js +7 -5
  164. package/dist/delegation/policy.js.map +1 -1
  165. package/dist/delegation/process-liveness.d.ts +57 -20
  166. package/dist/delegation/process-liveness.js +114 -92
  167. package/dist/delegation/process-liveness.js.map +1 -1
  168. package/dist/delegation/provision.js +6 -6
  169. package/dist/delegation/provision.js.map +1 -1
  170. package/dist/delegation/results.js +4 -2
  171. package/dist/delegation/results.js.map +1 -1
  172. package/dist/delegation/retry-backoff.d.ts +23 -0
  173. package/dist/delegation/retry-backoff.js +18 -0
  174. package/dist/delegation/retry-backoff.js.map +1 -0
  175. package/dist/delegation/routes.d.ts +64 -58
  176. package/dist/delegation/scratch-cleanup.d.ts +29 -0
  177. package/dist/delegation/scratch-cleanup.js +143 -0
  178. package/dist/delegation/scratch-cleanup.js.map +1 -0
  179. package/dist/delegation/service.d.ts +20 -1
  180. package/dist/delegation/service.js +233 -70
  181. package/dist/delegation/service.js.map +1 -1
  182. package/dist/delegation/transport.d.ts +12 -6
  183. package/dist/delegation/workspace.d.ts +23 -4
  184. package/dist/delegation/workspace.js +147 -31
  185. package/dist/delegation/workspace.js.map +1 -1
  186. package/dist/git-worktree-lock-helper.js +8 -3
  187. package/dist/git-worktree-lock-helper.js.map +1 -1
  188. package/dist/git-worktree-lock.d.ts +6 -1
  189. package/dist/git-worktree-lock.js +10 -4
  190. package/dist/git-worktree-lock.js.map +1 -1
  191. package/dist/git-worktree-release.d.ts +20 -0
  192. package/dist/git-worktree-release.js +27 -0
  193. package/dist/git-worktree-release.js.map +1 -0
  194. package/dist/git-worktree.d.ts +8 -2
  195. package/dist/git-worktree.js +19 -2
  196. package/dist/git-worktree.js.map +1 -1
  197. package/dist/handoff.d.ts +2 -2
  198. package/dist/handoff.js +1 -1
  199. package/dist/index.js +109 -76
  200. package/dist/index.js.map +1 -1
  201. package/dist/paths.d.ts +1 -1
  202. package/dist/paths.js +5 -1
  203. package/dist/paths.js.map +1 -1
  204. package/dist/preview/cdp.d.ts +13 -0
  205. package/dist/preview/cdp.js +69 -0
  206. package/dist/preview/cdp.js.map +1 -0
  207. package/dist/preview/chromium.d.ts +75 -0
  208. package/dist/preview/chromium.js +394 -0
  209. package/dist/preview/chromium.js.map +1 -0
  210. package/dist/preview/dev-server.d.ts +68 -0
  211. package/dist/preview/dev-server.js +341 -0
  212. package/dist/preview/dev-server.js.map +1 -0
  213. package/dist/preview/host.d.ts +154 -0
  214. package/dist/preview/host.js +681 -0
  215. package/dist/preview/host.js.map +1 -0
  216. package/dist/preview/registration.d.ts +63 -0
  217. package/dist/preview/registration.js +109 -0
  218. package/dist/preview/registration.js.map +1 -0
  219. package/dist/preview/session.d.ts +73 -0
  220. package/dist/preview/session.js +347 -0
  221. package/dist/preview/session.js.map +1 -0
  222. package/dist/preview/url.d.ts +6 -0
  223. package/dist/preview/url.js +17 -0
  224. package/dist/preview/url.js.map +1 -0
  225. package/dist/runs/agent-tmpdir-removal.d.ts +15 -0
  226. package/dist/runs/agent-tmpdir-removal.js +60 -0
  227. package/dist/runs/agent-tmpdir-removal.js.map +1 -0
  228. package/dist/runs/agent-tmpdir.d.ts +12 -1
  229. package/dist/runs/agent-tmpdir.js +123 -34
  230. package/dist/runs/agent-tmpdir.js.map +1 -1
  231. package/dist/runs/delegation-state.d.ts +5 -1
  232. package/dist/runs/delegation-state.js +9 -0
  233. package/dist/runs/delegation-state.js.map +1 -1
  234. package/dist/runs/event-history.d.ts +4 -4
  235. package/dist/runs/event-history.js +97 -117
  236. package/dist/runs/event-history.js.map +1 -1
  237. package/dist/runs/history-compressor.d.ts +29 -0
  238. package/dist/runs/history-compressor.js +116 -0
  239. package/dist/runs/history-compressor.js.map +1 -0
  240. package/dist/runs/history-file.d.ts +36 -0
  241. package/dist/runs/history-file.js +463 -0
  242. package/dist/runs/history-file.js.map +1 -0
  243. package/dist/runs/human-ask-summary.js +18 -13
  244. package/dist/runs/human-ask-summary.js.map +1 -1
  245. package/dist/runs/legacy-index.d.ts +62 -0
  246. package/dist/runs/legacy-index.js +168 -0
  247. package/dist/runs/legacy-index.js.map +1 -0
  248. package/dist/runs/raw-record.d.ts +52 -0
  249. package/dist/runs/raw-record.js +145 -0
  250. package/dist/runs/raw-record.js.map +1 -0
  251. package/dist/runs/retention.d.ts +13 -6
  252. package/dist/runs/retention.js +42 -13
  253. package/dist/runs/retention.js.map +1 -1
  254. package/dist/runs/run-claims.d.ts +23 -0
  255. package/dist/runs/run-claims.js +24 -0
  256. package/dist/runs/run-claims.js.map +1 -0
  257. package/dist/runs/run-database.d.ts +385 -0
  258. package/dist/runs/run-database.js +930 -0
  259. package/dist/runs/run-database.js.map +1 -0
  260. package/dist/runs/run-index.d.ts +35 -9
  261. package/dist/runs/run-index.js +200 -25
  262. package/dist/runs/run-index.js.map +1 -1
  263. package/dist/runs/run-row.d.ts +44 -0
  264. package/dist/runs/run-row.js +84 -0
  265. package/dist/runs/run-row.js.map +1 -0
  266. package/dist/runs/run-search.d.ts +29 -0
  267. package/dist/runs/run-search.js +63 -0
  268. package/dist/runs/run-search.js.map +1 -0
  269. package/dist/runs/store-open-error.d.ts +24 -0
  270. package/dist/runs/store-open-error.js +61 -0
  271. package/dist/runs/store-open-error.js.map +1 -0
  272. package/dist/runs/store.d.ts +667 -32
  273. package/dist/runs/store.js +2153 -324
  274. package/dist/runs/store.js.map +1 -1
  275. package/dist/runs/transcript-facts.d.ts +77 -0
  276. package/dist/runs/transcript-facts.js +302 -0
  277. package/dist/runs/transcript-facts.js.map +1 -0
  278. package/dist/runs/webhook.js +5 -4
  279. package/dist/runs/webhook.js.map +1 -1
  280. package/dist/runs/worker-execution.d.ts +22 -0
  281. package/dist/runs/worker-execution.js +30 -0
  282. package/dist/runs/worker-execution.js.map +1 -0
  283. package/dist/server/capabilities.d.ts +1 -0
  284. package/dist/server/capabilities.js +2 -0
  285. package/dist/server/capabilities.js.map +1 -1
  286. package/dist/server/cockpit-ownership.d.ts +8 -0
  287. package/dist/server/cockpit-ownership.js +19 -0
  288. package/dist/server/cockpit-ownership.js.map +1 -1
  289. package/dist/server/forge/github.d.ts +1 -4
  290. package/dist/server/forge/github.js +47 -23
  291. package/dist/server/forge/github.js.map +1 -1
  292. package/dist/server/git.js +1 -1
  293. package/dist/server/git.js.map +1 -1
  294. package/dist/server/open-in-app.js +1 -0
  295. package/dist/server/open-in-app.js.map +1 -1
  296. package/dist/server/preview-socket.d.ts +36 -0
  297. package/dist/server/preview-socket.js +126 -0
  298. package/dist/server/preview-socket.js.map +1 -0
  299. package/dist/server/project-context.d.ts +31 -4
  300. package/dist/server/project-context.js +73 -9
  301. package/dist/server/project-context.js.map +1 -1
  302. package/dist/server/provider-action-gate.js +1 -0
  303. package/dist/server/provider-action-gate.js.map +1 -1
  304. package/dist/server/repo-branches.d.ts +4 -3
  305. package/dist/server/repo-branches.js +5 -4
  306. package/dist/server/repo-branches.js.map +1 -1
  307. package/dist/server/server.d.ts +4500 -2727
  308. package/dist/server/server.js +651 -202
  309. package/dist/server/server.js.map +1 -1
  310. package/dist/server/upgrade-router.d.ts +23 -0
  311. package/dist/server/upgrade-router.js +53 -0
  312. package/dist/server/upgrade-router.js.map +1 -0
  313. package/dist/server/validators.d.ts +6 -1
  314. package/dist/server/validators.js +4 -4
  315. package/dist/server/validators.js.map +1 -1
  316. package/dist/server/ws.d.ts +16 -16
  317. package/dist/server/ws.js +56 -54
  318. package/dist/server/ws.js.map +1 -1
  319. package/dist/skills-remote.d.ts +14 -0
  320. package/dist/skills-remote.js +91 -15
  321. package/dist/skills-remote.js.map +1 -1
  322. package/dist/task-cli/cli.js +40 -16
  323. package/dist/task-cli/cli.js.map +1 -1
  324. package/dist/task-cli/discovery.d.ts +4 -3
  325. package/dist/task-cli/discovery.js +4 -3
  326. package/dist/task-cli/discovery.js.map +1 -1
  327. package/dist/task-cli/http.d.ts +2 -0
  328. package/dist/task-cli/http.js +10 -4
  329. package/dist/task-cli/http.js.map +1 -1
  330. package/dist/task-cli/projections.d.ts +5 -2
  331. package/dist/task-cli/projections.js +13 -0
  332. package/dist/task-cli/projections.js.map +1 -1
  333. package/dist/task-cli/watch.d.ts +15 -2
  334. package/dist/task-cli/watch.js +31 -9
  335. package/dist/task-cli/watch.js.map +1 -1
  336. package/dist/ui-state.d.ts +4 -3
  337. package/dist/ui-state.js +8 -3
  338. package/dist/ui-state.js.map +1 -1
  339. package/dist/workflows/grouped-command.d.ts +31 -0
  340. package/dist/workflows/grouped-command.js +143 -0
  341. package/dist/workflows/grouped-command.js.map +1 -0
  342. package/dist/workflows/run.d.ts +223 -42
  343. package/dist/workflows/run.js +1316 -398
  344. package/dist/workflows/run.js.map +1 -1
  345. package/dist/workflows/types.d.ts +12 -0
  346. package/dist/workflows/types.js +20 -0
  347. package/dist/workflows/types.js.map +1 -1
  348. package/dist/workspace/agent-accounts.d.ts +5 -1
  349. package/dist/workspace/agent-accounts.js +1 -0
  350. package/dist/workspace/agent-accounts.js.map +1 -1
  351. package/dist/workspace/agent-profiles.js +1 -1
  352. package/dist/workspace/agent-profiles.js.map +1 -1
  353. package/dist/workspace/config.d.ts +3 -1
  354. package/dist/workspace/config.js +1 -0
  355. package/dist/workspace/config.js.map +1 -1
  356. package/dist/worktree-setup.d.ts +85 -0
  357. package/dist/worktree-setup.js +164 -0
  358. package/dist/worktree-setup.js.map +1 -0
  359. package/package.json +7 -5
  360. package/scripts/benchmark-run-store-fixture.ts +428 -0
  361. package/scripts/benchmark-run-store.ts +743 -0
  362. package/scripts/benchmark-stuck-destroys.ts +143 -0
  363. package/scripts/mock-autonomous.mjs +11 -0
  364. package/scripts/mock-ci-tool.mjs +20 -5
  365. package/scripts/mock-claude.mjs +110 -1
  366. package/scripts/mock-codex-app-server.mjs +117 -2
  367. package/scripts/mock-codex-coalesce-steer.mjs +59 -0
  368. package/scripts/mock-codex-reverse-steer.mjs +130 -0
  369. package/scripts/mock-cursor-acp.mjs +75 -1
  370. package/scripts/mock-omp-rpc.mjs +605 -0
  371. package/scripts/mock-opencode-serve.mjs +312 -22
  372. package/scripts/mock-pi-rpc.mjs +109 -3
  373. package/scripts/mock-runner-crash.mjs +42 -0
  374. package/scripts/mock-silent-tail.mjs +78 -0
  375. package/scripts/mock-turn-messages.mjs +5 -0
  376. package/scripts/omp-ci-wait.mjs +29 -0
  377. package/scripts/omp-restrict-delegation.yml +4 -0
  378. package/scripts/pi-ci-wait.mjs +12 -9
  379. package/scripts/seed-archive-profile.ts +3 -3
  380. package/web/dist/assets/agent-accounts-CFOBMVHc.js +1 -0
  381. package/web/dist/assets/alert-dialog-BrpNUwMt.js +1 -0
  382. package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
  383. package/web/dist/assets/button-C_rd7CPp.js +43 -0
  384. package/web/dist/assets/compare-variants-D6WXhvXA.js +1 -0
  385. package/web/dist/assets/diff-DrEARXTV.js +3 -0
  386. package/web/dist/assets/diff-controls-B1-j7nFg.js +1 -0
  387. package/web/dist/assets/{diff-view-DPn6bQ5W.js → diff-view-DvGLjdTk.js} +3 -3
  388. package/web/dist/assets/dropdown-menu-BegOZFrj.js +1 -0
  389. package/web/dist/assets/format-DpNe3S0A.js +1 -0
  390. package/web/dist/assets/git-toolbar-Cw4ljmhB.js +1 -0
  391. package/web/dist/assets/github-CfV5sqL0.js +1 -0
  392. package/web/dist/assets/{image-preview-DJ8cgb1Z.js → image-preview-FOEfqpZP.js} +1 -1
  393. package/web/dist/assets/index-DgWWlOLy.js +13 -0
  394. package/web/dist/assets/index-fBFnuvxu.css +1 -0
  395. package/web/dist/assets/{nav-row-styles-3j64kH5s.js → nav-row-styles-vp2JbhuJ.js} +1 -1
  396. package/web/dist/assets/play-CmVAj_fu.js +1 -0
  397. package/web/dist/assets/popover-BohP6WTx.js +1 -0
  398. package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +3 -0
  399. package/web/dist/assets/preview-state-vuMviq6q.js +1 -0
  400. package/web/dist/assets/prompt-templates-Cubdut_C.js +15 -0
  401. package/web/dist/assets/repo-git-Cf4t5PD0.js +1 -0
  402. package/web/dist/assets/{run-diff-5-RRdcVz.js → run-diff-BpkUW37Z.js} +3 -3
  403. package/web/dist/assets/run-header-68WHf9wV.js +1 -0
  404. package/web/dist/assets/skills-DiVIgKeU.js +1 -0
  405. package/web/dist/assets/square-terminal-B6RYYieR.js +1 -0
  406. package/web/dist/assets/status-dot-CqTJHSP9.js +1 -0
  407. package/web/dist/assets/{tab-link-K0hjzEXR.js → tab-link-B07Hu4QX.js} +1 -1
  408. package/web/dist/assets/task-changes--lQF6EYf.js +1 -0
  409. package/web/dist/assets/task-commits-Cx0qy4DN.js +1 -0
  410. package/web/dist/assets/task-files-D50s-gKW.js +2 -0
  411. package/web/dist/assets/task-github-item-DaqmSwYT.js +1 -0
  412. package/web/dist/assets/task-thread-BPQ64lui.js +7 -0
  413. package/web/dist/assets/{task-thread-Bw_nQuTx.css → task-thread-zNE2Q9E-.css} +1 -1
  414. package/web/dist/assets/textarea-D20O4Pw0.js +1 -0
  415. package/web/dist/assets/thread-state-DWcFMrvb.js +4 -0
  416. package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +1 -0
  417. package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +1 -0
  418. package/web/dist/assets/{utils-fzNfbPzA.js → utils-JsL3ZsJf.js} +1 -1
  419. package/web/dist/assets/workflows-jwG7uxqi.js +11 -0
  420. package/web/dist/assets/{zoomable-image-CDmZ_Rtl.js → zoomable-image-BJJ64KGc.js} +1 -1
  421. package/web/dist/cezarion-lockup-dark.svg +1 -13
  422. package/web/dist/cezarion-lockup-light.svg +1 -13
  423. package/web/dist/cezarion-mark-dark.svg +1 -12
  424. package/web/dist/cezarion-mark-light.svg +1 -12
  425. package/web/dist/index.html +16 -21
  426. package/web/dist/assets/agent-accounts-CU2ZDv24.js +0 -1
  427. package/web/dist/assets/alert-dialog-C-xYE_dg.js +0 -43
  428. package/web/dist/assets/chevron-right-BENZ-1ZN.js +0 -1
  429. package/web/dist/assets/collapsible-DD9J91Iv.js +0 -1
  430. package/web/dist/assets/compare-variants-5FmqpFSN.js +0 -1
  431. package/web/dist/assets/diff-controls-Bj0YrioE.js +0 -1
  432. package/web/dist/assets/diff-rE8rm75J2.js +0 -3
  433. package/web/dist/assets/diff-stat-BKDCSVfJ.js +0 -1
  434. package/web/dist/assets/dropdown-menu-Ch5BYQh_.js +0 -1
  435. package/web/dist/assets/format-dBiNDNVe.js +0 -1
  436. package/web/dist/assets/git-toolbar-ClVvf5iF.js +0 -1
  437. package/web/dist/assets/github-BkNOyour.css +0 -1
  438. package/web/dist/assets/github-DeZMeMwJ.js +0 -1
  439. package/web/dist/assets/github-item-detail-W5F6GVjF.js +0 -1
  440. package/web/dist/assets/github-sidebar-model-DcMu-IK2.js +0 -1
  441. package/web/dist/assets/highlighter-CdHqIwFr.js +0 -3
  442. package/web/dist/assets/index-CatemBEL.js +0 -8
  443. package/web/dist/assets/index-MvfD8bZJ.css +0 -1
  444. package/web/dist/assets/markdown-zdKeLIYA.js +0 -2
  445. package/web/dist/assets/mobile-run-bar-BCfmFi8V.js +0 -1
  446. package/web/dist/assets/prompt-templates-CBPp39IU.js +0 -15
  447. package/web/dist/assets/reference-chip-D6owncJT.js +0 -1
  448. package/web/dist/assets/repo-git-CtdkZFey.js +0 -1
  449. package/web/dist/assets/run-header-BcjoDi0W.js +0 -1
  450. package/web/dist/assets/sheet-ChnYVrp1.js +0 -1
  451. package/web/dist/assets/skills-C8YKp2vr.js +0 -1
  452. package/web/dist/assets/task-changes-BW8YdWG8.js +0 -1
  453. package/web/dist/assets/task-commits-q2kB2y6L.js +0 -1
  454. package/web/dist/assets/task-files-pPL6_3Cr.js +0 -2
  455. package/web/dist/assets/task-github-item-BXF5R52U.js +0 -1
  456. package/web/dist/assets/task-thread-DtkFL3EC.js +0 -10
  457. package/web/dist/assets/textarea-DxlkE-Yd.js +0 -1
  458. package/web/dist/assets/token-metrics-DIAjrPlM.js +0 -1
  459. package/web/dist/assets/use-desktop-CrDny2uG.js +0 -1
  460. package/web/dist/assets/use-submit-shortcut-KWJsC906.js +0 -1
  461. package/web/dist/assets/workflows-TmcPEj2K.js +0 -11
  462. /package/web/dist/assets/{lib-BQXq3kEf2.js → lib-BQXq3kEf.js} +0 -0
@@ -0,0 +1,307 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The one list of cezar tools (#781). The MCP adapter lists it, Pi's extension registers it, and
4
+ * every allow-list or admission site reads its names, so adding a tool is one edit here.
5
+ */
6
+ type ToolResult = {
7
+ content: Array<{
8
+ type: 'text';
9
+ text: string;
10
+ }>;
11
+ isError?: boolean;
12
+ details: unknown;
13
+ };
14
+ export type CezarTool = {
15
+ definition: {
16
+ name: string;
17
+ description: string;
18
+ inputSchema: {
19
+ type: 'object';
20
+ properties?: Record<string, unknown>;
21
+ [key: string]: unknown;
22
+ };
23
+ };
24
+ /** #497: deferred-tool harnesses show a bare name, so the server instructions carry this line. */
25
+ trigger: string;
26
+ /** Pi's tool label. */
27
+ label: string;
28
+ invoke(input: unknown): Promise<ToolResult>;
29
+ };
30
+ /** Live preview is on under the exact value `1` only (spec 2026-10-02-live-preview-v1). */
31
+ export declare function previewToolEnabled(env?: NodeJS.ProcessEnv): boolean;
32
+ export declare const ciToolDefinition: {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: {
36
+ $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
37
+ $id?: string;
38
+ $anchor?: string;
39
+ $ref?: string;
40
+ $dynamicRef?: string;
41
+ $dynamicAnchor?: string;
42
+ $vocabulary?: Record<string, boolean>;
43
+ $comment?: string;
44
+ $defs?: Record<string, z.core.JSONSchema.JSONSchema>;
45
+ additionalItems?: z.core.JSONSchema._JSONSchema;
46
+ unevaluatedItems?: z.core.JSONSchema._JSONSchema;
47
+ prefixItems?: z.core.JSONSchema._JSONSchema[];
48
+ items?: z.core.JSONSchema._JSONSchema | z.core.JSONSchema._JSONSchema[];
49
+ contains?: z.core.JSONSchema._JSONSchema;
50
+ additionalProperties?: z.core.JSONSchema._JSONSchema;
51
+ unevaluatedProperties?: z.core.JSONSchema._JSONSchema;
52
+ properties?: Record<string, z.core.JSONSchema._JSONSchema>;
53
+ patternProperties?: Record<string, z.core.JSONSchema._JSONSchema>;
54
+ dependentSchemas?: Record<string, z.core.JSONSchema._JSONSchema>;
55
+ propertyNames?: z.core.JSONSchema._JSONSchema;
56
+ if?: z.core.JSONSchema._JSONSchema;
57
+ then?: z.core.JSONSchema._JSONSchema;
58
+ else?: z.core.JSONSchema._JSONSchema;
59
+ allOf?: z.core.JSONSchema.JSONSchema[];
60
+ anyOf?: z.core.JSONSchema.JSONSchema[];
61
+ oneOf?: z.core.JSONSchema.JSONSchema[];
62
+ not?: z.core.JSONSchema._JSONSchema;
63
+ multipleOf?: number;
64
+ maximum?: number;
65
+ exclusiveMaximum?: number | boolean;
66
+ minimum?: number;
67
+ exclusiveMinimum?: number | boolean;
68
+ maxLength?: number;
69
+ minLength?: number;
70
+ pattern?: string;
71
+ maxItems?: number;
72
+ minItems?: number;
73
+ uniqueItems?: boolean;
74
+ maxContains?: number;
75
+ minContains?: number;
76
+ maxProperties?: number;
77
+ minProperties?: number;
78
+ required?: string[];
79
+ dependentRequired?: Record<string, string[]>;
80
+ enum?: Array<string | number | boolean | null>;
81
+ const?: string | number | boolean | null;
82
+ id?: string;
83
+ title?: string;
84
+ description?: string;
85
+ default?: unknown;
86
+ deprecated?: boolean;
87
+ readOnly?: boolean;
88
+ writeOnly?: boolean;
89
+ nullable?: boolean;
90
+ examples?: unknown[];
91
+ format?: string;
92
+ contentMediaType?: string;
93
+ contentEncoding?: string;
94
+ contentSchema?: z.core.JSONSchema.JSONSchema;
95
+ _prefault?: unknown;
96
+ "~standard": z.core.ZodStandardSchemaWithJSON<z.ZodObject<{
97
+ pr: z.ZodString;
98
+ timeout_seconds: z.ZodDefault<z.ZodNumber>;
99
+ }, z.core.$strict>>;
100
+ type: 'object';
101
+ };
102
+ };
103
+ export declare function invokeCiTool(input: unknown): Promise<{
104
+ content: {
105
+ type: 'text';
106
+ text: string;
107
+ }[];
108
+ details: {
109
+ prUrl: string;
110
+ repository: string;
111
+ prNumber: number;
112
+ headSha: string;
113
+ waitId: string;
114
+ registeredAt: string;
115
+ deadline: string;
116
+ phase: "delivered" | "parked" | "registered" | "wake-pending" | "withdrawn";
117
+ };
118
+ isError?: undefined;
119
+ } | {
120
+ isError: boolean;
121
+ content: {
122
+ type: 'text';
123
+ text: string;
124
+ }[];
125
+ details: {};
126
+ }>;
127
+ export declare const previewToolDefinition: {
128
+ name: string;
129
+ description: string;
130
+ inputSchema: {
131
+ $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
132
+ $id?: string;
133
+ $anchor?: string;
134
+ $ref?: string;
135
+ $dynamicRef?: string;
136
+ $dynamicAnchor?: string;
137
+ $vocabulary?: Record<string, boolean>;
138
+ $comment?: string;
139
+ $defs?: Record<string, z.core.JSONSchema.JSONSchema>;
140
+ additionalItems?: z.core.JSONSchema._JSONSchema;
141
+ unevaluatedItems?: z.core.JSONSchema._JSONSchema;
142
+ prefixItems?: z.core.JSONSchema._JSONSchema[];
143
+ items?: z.core.JSONSchema._JSONSchema | z.core.JSONSchema._JSONSchema[];
144
+ contains?: z.core.JSONSchema._JSONSchema;
145
+ additionalProperties?: z.core.JSONSchema._JSONSchema;
146
+ unevaluatedProperties?: z.core.JSONSchema._JSONSchema;
147
+ properties?: Record<string, z.core.JSONSchema._JSONSchema>;
148
+ patternProperties?: Record<string, z.core.JSONSchema._JSONSchema>;
149
+ dependentSchemas?: Record<string, z.core.JSONSchema._JSONSchema>;
150
+ propertyNames?: z.core.JSONSchema._JSONSchema;
151
+ if?: z.core.JSONSchema._JSONSchema;
152
+ then?: z.core.JSONSchema._JSONSchema;
153
+ else?: z.core.JSONSchema._JSONSchema;
154
+ allOf?: z.core.JSONSchema.JSONSchema[];
155
+ anyOf?: z.core.JSONSchema.JSONSchema[];
156
+ oneOf?: z.core.JSONSchema.JSONSchema[];
157
+ not?: z.core.JSONSchema._JSONSchema;
158
+ multipleOf?: number;
159
+ maximum?: number;
160
+ exclusiveMaximum?: number | boolean;
161
+ minimum?: number;
162
+ exclusiveMinimum?: number | boolean;
163
+ maxLength?: number;
164
+ minLength?: number;
165
+ pattern?: string;
166
+ maxItems?: number;
167
+ minItems?: number;
168
+ uniqueItems?: boolean;
169
+ maxContains?: number;
170
+ minContains?: number;
171
+ maxProperties?: number;
172
+ minProperties?: number;
173
+ required?: string[];
174
+ dependentRequired?: Record<string, string[]>;
175
+ enum?: Array<string | number | boolean | null>;
176
+ const?: string | number | boolean | null;
177
+ id?: string;
178
+ title?: string;
179
+ description?: string;
180
+ default?: unknown;
181
+ deprecated?: boolean;
182
+ readOnly?: boolean;
183
+ writeOnly?: boolean;
184
+ nullable?: boolean;
185
+ examples?: unknown[];
186
+ format?: string;
187
+ contentMediaType?: string;
188
+ contentEncoding?: string;
189
+ contentSchema?: z.core.JSONSchema.JSONSchema;
190
+ _prefault?: unknown;
191
+ "~standard": z.core.ZodStandardSchemaWithJSON<z.ZodObject<{
192
+ command: z.ZodString;
193
+ port: z.ZodNumber;
194
+ cwd: z.ZodOptional<z.ZodString>;
195
+ label: z.ZodOptional<z.ZodString>;
196
+ path: z.ZodOptional<z.ZodString>;
197
+ }, z.core.$strip>>;
198
+ type: 'object';
199
+ };
200
+ };
201
+ /** JSON first, then the hint as a plain sentence: the shape `cezar_wait_for_ci` answers in. */
202
+ export declare function invokePreviewTool(input: unknown): Promise<{
203
+ content: {
204
+ type: 'text';
205
+ text: string;
206
+ }[];
207
+ isError: boolean;
208
+ details: {
209
+ ok: boolean;
210
+ code: "cezar_port" | "cwd_outside_worktree" | "headless" | "invalid_input" | "port_held" | "preview_disabled" | "registered" | "replaced" | "too_many" | "unavailable" | "worktree_missing";
211
+ message: string;
212
+ hint: string;
213
+ };
214
+ }>;
215
+ export declare const previewStopToolDefinition: {
216
+ name: string;
217
+ description: string;
218
+ inputSchema: {
219
+ $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
220
+ $id?: string;
221
+ $anchor?: string;
222
+ $ref?: string;
223
+ $dynamicRef?: string;
224
+ $dynamicAnchor?: string;
225
+ $vocabulary?: Record<string, boolean>;
226
+ $comment?: string;
227
+ $defs?: Record<string, z.core.JSONSchema.JSONSchema>;
228
+ additionalItems?: z.core.JSONSchema._JSONSchema;
229
+ unevaluatedItems?: z.core.JSONSchema._JSONSchema;
230
+ prefixItems?: z.core.JSONSchema._JSONSchema[];
231
+ items?: z.core.JSONSchema._JSONSchema | z.core.JSONSchema._JSONSchema[];
232
+ contains?: z.core.JSONSchema._JSONSchema;
233
+ additionalProperties?: z.core.JSONSchema._JSONSchema;
234
+ unevaluatedProperties?: z.core.JSONSchema._JSONSchema;
235
+ properties?: Record<string, z.core.JSONSchema._JSONSchema>;
236
+ patternProperties?: Record<string, z.core.JSONSchema._JSONSchema>;
237
+ dependentSchemas?: Record<string, z.core.JSONSchema._JSONSchema>;
238
+ propertyNames?: z.core.JSONSchema._JSONSchema;
239
+ if?: z.core.JSONSchema._JSONSchema;
240
+ then?: z.core.JSONSchema._JSONSchema;
241
+ else?: z.core.JSONSchema._JSONSchema;
242
+ allOf?: z.core.JSONSchema.JSONSchema[];
243
+ anyOf?: z.core.JSONSchema.JSONSchema[];
244
+ oneOf?: z.core.JSONSchema.JSONSchema[];
245
+ not?: z.core.JSONSchema._JSONSchema;
246
+ multipleOf?: number;
247
+ maximum?: number;
248
+ exclusiveMaximum?: number | boolean;
249
+ minimum?: number;
250
+ exclusiveMinimum?: number | boolean;
251
+ maxLength?: number;
252
+ minLength?: number;
253
+ pattern?: string;
254
+ maxItems?: number;
255
+ minItems?: number;
256
+ uniqueItems?: boolean;
257
+ maxContains?: number;
258
+ minContains?: number;
259
+ maxProperties?: number;
260
+ minProperties?: number;
261
+ required?: string[];
262
+ dependentRequired?: Record<string, string[]>;
263
+ enum?: Array<string | number | boolean | null>;
264
+ const?: string | number | boolean | null;
265
+ id?: string;
266
+ title?: string;
267
+ description?: string;
268
+ default?: unknown;
269
+ deprecated?: boolean;
270
+ readOnly?: boolean;
271
+ writeOnly?: boolean;
272
+ nullable?: boolean;
273
+ examples?: unknown[];
274
+ format?: string;
275
+ contentMediaType?: string;
276
+ contentEncoding?: string;
277
+ contentSchema?: z.core.JSONSchema.JSONSchema;
278
+ _prefault?: unknown;
279
+ "~standard": z.core.ZodStandardSchemaWithJSON<z.ZodObject<{
280
+ port: z.ZodNumber;
281
+ restart: z.ZodOptional<z.ZodBoolean>;
282
+ }, z.core.$strict>>;
283
+ type: 'object';
284
+ };
285
+ };
286
+ export declare function invokePreviewStopTool(input: unknown): Promise<{
287
+ content: {
288
+ type: 'text';
289
+ text: string;
290
+ }[];
291
+ isError: boolean;
292
+ details: {
293
+ ok: boolean;
294
+ code: "adopted" | "approval_required" | "headless" | "invalid_input" | "not_registered" | "port_held" | "port_in_use" | "preview_disabled" | "restarted" | "stopped" | "unavailable" | "worktree_missing";
295
+ message: string;
296
+ hint: string;
297
+ };
298
+ }>;
299
+ export declare function cezarTools(env?: NodeJS.ProcessEnv): CezarTool[];
300
+ export declare function cezarToolNames(env?: NodeJS.ProcessEnv): string[];
301
+ /**
302
+ * Env names a harness must forward to the adapter process. Several harnesses spawn MCP servers
303
+ * from an allowlist, so the preview opt-in rides along explicitly or the adapter never sees it.
304
+ */
305
+ export declare function cezarToolEnvNames(env?: NodeJS.ProcessEnv): string[];
306
+ export declare function cezarServerInstructions(env?: NodeJS.ProcessEnv): string;
307
+ export {};
@@ -0,0 +1,63 @@
1
+ import { ciWaitRequestSchema, previewStopRequestSchema, previewServeRequestSchema } from '../contract/index.js';
2
+ import { z } from 'zod';
3
+ import { callCiWait, callPreviewServe, callPreviewStop } from './client.js';
4
+ /** Live preview is on under the exact value `1` only (spec 2026-10-02-live-preview-v1). */
5
+ export function previewToolEnabled(env = process.env) {
6
+ return env.CEZ_PREVIEW === '1';
7
+ }
8
+ export const ciToolDefinition = {
9
+ name: 'cezar_wait_for_ci',
10
+ description: 'Register a bounded CI wait for a GitHub pull request. End your turn after registration; Cezar resumes you with an observation. No marker is needed. Passing reported checks does not prove all expected workflows appeared and is not merge approval.',
11
+ inputSchema: { ...z.toJSONSchema(ciWaitRequestSchema, { io: 'input' }), type: 'object' },
12
+ };
13
+ export async function invokeCiTool(input) {
14
+ try {
15
+ const receipt = await callCiWait(input);
16
+ return { content: [{ type: 'text', text: `${JSON.stringify(receipt)}\nRegistered. Please end your turn to wait; no marker is needed. This observation is not merge approval.` }], details: receipt };
17
+ }
18
+ catch (error) {
19
+ return { isError: true, content: [{ type: 'text', text: error instanceof Error ? error.message : 'CI tool unavailable' }], details: {} };
20
+ }
21
+ }
22
+ export const previewToolDefinition = {
23
+ name: 'cezar_preview_serve',
24
+ description: 'Register a web dev server of this task so the user can click through it in the cockpit\'s live preview. Always pin the port (`vite --strictPort`, `next dev -p`) so the server comes up on the port you register. Cezar starts the command itself when the user opens the preview; do not wait for the user.',
25
+ inputSchema: { ...z.toJSONSchema(previewServeRequestSchema, { io: 'input' }), type: 'object' },
26
+ };
27
+ /** JSON first, then the hint as a plain sentence: the shape `cezar_wait_for_ci` answers in. */
28
+ export async function invokePreviewTool(input) {
29
+ const result = await callPreviewServe(input);
30
+ return { content: [{ type: 'text', text: `${JSON.stringify(result)}\n${result.hint}` }], isError: !result.ok, details: result };
31
+ }
32
+ export const previewStopToolDefinition = {
33
+ name: 'cezar_preview_stop',
34
+ description: 'Stop a preview server Cezar started for your own task. Set restart to true to reuse the unchanged command the owner approved, including after a crash. Adopted servers cannot be stopped; changed registrations need the owner to press Run and open again.',
35
+ inputSchema: { ...z.toJSONSchema(previewStopRequestSchema, { io: 'input' }), type: 'object' },
36
+ };
37
+ export async function invokePreviewStopTool(input) {
38
+ const result = await callPreviewStop(input);
39
+ return { content: [{ type: 'text', text: `${JSON.stringify(result)}\n${result.hint}` }], isError: !result.ok, details: result };
40
+ }
41
+ const PREVIEW_STOP_TOOL = { definition: previewStopToolDefinition, trigger: 'load when your Cezar-started preview server needs stopping or restarting.', label: 'Stop live preview', invoke: invokePreviewStopTool };
42
+ const CI_TOOL = { definition: ciToolDefinition, trigger: 'load when opening or updating a PR you want to watch CI on.', label: 'Wait for CI', invoke: invokeCiTool };
43
+ const PREVIEW_TOOL = { definition: previewToolDefinition, trigger: 'load when you have started, or are about to start, a web server the user should click through.', label: 'Live preview', invoke: invokePreviewTool };
44
+ export function cezarTools(env = process.env) {
45
+ return previewToolEnabled(env) ? [CI_TOOL, PREVIEW_TOOL, PREVIEW_STOP_TOOL] : [CI_TOOL];
46
+ }
47
+ export function cezarToolNames(env = process.env) {
48
+ return cezarTools(env).map(tool => tool.definition.name);
49
+ }
50
+ /**
51
+ * Env names a harness must forward to the adapter process. Several harnesses spawn MCP servers
52
+ * from an allowlist, so the preview opt-in rides along explicitly or the adapter never sees it.
53
+ */
54
+ export function cezarToolEnvNames(env = process.env) {
55
+ return ['CEZ_TOOL_TOKEN', 'CEZ_TOOL_SOCKET', ...(previewToolEnabled(env) ? ['CEZ_PREVIEW'] : [])];
56
+ }
57
+ export function cezarServerInstructions(env = process.env) {
58
+ return [
59
+ 'The interface to Cezarion, the orchestrator running this session. Load a tool below when its situation comes up.',
60
+ ...cezarTools(env).map(tool => `- ${tool.definition.name}: ${tool.trigger}`),
61
+ ].join('\n');
62
+ }
63
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/ci-wait/tools.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -25,6 +25,7 @@ declare const configSchema: z.ZodObject<{
25
25
  claude: "claude";
26
26
  codex: "codex";
27
27
  cursor: "cursor";
28
+ omp: "omp";
28
29
  opencode: "opencode";
29
30
  pi: "pi";
30
31
  }>>;
@@ -40,8 +41,10 @@ declare const configSchema: z.ZodObject<{
40
41
  opencode: z.ZodOptional<z.ZodString>;
41
42
  pi: z.ZodOptional<z.ZodString>;
42
43
  cursor: z.ZodOptional<z.ZodString>;
44
+ omp: z.ZodOptional<z.ZodString>;
43
45
  }, z.core.$strip>>>;
44
46
  modelsLocked: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
47
+ worktreeSetup: z.ZodOptional<z.ZodUnknown>;
45
48
  }, z.core.$strip>;
46
49
  export type CezConfig = z.infer<typeof configSchema>;
47
50
  /**
package/dist/config.js CHANGED
@@ -105,6 +105,7 @@ const configSchema = z.object({
105
105
  opencode: z.string().trim().min(1).max(200).optional(),
106
106
  pi: z.string().trim().min(1).max(200).optional(),
107
107
  cursor: z.string().trim().min(1).max(200).optional(),
108
+ omp: z.string().trim().min(1).max(200).optional(),
108
109
  })
109
110
  .optional()
110
111
  .catch(undefined),
@@ -114,6 +115,12 @@ const configSchema = z.object({
114
115
  * false preserves the ordinary per-runner model selector.
115
116
  */
116
117
  modelsLocked: z.boolean().optional().catch(undefined),
118
+ /**
119
+ * Commands that prepare a new task or worker worktree (#917). Deliberately `unknown` here:
120
+ * `resolveWorktreeSetup` (`worktree-setup.ts`) judges it, so an invalid value is reported to the
121
+ * run instead of resetting this whole file to defaults or being dropped without a word.
122
+ */
123
+ worktreeSetup: z.unknown().optional(),
117
124
  });
118
125
  /**
119
126
  * Fold the machine-wide agent defaults under a repo's own config (spec 2026-07-29-agent-profiles).
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare const agentConfigFormatSchema: z.ZodEnum<{
8
8
  jsonc: "jsonc";
9
9
  markdown: "markdown";
10
10
  toml: "toml";
11
+ yaml: "yaml";
11
12
  }>;
12
13
  export type AgentConfigFormat = z.infer<typeof agentConfigFormatSchema>;
13
14
  export declare const agentConfigScopeSchema: z.ZodEnum<{
@@ -37,6 +38,7 @@ export declare const agentConfigFileSchema: z.ZodObject<{
37
38
  claude: "claude";
38
39
  codex: "codex";
39
40
  cursor: "cursor";
41
+ omp: "omp";
40
42
  opencode: "opencode";
41
43
  pi: "pi";
42
44
  }>>;
@@ -57,6 +59,7 @@ export declare const agentConfigFileSchema: z.ZodObject<{
57
59
  jsonc: "jsonc";
58
60
  markdown: "markdown";
59
61
  toml: "toml";
62
+ yaml: "yaml";
60
63
  }>;
61
64
  tracked: z.ZodEnum<{
62
65
  gitignored: "gitignored";
@@ -91,6 +94,7 @@ export declare const agentConfigListingSchema: z.ZodObject<{
91
94
  claude: "claude";
92
95
  codex: "codex";
93
96
  cursor: "cursor";
97
+ omp: "omp";
94
98
  opencode: "opencode";
95
99
  pi: "pi";
96
100
  }>>;
@@ -111,6 +115,7 @@ export declare const agentConfigListingSchema: z.ZodObject<{
111
115
  jsonc: "jsonc";
112
116
  markdown: "markdown";
113
117
  toml: "toml";
118
+ yaml: "yaml";
114
119
  }>;
115
120
  tracked: z.ZodEnum<{
116
121
  gitignored: "gitignored";
@@ -49,6 +49,7 @@ export declare const agentProfileSchema: z.ZodObject<{
49
49
  claude: "claude";
50
50
  codex: "codex";
51
51
  cursor: "cursor";
52
+ omp: "omp";
52
53
  opencode: "opencode";
53
54
  pi: "pi";
54
55
  }>;
@@ -63,6 +64,7 @@ export declare const agentProfileSchema: z.ZodObject<{
63
64
  claude: "claude";
64
65
  codex: "codex";
65
66
  cursor: "cursor";
67
+ omp: "omp";
66
68
  opencode: "opencode";
67
69
  pi: "pi";
68
70
  }>;
@@ -102,6 +104,7 @@ export declare const agentAccountSelectionSchema: z.ZodObject<{
102
104
  opencode: z.ZodOptional<z.ZodString>;
103
105
  pi: z.ZodOptional<z.ZodString>;
104
106
  cursor: z.ZodOptional<z.ZodString>;
107
+ omp: z.ZodOptional<z.ZodString>;
105
108
  }, z.core.$strip>;
106
109
  export type AgentAccountSelection = z.infer<typeof agentAccountSelectionSchema>;
107
110
  /**
@@ -119,6 +122,7 @@ export declare const agentProfilesResponseSchema: z.ZodObject<{
119
122
  claude: "claude";
120
123
  codex: "codex";
121
124
  cursor: "cursor";
125
+ omp: "omp";
122
126
  opencode: "opencode";
123
127
  pi: "pi";
124
128
  }>;
@@ -133,6 +137,7 @@ export declare const agentProfilesResponseSchema: z.ZodObject<{
133
137
  claude: "claude";
134
138
  codex: "codex";
135
139
  cursor: "cursor";
140
+ omp: "omp";
136
141
  opencode: "opencode";
137
142
  pi: "pi";
138
143
  }>;
@@ -158,6 +163,7 @@ export declare const agentProfilesResponseSchema: z.ZodObject<{
158
163
  claude: "claude";
159
164
  codex: "codex";
160
165
  cursor: "cursor";
166
+ omp: "omp";
161
167
  opencode: "opencode";
162
168
  pi: "pi";
163
169
  }>>;
@@ -167,6 +173,7 @@ export declare const agentProfilesResponseSchema: z.ZodObject<{
167
173
  opencode: z.ZodOptional<z.ZodString>;
168
174
  pi: z.ZodOptional<z.ZodString>;
169
175
  cursor: z.ZodOptional<z.ZodString>;
176
+ omp: z.ZodOptional<z.ZodString>;
170
177
  }, z.core.$strip>>;
171
178
  defaults: z.ZodObject<{
172
179
  claude: z.ZodOptional<z.ZodString>;
@@ -174,6 +181,7 @@ export declare const agentProfilesResponseSchema: z.ZodObject<{
174
181
  opencode: z.ZodOptional<z.ZodString>;
175
182
  pi: z.ZodOptional<z.ZodString>;
176
183
  cursor: z.ZodOptional<z.ZodString>;
184
+ omp: z.ZodOptional<z.ZodString>;
177
185
  }, z.core.$strip>;
178
186
  }, z.core.$strip>;
179
187
  export type AgentProfilesResponse = z.infer<typeof agentProfilesResponseSchema>;
@@ -190,6 +198,7 @@ export declare const selectAgentProfileInputSchema: z.ZodObject<{
190
198
  claude: "claude";
191
199
  codex: "codex";
192
200
  cursor: "cursor";
201
+ omp: "omp";
193
202
  opencode: "opencode";
194
203
  pi: "pi";
195
204
  }>;
@@ -204,6 +213,7 @@ export declare const agentProfileSelectionsResponseSchema: z.ZodObject<{
204
213
  opencode: z.ZodOptional<z.ZodString>;
205
214
  pi: z.ZodOptional<z.ZodString>;
206
215
  cursor: z.ZodOptional<z.ZodString>;
216
+ omp: z.ZodOptional<z.ZodString>;
207
217
  }, z.core.$strip>>;
208
218
  defaults: z.ZodObject<{
209
219
  claude: z.ZodOptional<z.ZodString>;
@@ -211,6 +221,7 @@ export declare const agentProfileSelectionsResponseSchema: z.ZodObject<{
211
221
  opencode: z.ZodOptional<z.ZodString>;
212
222
  pi: z.ZodOptional<z.ZodString>;
213
223
  cursor: z.ZodOptional<z.ZodString>;
224
+ omp: z.ZodOptional<z.ZodString>;
214
225
  }, z.core.$strip>;
215
226
  }, z.core.$strip>;
216
227
  export type AgentProfileSelectionsResponse = z.infer<typeof agentProfileSelectionsResponseSchema>;
@@ -223,6 +234,7 @@ export declare const agentAccountStatusResponseSchema: z.ZodObject<{
223
234
  claude: "claude";
224
235
  codex: "codex";
225
236
  cursor: "cursor";
237
+ omp: "omp";
226
238
  opencode: "opencode";
227
239
  pi: "pi";
228
240
  }>;
@@ -289,6 +301,7 @@ export declare const createAgentProfileInputSchema: z.ZodObject<{
289
301
  claude: "claude";
290
302
  codex: "codex";
291
303
  cursor: "cursor";
304
+ omp: "omp";
292
305
  opencode: "opencode";
293
306
  pi: "pi";
294
307
  }>;
@@ -310,6 +323,7 @@ export declare const agentProfileResponseSchema: z.ZodObject<{
310
323
  claude: "claude";
311
324
  codex: "codex";
312
325
  cursor: "cursor";
326
+ omp: "omp";
313
327
  opencode: "opencode";
314
328
  pi: "pi";
315
329
  }>;
@@ -324,6 +338,7 @@ export declare const agentProfileResponseSchema: z.ZodObject<{
324
338
  claude: "claude";
325
339
  codex: "codex";
326
340
  cursor: "cursor";
341
+ omp: "omp";
327
342
  opencode: "opencode";
328
343
  pi: "pi";
329
344
  }>;
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * A scheduled automation's trigger (spec `.ai/specs/2026-10-02-scheduled-automations.md`, issue
4
+ * #766; origin: upstream open-mercato/cezar #985) and the pure occurrence math over it, shared
5
+ * by the server's schedule runner and the cockpit's editor preview — one implementation, so what
6
+ * the editor previews is what the timer fires.
7
+ *
8
+ * Four bounded shapes rather than cron: every day at HH:MM, weekdays at HH:MM, one weekday at
9
+ * HH:MM, every N hours from midnight. A cron string is DERIVED for display (`cronOf` /
10
+ * `parseCron`), never stored and never evaluated — the shapes are what the math runs.
11
+ */
12
+ export declare const SCHEDULE_TYPES: readonly ['daily', 'weekdays', 'weekly', 'hours'];
13
+ export type ScheduleType = (typeof SCHEDULE_TYPES)[number];
14
+ /** The `every` choices for the `hours` shape — the ones that divide a day evenly. */
15
+ export declare const SCHEDULE_HOURS_OPTIONS: readonly [1, 2, 3, 4, 6, 8, 12];
16
+ export type ScheduleEvery = (typeof SCHEDULE_HOURS_OPTIONS)[number];
17
+ export declare const WEEKDAY_NAMES: readonly ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
18
+ export declare const automationScheduleSchema: z.ZodObject<{
19
+ type: z.ZodEnum<{
20
+ daily: "daily";
21
+ hours: "hours";
22
+ weekdays: "weekdays";
23
+ weekly: "weekly";
24
+ }>;
25
+ hour: z.ZodOptional<z.ZodNumber>;
26
+ minute: z.ZodOptional<z.ZodNumber>;
27
+ day: z.ZodOptional<z.ZodNumber>;
28
+ every: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<6>, z.ZodLiteral<8>, z.ZodLiteral<12>]>>;
29
+ }, z.core.$strip>;
30
+ export type AutomationSchedule = z.infer<typeof automationScheduleSchema>;
31
+ /** The same shape with every default filled — what the math and the labels read. */
32
+ export interface NormalizedSchedule {
33
+ type: ScheduleType;
34
+ hour: number;
35
+ minute: number;
36
+ day: number;
37
+ every: ScheduleEvery;
38
+ }
39
+ export declare function normalizeSchedule(schedule: AutomationSchedule): NormalizedSchedule;
40
+ /** `HH:MM`. */
41
+ export declare function hm(hour: number, minute?: number): string;
42
+ /** The trigger cell's text: `every day at 04:00`, `weekdays at 07:30`, `every 6 hours`, `Tuesdays at 02:00`. */
43
+ export declare function scheduleLabel(schedule: AutomationSchedule): string;
44
+ /** The derived five-field cron string (cron's Sunday is 0). */
45
+ export declare function cronOf(schedule: AutomationSchedule): string;
46
+ /**
47
+ * The inverse of `cronOf` for the four shapes it emits — and ONLY those. Anything else (a
48
+ * minute step, day-of-month, lists, ranges other than `1-5`) answers `null`; the caller names the
49
+ * supported shapes.
50
+ */
51
+ export declare function parseCron(expression: string): AutomationSchedule | null;
52
+ /**
53
+ * Every instant the schedule fires in `[fromMs, toMs)`, ascending, in the zone. Bounded by
54
+ * `limit` so a caller asking for a year of hourly runs gets the first `limit`, not a stall.
55
+ * Each (day, wall time) yields at most one instant, and no instant is yielded twice, which is
56
+ * what makes a DST fall-back hour fire once and a spring-forward gap fire once.
57
+ */
58
+ export declare function occurrencesBetween(schedule: AutomationSchedule, fromMs: number, toMs: number, timeZone: string, limit?: number): number[];
59
+ /** The first instant strictly after `afterMs`, or `null` for an unknown zone. */
60
+ export declare function nextOccurrence(schedule: AutomationSchedule, afterMs: number, timeZone: string): number | null;