@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
@@ -601,6 +601,15 @@ export declare const startTodoResponseSchema: z.ZodObject<{
601
601
  deliveredAt: z.ZodOptional<z.ZodISODateTime>;
602
602
  }, z.core.$strict>>;
603
603
  lastCiWaitError: z.ZodOptional<z.ZodString>;
604
+ previewServers: z.ZodOptional<z.ZodArray<z.ZodObject<{
605
+ port: z.ZodNumber;
606
+ command: z.ZodString;
607
+ cwd: z.ZodOptional<z.ZodString>;
608
+ label: z.ZodString;
609
+ path: z.ZodOptional<z.ZodString>;
610
+ registeredAt: z.ZodISODateTime;
611
+ answeredAtRegistration: z.ZodBoolean;
612
+ }, z.core.$strip>>>;
604
613
  taskImages: z.ZodOptional<z.ZodArray<z.ZodString>>;
605
614
  model: z.ZodOptional<z.ZodString>;
606
615
  effort: z.ZodOptional<z.ZodString>;
@@ -609,6 +618,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
609
618
  claude: "claude";
610
619
  codex: "codex";
611
620
  cursor: "cursor";
621
+ omp: "omp";
612
622
  opencode: "opencode";
613
623
  pi: "pi";
614
624
  }>>;
@@ -623,6 +633,22 @@ export declare const startTodoResponseSchema: z.ZodObject<{
623
633
  event: z.ZodString;
624
634
  githubUrl: z.ZodString;
625
635
  }, z.core.$strip>>;
636
+ automationTrigger: z.ZodOptional<z.ZodObject<{
637
+ automationId: z.ZodString;
638
+ automationRevision: z.ZodNumber;
639
+ receiptId: z.ZodString;
640
+ trigger: z.ZodEnum<{
641
+ "catch-up": "catch-up";
642
+ manual: "manual";
643
+ schedule: "schedule";
644
+ }>;
645
+ occurrenceAt: z.ZodString;
646
+ }, z.core.$strip>>;
647
+ destroyRetry: z.ZodOptional<z.ZodObject<{
648
+ attempts: z.ZodNumber;
649
+ nextAt: z.ZodISODateTime;
650
+ needsAttention: z.ZodOptional<z.ZodLiteral<true>>;
651
+ }, z.core.$strict>>;
626
652
  notify: z.ZodOptional<z.ZodBoolean>;
627
653
  webhook: z.ZodOptional<z.ZodObject<{
628
654
  lastDeliveredAt: z.ZodOptional<z.ZodString>;
@@ -674,6 +700,17 @@ export declare const startTodoResponseSchema: z.ZodObject<{
674
700
  branch: z.ZodOptional<z.ZodString>;
675
701
  baseBranch: z.ZodOptional<z.ZodString>;
676
702
  worktreeReclaimedAt: z.ZodOptional<z.ZodString>;
703
+ worktreeSetup: z.ZodOptional<z.ZodObject<{
704
+ status: z.ZodEnum<{
705
+ done: "done";
706
+ failed: "failed";
707
+ running: "running";
708
+ }>;
709
+ startedAt: z.ZodString;
710
+ finishedAt: z.ZodOptional<z.ZodString>;
711
+ durationMs: z.ZodOptional<z.ZodNumber>;
712
+ error: z.ZodOptional<z.ZodString>;
713
+ }, z.core.$strip>>;
677
714
  groupId: z.ZodOptional<z.ZodString>;
678
715
  variant: z.ZodOptional<z.ZodString>;
679
716
  clientRequestId: z.ZodOptional<z.ZodString>;
@@ -722,6 +759,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
722
759
  claude: "claude";
723
760
  codex: "codex";
724
761
  cursor: "cursor";
762
+ omp: "omp";
725
763
  opencode: "opencode";
726
764
  pi: "pi";
727
765
  }>>;
@@ -744,6 +782,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
744
782
  claude: "claude";
745
783
  codex: "codex";
746
784
  cursor: "cursor";
785
+ omp: "omp";
747
786
  opencode: "opencode";
748
787
  pi: "pi";
749
788
  }>>;
@@ -27,6 +27,7 @@ export declare const workflowStepDefSchema: z.ZodObject<{
27
27
  claude: "claude";
28
28
  codex: "codex";
29
29
  cursor: "cursor";
30
+ omp: "omp";
30
31
  opencode: "opencode";
31
32
  pi: "pi";
32
33
  }>>;
@@ -56,6 +57,7 @@ export declare const workflowDefSchema: z.ZodObject<{
56
57
  claude: "claude";
57
58
  codex: "codex";
58
59
  cursor: "cursor";
60
+ omp: "omp";
59
61
  opencode: "opencode";
60
62
  pi: "pi";
61
63
  }>>;
@@ -100,6 +102,7 @@ export declare const workflowsResponseSchema: z.ZodObject<{
100
102
  claude: "claude";
101
103
  codex: "codex";
102
104
  cursor: "cursor";
105
+ omp: "omp";
103
106
  opencode: "opencode";
104
107
  pi: "pi";
105
108
  }>>;
@@ -145,6 +148,7 @@ export declare const saveWorkflowInputSchema: z.ZodObject<{
145
148
  claude: "claude";
146
149
  codex: "codex";
147
150
  cursor: "cursor";
151
+ omp: "omp";
148
152
  opencode: "opencode";
149
153
  pi: "pi";
150
154
  }>>;
@@ -183,6 +187,7 @@ export declare const parsedWorkflowSchema: z.ZodObject<{
183
187
  claude: "claude";
184
188
  codex: "codex";
185
189
  cursor: "cursor";
190
+ omp: "omp";
186
191
  opencode: "opencode";
187
192
  pi: "pi";
188
193
  }>>;
@@ -227,6 +232,7 @@ export declare const planResponseSchema: z.ZodObject<{
227
232
  claude: "claude";
228
233
  codex: "codex";
229
234
  cursor: "cursor";
235
+ omp: "omp";
230
236
  opencode: "opencode";
231
237
  pi: "pi";
232
238
  }>>;
@@ -45,6 +45,7 @@ export declare const workspaceConfigResponseSchema: z.ZodObject<{
45
45
  claude: "claude";
46
46
  codex: "codex";
47
47
  cursor: "cursor";
48
+ omp: "omp";
48
49
  opencode: "opencode";
49
50
  pi: "pi";
50
51
  }>>;
@@ -54,6 +55,7 @@ export declare const workspaceConfigResponseSchema: z.ZodObject<{
54
55
  opencode: z.ZodOptional<z.ZodString>;
55
56
  pi: z.ZodOptional<z.ZodString>;
56
57
  cursor: z.ZodOptional<z.ZodString>;
58
+ omp: z.ZodOptional<z.ZodString>;
57
59
  }, z.core.$strip>>;
58
60
  }, z.core.$strip>;
59
61
  }, z.core.$strip>;
@@ -78,6 +80,7 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
78
80
  claude: "claude";
79
81
  codex: "codex";
80
82
  cursor: "cursor";
83
+ omp: "omp";
81
84
  opencode: "opencode";
82
85
  pi: "pi";
83
86
  }>>>;
@@ -87,6 +90,7 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
87
90
  opencode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
91
  pi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
92
  cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
93
+ omp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
94
  }, z.core.$strip>>;
91
95
  }, z.core.$strip>>;
92
96
  resources: z.ZodOptional<z.ZodObject<{
@@ -99,6 +103,18 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
99
103
  }, z.core.$strip>>;
100
104
  }, z.core.$strip>;
101
105
  export type SetWorkspaceConfigInput = z.infer<typeof setWorkspaceConfigInputSchema>;
106
+ /** Per-project sidebar row budgets. Missing fields preserve the shipped defaults;
107
+ * null disables only that particular constraint. */
108
+ export declare const sidebarLimitsSchema: z.ZodObject<{
109
+ overall: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
110
+ needsYou: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
111
+ finished: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
112
+ working: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
113
+ }, z.core.$strip>;
114
+ export type SidebarLimits = z.infer<typeof sidebarLimitsSchema>;
115
+ /** Stored preferences may predate validation or be edited by hand. Salvage each valid
116
+ * field independently, without relaxing the request schema or parsing the open UI-state bag. */
117
+ export declare function normalizeSidebarLimits(value: unknown): Required<SidebarLimits>;
102
118
  /**
103
119
  * `GET/PUT /api/v1/ui-state` — the per-repo GUI prefs in `.ai/cezar/ui-state.json`.
104
120
  *
@@ -114,6 +130,12 @@ export type SetWorkspaceConfigInput = z.infer<typeof setWorkspaceConfigInputSche
114
130
  * listed it, which made it wider than the route.
115
131
  */
116
132
  export declare const uiStateSchema: z.ZodObject<{
133
+ sidebarLimits: z.ZodOptional<z.ZodObject<{
134
+ overall: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
135
+ needsYou: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
136
+ finished: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
137
+ working: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
138
+ }, z.core.$strip>>;
117
139
  lastTask: z.ZodOptional<z.ZodNullable<z.ZodObject<{
118
140
  source: z.ZodEnum<{
119
141
  skill: "skill";
@@ -190,6 +212,7 @@ export declare const workspaceUiStateSchema: z.ZodObject<{
190
212
  opencode: z.ZodOptional<z.ZodString>;
191
213
  pi: z.ZodOptional<z.ZodString>;
192
214
  cursor: z.ZodOptional<z.ZodString>;
215
+ omp: z.ZodOptional<z.ZodString>;
193
216
  }, z.core.$strip>>;
194
217
  appearance: z.ZodOptional<z.ZodObject<{
195
218
  accent: z.ZodOptional<z.ZodEnum<{
@@ -262,6 +285,7 @@ export declare const setWorkspaceUiStateInputSchema: z.ZodObject<{
262
285
  opencode: z.ZodOptional<z.ZodString>;
263
286
  pi: z.ZodOptional<z.ZodString>;
264
287
  cursor: z.ZodOptional<z.ZodString>;
288
+ omp: z.ZodOptional<z.ZodString>;
265
289
  }, z.core.$strict>>;
266
290
  importedSkills: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
291
  taskTable: z.ZodOptional<z.ZodObject<{
@@ -279,8 +303,24 @@ export declare const runnerModelsSchema: z.ZodObject<{
279
303
  opencode: z.ZodOptional<z.ZodString>;
280
304
  pi: z.ZodOptional<z.ZodString>;
281
305
  cursor: z.ZodOptional<z.ZodString>;
306
+ omp: z.ZodOptional<z.ZodString>;
282
307
  }, z.core.$strip>;
283
308
  export type RunnerModels = z.infer<typeof runnerModelsSchema>;
309
+ /**
310
+ * `.ai/cezar/config.json` → `worktreeSetup` (#917, spec `.ai/specs/2026-10-07-worktree-setup.md`):
311
+ * the commands that prepare a new task or worker worktree before the agent's first turn. Strict, so
312
+ * a typo such as `command` is reported instead of silently running nothing. The service parses it
313
+ * apart from the rest of `config.json`, so an invalid value never resets the other keys.
314
+ */
315
+ export declare const WORKTREE_SETUP_MAX_COMMANDS = 20;
316
+ export declare const WORKTREE_SETUP_MAX_COMMAND_LENGTH = 4000;
317
+ export declare const WORKTREE_SETUP_DEFAULT_TIMEOUT_SECONDS = 900;
318
+ export declare const WORKTREE_SETUP_MAX_TIMEOUT_SECONDS = 7200;
319
+ export declare const worktreeSetupConfigSchema: z.ZodObject<{
320
+ commands: z.ZodArray<z.ZodString>;
321
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
322
+ }, z.core.$strict>;
323
+ export type WorktreeSetupConfig = z.infer<typeof worktreeSetupConfigSchema>;
284
324
  /** `GET /api/v1/config` — every Settings → Agents knob in one read. */
285
325
  export declare const configResponseSchema: z.ZodObject<{
286
326
  baseBranch: z.ZodNullable<z.ZodString>;
@@ -288,6 +328,7 @@ export declare const configResponseSchema: z.ZodObject<{
288
328
  claude: "claude";
289
329
  codex: "codex";
290
330
  cursor: "cursor";
331
+ omp: "omp";
291
332
  opencode: "opencode";
292
333
  pi: "pi";
293
334
  }>;
@@ -298,6 +339,7 @@ export declare const configResponseSchema: z.ZodObject<{
298
339
  opencode: z.ZodOptional<z.ZodString>;
299
340
  pi: z.ZodOptional<z.ZodString>;
300
341
  cursor: z.ZodOptional<z.ZodString>;
342
+ omp: z.ZodOptional<z.ZodString>;
301
343
  }, z.core.$strip>;
302
344
  modelsLocked: z.ZodBoolean;
303
345
  maxParallel: z.ZodNumber;
@@ -305,6 +347,11 @@ export declare const configResponseSchema: z.ZodObject<{
305
347
  worktreeRetention: z.ZodNumber;
306
348
  liveTitleUpdates: z.ZodNullable<z.ZodBoolean>;
307
349
  reviewGate: z.ZodNullable<z.ZodBoolean>;
350
+ worktreeSetup: z.ZodNullable<z.ZodObject<{
351
+ commands: z.ZodArray<z.ZodString>;
352
+ timeoutSeconds: z.ZodNumber;
353
+ }, z.core.$strip>>;
354
+ worktreeSetupIssue: z.ZodNullable<z.ZodString>;
308
355
  }, z.core.$strip>;
309
356
  export type ConfigResponse = z.infer<typeof configResponseSchema>;
310
357
  /** The `PUT /api/v1/config` answer: the same shape GET serves (`configAnswer` builds both). */
@@ -314,6 +361,7 @@ export declare const setConfigResponseSchema: z.ZodObject<{
314
361
  claude: "claude";
315
362
  codex: "codex";
316
363
  cursor: "cursor";
364
+ omp: "omp";
317
365
  opencode: "opencode";
318
366
  pi: "pi";
319
367
  }>;
@@ -324,6 +372,7 @@ export declare const setConfigResponseSchema: z.ZodObject<{
324
372
  opencode: z.ZodOptional<z.ZodString>;
325
373
  pi: z.ZodOptional<z.ZodString>;
326
374
  cursor: z.ZodOptional<z.ZodString>;
375
+ omp: z.ZodOptional<z.ZodString>;
327
376
  }, z.core.$strip>;
328
377
  modelsLocked: z.ZodBoolean;
329
378
  maxParallel: z.ZodNumber;
@@ -331,6 +380,11 @@ export declare const setConfigResponseSchema: z.ZodObject<{
331
380
  worktreeRetention: z.ZodNumber;
332
381
  liveTitleUpdates: z.ZodNullable<z.ZodBoolean>;
333
382
  reviewGate: z.ZodNullable<z.ZodBoolean>;
383
+ worktreeSetup: z.ZodNullable<z.ZodObject<{
384
+ commands: z.ZodArray<z.ZodString>;
385
+ timeoutSeconds: z.ZodNumber;
386
+ }, z.core.$strip>>;
387
+ worktreeSetupIssue: z.ZodNullable<z.ZodString>;
334
388
  }, z.core.$strip>;
335
389
  export type SetConfigResponse = z.infer<typeof setConfigResponseSchema>;
336
390
  /**
@@ -346,6 +400,7 @@ export declare const setConfigInputSchema: z.ZodObject<{
346
400
  claude: "claude";
347
401
  codex: "codex";
348
402
  cursor: "cursor";
403
+ omp: "omp";
349
404
  opencode: "opencode";
350
405
  pi: "pi";
351
406
  }>>;
@@ -356,12 +411,17 @@ export declare const setConfigInputSchema: z.ZodObject<{
356
411
  opencode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
357
412
  pi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
413
  cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
414
+ omp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
415
  }, z.core.$strip>>;
360
416
  maxParallel: z.ZodOptional<z.ZodNumber>;
361
417
  memoryLimitMb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
362
418
  worktreeRetention: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
363
419
  liveTitleUpdates: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
364
420
  reviewGate: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
421
+ worktreeSetup: z.ZodOptional<z.ZodNullable<z.ZodObject<{
422
+ commands: z.ZodArray<z.ZodString>;
423
+ timeoutSeconds: z.ZodOptional<z.ZodNumber>;
424
+ }, z.core.$strict>>>;
365
425
  }, z.core.$strip>;
366
426
  export type SetConfigInput = z.infer<typeof setConfigInputSchema>;
367
427
  export declare const skillsUpdateStatusSchema: z.ZodEnum<{
@@ -441,6 +501,7 @@ export declare const providerIdSchema: z.ZodEnum<{
441
501
  claude: "claude";
442
502
  codex: "codex";
443
503
  cursor: "cursor";
504
+ omp: "omp";
444
505
  opencode: "opencode";
445
506
  pi: "pi";
446
507
  }>;
@@ -466,6 +527,7 @@ export declare const providerStatusSchema: z.ZodObject<{
466
527
  claude: "claude";
467
528
  codex: "codex";
468
529
  cursor: "cursor";
530
+ omp: "omp";
469
531
  opencode: "opencode";
470
532
  pi: "pi";
471
533
  }>;
@@ -488,6 +550,7 @@ export declare const providerStatusResponseSchema: z.ZodObject<{
488
550
  claude: "claude";
489
551
  codex: "codex";
490
552
  cursor: "cursor";
553
+ omp: "omp";
491
554
  opencode: "opencode";
492
555
  pi: "pi";
493
556
  }>;
@@ -526,6 +589,7 @@ export declare const modelDiscoveryRunnerSchema: z.ZodEnum<{
526
589
  claude: "claude";
527
590
  codex: "codex";
528
591
  cursor: "cursor";
592
+ omp: "omp";
529
593
  opencode: "opencode";
530
594
  pi: "pi";
531
595
  }>;
@@ -554,6 +618,7 @@ export declare const runnerModelCatalogResponseSchema: z.ZodObject<{
554
618
  claude: "claude";
555
619
  codex: "codex";
556
620
  cursor: "cursor";
621
+ omp: "omp";
557
622
  opencode: "opencode";
558
623
  pi: "pi";
559
624
  }>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Wall-clock ↔ instant conversion in a named IANA zone, on `Intl` alone (no library, Node-free,
3
+ * so the cockpit and the server share one implementation — spec
4
+ * `.ai/specs/2026-10-02-scheduled-automations.md`, issue #766; origin: upstream open-mercato/cezar
5
+ * #985). Two consumers: the automation schedule math (`./automation-schedule.ts`) and the
6
+ * usage-limit resume clock (`packages/cezar/src/core/usage-limit.ts`), which is where these
7
+ * functions were born.
8
+ *
9
+ * `zonedWallTimeToUtc` iterates the zone offset to a fixed point. For a wall time that does not
10
+ * exist (the spring-forward gap) the iteration settles on one instant near the gap rather than
11
+ * throwing; for a wall time that exists twice (the fall-back hour) it settles on one of the two.
12
+ * Both are what a schedule wants: fire once, never twice, never never.
13
+ */
14
+ export interface ZonedParts {
15
+ year: number;
16
+ month: number;
17
+ day: number;
18
+ hour: number;
19
+ minute: number;
20
+ second: number;
21
+ /** ISO weekday: Monday = 1 … Sunday = 7. */
22
+ weekday: number;
23
+ }
24
+ /** The wall-clock parts of an instant in a zone, or `null` for an unknown zone. */
25
+ export declare function zonedParts(utcMs: number, timeZone: string): ZonedParts | null;
26
+ /** ISO weekday (Mon = 1 … Sun = 7) of a calendar date, zone-independent. */
27
+ export declare function isoWeekday(year: number, month: number, day: number): number;
28
+ /** The zone's offset from UTC at an instant, in milliseconds (positive east of Greenwich). */
29
+ export declare function timeZoneOffsetMs(timeZone: string, utcMs: number): number | null;
30
+ /** The instant at which a zone's clock reads the given wall time. See the header for DST. */
31
+ export declare function zonedWallTimeToUtc(year: number, month: number, day: number, hour: number, minute: number, timeZone: string): number | null;
32
+ /** `true` when `Intl` knows the zone. */
33
+ export declare function isValidTimeZone(candidate: string | undefined): candidate is string;
34
+ /** The host's own zone, as `Intl` reports it. */
35
+ export declare function localTimeZone(): string;
@@ -29,3 +29,14 @@ export interface BuildChildEnvOptions {
29
29
  * (the runner's `spec.env`) is applied last so per-run vars always win.
30
30
  */
31
31
  export declare function buildChildEnv(opts: BuildChildEnvOptions): NodeJS.ProcessEnv;
32
+ /**
33
+ * The curated env for a host command no backend runs: a dev server the owner approved in the
34
+ * live preview (#781). It is `buildChildEnv` with no backend: the base allowlist, the non-secret `CEZ_*`,
35
+ * `CEZ_ENV_PASSTHROUGH` and the `CEZ_AGENT_ENV_FULL` escape hatch, but no backend auth, no Bedrock
36
+ * or Vertex credentials and no `gh` token. The command is model-written (`npm run dev` runs
37
+ * whatever the agent put in package.json) and runs outside any backend sandbox.
38
+ */
39
+ export declare function buildCommandEnv(opts?: {
40
+ extraEnv?: Record<string, string>;
41
+ source?: NodeJS.ProcessEnv;
42
+ }): NodeJS.ProcessEnv;
@@ -223,6 +223,12 @@ const BACKEND_ALLOW_PREFIXES = {
223
223
  // granting it here handed pi the whole `AWS_*` / `GOOGLE_CLOUD_*` family on any host that had
224
224
  // set `CLAUDE_CODE_USE_BEDROCK=1` for Claude Code, plus Claude's own config dir.
225
225
  pi: ['PI_', ...MULTI_PROVIDER_PREFIXES],
226
+ // OMP (Oh My Pi) is pi's fork and selects models the same `provider/model` way, so it gets the
227
+ // same multi-provider set. Not `CLAUDE_`, for pi's reason above. `OMP_` is its own config and
228
+ // `PI_` is kept because OMP still reads `PI_CODING_AGENT_DIR` / `PI_CONFIG_DIR`
229
+ // (OMP v18.4.11; `can1357/oh-my-pi` `docs/environment-variables.md` at main @ 7318a70cf4ed).
230
+ // The reverse does not hold: pi gets no `OMP_`.
231
+ omp: ['OMP_', 'PI_', ...MULTI_PROVIDER_PREFIXES],
226
232
  };
227
233
  /** `gh` handoff (draft PRs) works in every backend — the one credential the
228
234
  * project deliberately keeps in the environment (AGENTS.md "No secrets in
@@ -287,8 +293,23 @@ function isTruthy(value) {
287
293
  * (the runner's `spec.env`) is applied last so per-run vars always win.
288
294
  */
289
295
  export function buildChildEnv(opts) {
290
- const source = opts.source ?? process.env;
291
- const extra = opts.extraEnv ?? {};
296
+ return curateEnv(opts.source ?? process.env, opts.extraEnv ?? {}, {
297
+ backendPrefixes: BACKEND_ALLOW_PREFIXES[opts.backend] ?? BACKEND_ALLOW_PREFIXES.claude,
298
+ gh: true,
299
+ secretCez: true,
300
+ });
301
+ }
302
+ /**
303
+ * The curated env for a host command no backend runs: a dev server the owner approved in the
304
+ * live preview (#781). It is `buildChildEnv` with no backend: the base allowlist, the non-secret `CEZ_*`,
305
+ * `CEZ_ENV_PASSTHROUGH` and the `CEZ_AGENT_ENV_FULL` escape hatch, but no backend auth, no Bedrock
306
+ * or Vertex credentials and no `gh` token. The command is model-written (`npm run dev` runs
307
+ * whatever the agent put in package.json) and runs outside any backend sandbox.
308
+ */
309
+ export function buildCommandEnv(opts = {}) {
310
+ return curateEnv(opts.source ?? process.env, opts.extraEnv ?? {}, { backendPrefixes: [], gh: false, secretCez: false });
311
+ }
312
+ function curateEnv(source, extra, grants) {
292
313
  // Names `extra` is about to define, normalized. The host copy of a var the
293
314
  // per-run env overrides must be DROPPED, not merely shadowed: env names are
294
315
  // matched case-insensitively here (and by Windows itself), so a host `Temp`
@@ -317,7 +338,7 @@ export function buildChildEnv(opts) {
317
338
  }
318
339
  return { ...full, ...extra };
319
340
  }
320
- const backendPrefixes = BACKEND_ALLOW_PREFIXES[opts.backend] ?? BACKEND_ALLOW_PREFIXES.claude;
341
+ const { backendPrefixes } = grants;
321
342
  const passthrough = upperSet((readVar(source, 'CEZ_ENV_PASSTHROUGH') ?? '')
322
343
  .split(',')
323
344
  .map((s) => s.trim())
@@ -352,13 +373,14 @@ export function buildChildEnv(opts) {
352
373
  function allow(name) {
353
374
  const key = name.toUpperCase();
354
375
  // cezar's own namespace (CEZ_DRY_RUN plumbing, mock hooks, run wiring).
355
- if (key.startsWith('CEZ_'))
376
+ // A secret-shaped one (`CEZ_PRIVATE_TOKEN`) reaches a host command only through passthrough.
377
+ if (key.startsWith('CEZ_') && (grants.secretCez || !looksSecret(key)))
356
378
  return true;
357
379
  // Backend auth + gh handoff + the cloud creds an active Bedrock/Vertex
358
380
  // toggle needs: forwarded even though they are secrets — the backend cannot
359
381
  // authenticate without them. They are still redacted before anything
360
382
  // reaches the on-disk NDJSON (see secret-redaction.ts).
361
- if (GH_ALLOW_NAMES.has(key))
383
+ if (grants.gh && GH_ALLOW_NAMES.has(key))
362
384
  return true;
363
385
  if (matchesPrefix(key, backendPrefixes))
364
386
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,11 @@ export const PROFILE_ENV_VAR = {
41
41
  pi: null,
42
42
  // CURSOR_CONFIG_DIR relocates configuration, not a verified whole account home.
43
43
  cursor: null,
44
+ // OMP profiles are selected by the named `OMP_PROFILE`, under which `PI_CODING_AGENT_DIR` is
45
+ // ignored, and whether the credential store (`agent.db`) moves with a profile is unverified.
46
+ // `null` until a single home variable that moves credentials as well as config is documented.
47
+ // Source: OMP v18.4.11, `can1357/oh-my-pi` `docs/environment-variables.md` (main @ 7318a70cf4ed).
48
+ omp: null,
44
49
  };
45
50
  /** Providers that can carry more than one account — what the UI offers "Add account" for. */
46
51
  export const PROFILE_CAPABLE_PROVIDERS = Object.keys(PROFILE_ENV_VAR).filter((provider) => PROFILE_ENV_VAR[provider] !== null);
@@ -89,5 +94,7 @@ const PROFILE_DIR_MARKERS = {
89
94
  // profile dir; the entry exists to keep this table exhaustive over `ProviderId`.
90
95
  pi: [],
91
96
  cursor: [],
97
+ // OMP cannot carry profiles (`PROFILE_ENV_VAR.omp === null`), so nothing probes its dir.
98
+ omp: [],
92
99
  };
93
100
  //# sourceMappingURL=agent-profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-profiles.js","sourceRoot":"","sources":["../../src/core/agent-profiles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;IACR,gFAAgF;IAChF,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,yBAAyB,GACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAC5B,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoB,EAAE,SAAoC;IACnF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAoB,EAAE,OAA0B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,mBAAmB,GAA0C;IACjE,8FAA8F;IAC9F,yCAAyC;IACzC,MAAM,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;IACnC,QAAQ,EAAE,EAAE;IACZ,wFAAwF;IACxF,iFAAiF;IACjF,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,EAAE;CACX,CAAC"}
1
+ {"version":3,"file":"agent-profiles.js","sourceRoot":"","sources":["../../src/core/agent-profiles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;IACR,gFAAgF;IAChF,MAAM,EAAE,IAAI;IACZ,6FAA6F;IAC7F,6FAA6F;IAC7F,8FAA8F;IAC9F,kGAAkG;IAClG,GAAG,EAAE,IAAI;CACV,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,yBAAyB,GACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAC5B,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoB,EAAE,SAAoC;IACnF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAoB,EAAE,OAA0B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,mBAAmB,GAA0C;IACjE,8FAA8F;IAC9F,yCAAyC;IACzC,MAAM,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;IACnC,QAAQ,EAAE,EAAE;IACZ,wFAAwF;IACxF,iFAAiF;IACjF,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,EAAE;IACV,yFAAyF;IACzF,GAAG,EAAE,EAAE;CACR,CAAC"}
@@ -19,7 +19,7 @@ import type { UiEvent } from './ui-events.ts';
19
19
  * server-install "at least one agent CLI" gate, the CLI-handoff registry) rather than repeating
20
20
  * the literals, so adding runner #5 is a one-line change here and typecheck finds the rest.
21
21
  */
22
- export declare const RUNNER_IDS: readonly ['claude', 'codex', 'opencode', 'pi', 'cursor'];
22
+ export declare const RUNNER_IDS: readonly ['claude', 'codex', 'opencode', 'pi', 'cursor', 'omp'];
23
23
  /** The user-selectable runners (what config/GUI expose). */
24
24
  export type RunnerId = (typeof RUNNER_IDS)[number];
25
25
  /** `claude-cli` is the legacy id kept so old run records still parse. */
@@ -75,6 +75,13 @@ export interface AgentRunSpec {
75
75
  * picks up the on-disk conversation (used by "Continue" after a run ends).
76
76
  */
77
77
  resume?: boolean;
78
+ /**
79
+ * Full system prompt (skill + extra + handoff) used only when an in-thread
80
+ * resume cannot reopen the stored session and the runner falls back to a
81
+ * fresh one. Continue omits the skill from `systemPrompt` on in-thread
82
+ * resumes; this carries it for that fallback. Absent on resent runners.
83
+ */
84
+ resumeFallbackSystemPrompt?: string;
78
85
  }
79
86
  export type AgentRunSpecField = keyof AgentRunSpec;
80
87
  export declare const AGENT_RUN_SPEC_FIELDS: readonly AgentRunSpecField[];
@@ -242,6 +249,11 @@ export interface SessionOptions {
242
249
  /** The model received these inputs (replay echo, userMessage item, …). Fires at most
243
250
  * once per ID and never from a transport acknowledgement (#505). */
244
251
  onAgentInputConsumed?: (inputIds: readonly string[]) => void;
252
+ /** The session's backend process was replaced after `startSession` returned (OMP's R13
253
+ * respawn, OpenCode's retried `opencode serve` start — #872); `AgentSession.pid` already
254
+ * names the new one. Callers that registered the
255
+ * first pid for telemetry or cleanup register this one instead. */
256
+ onPidChange?: (pid: number) => void;
245
257
  }
246
258
  /**
247
259
  * A live agent session over one spawned backend process. The process stays
@@ -271,6 +283,17 @@ export interface AgentSession {
271
283
  * no-op.
272
284
  */
273
285
  discardQueuedMessages(): void;
286
+ /** True while this session still holds a human follow-up from `sendMessage`
287
+ * that the model has not consumed and that the runner will still deliver (#486).
288
+ * Queueing runners drop on `discardQueuedMessages` and return false immediately.
289
+ * Write-through/steer wires report true until the harness settles that line
290
+ * (their discard is a no-op). A drain with no new turn must call
291
+ * `onAgentInputReady` so run.ts can re-settle the idle boundary. */
292
+ holdsHumanInput(): boolean;
293
+ /** Count of human follow-ups still held behind `holdsHumanInput`. Every built-in
294
+ * runner reports it from the same state `holdsHumanInput` reads
295
+ * (`holdsHumanInput() === count > 0`). Optional only on wrappers and test fakes. */
296
+ heldHumanInputCount?(): number;
274
297
  /** Graceful close: end input, then a SIGTERM→SIGKILL watchdog. */
275
298
  end(): void;
276
299
  /** Hard stop (used by cancel). */
@@ -290,10 +313,35 @@ export interface InputDelivery {
290
313
  export declare const BOUNDARY_INPUT_DELIVERY: InputDelivery;
291
314
  /** Absent means the pre-#505 behavior every runner had. */
292
315
  export declare function inputDeliveryOf(runner: Pick<AgentRunner, 'inputDelivery'>): InputDelivery;
316
+ /**
317
+ * How this runner delivers `spec.systemPrompt` across session/process boundaries (#790).
318
+ *
319
+ * - `resent`: every session/process receives `spec.systemPrompt` again. Claude
320
+ * `--resume` keeps the launch `--append-system-prompt` and ignores new flags
321
+ * (resending is harmless; changed extra/delegation/artifact/handoff
322
+ * instructions never reach a resumed session). Pi `--session` *replaces*
323
+ * stored prompt sections with the new flags, so resend is required — a
324
+ * resumed skill task lacks the playbook unless the caller sends it. OMP was
325
+ * not live-verified (not installed here) and is declared `resent` as the
326
+ * safe value.
327
+ * - `in-thread`: the system prompt was prepended into the opening turn and is
328
+ * part of the resumed thread's history (OpenCode, Codex, Cursor). Re-sending
329
+ * the skill on the same session duplicates it; a fresh-session continuation
330
+ * (no `sessionId`, or OpenCode's lost-session fallback) still needs it.
331
+ *
332
+ * The flag is the caller's dedupe policy for the skill prefix, not a statement
333
+ * that in-thread runners ignore `systemPrompt` on resume. Codex, Cursor and
334
+ * OpenCode still re-prepend the whole `spec.systemPrompt` (extra prompt + handoff)
335
+ * on every resumed opening turn; Continue omits only the skill prefix on a
336
+ * same-session in-thread resume.
337
+ */
338
+ export type SystemPromptOnResume = 'resent' | 'in-thread';
293
339
  export interface AgentRunner {
294
340
  readonly backend: AgentBackend;
295
341
  /** Which `AgentRunSpec` fields this runner honors, and how — see `AgentRunSpecSupport`. */
296
342
  readonly specSupport: AgentRunSpecSupport;
343
+ /** How this runner carries `spec.systemPrompt` onto a resumed session (#790). Required. */
344
+ readonly systemPromptOnResume: SystemPromptOnResume;
297
345
  /** How non-human input is admitted while a turn runs; absent means `boundary` (#505). */
298
346
  readonly inputDelivery?: InputDelivery;
299
347
  run(spec: AgentRunSpec, onEvent?: (event: AgentEvent) => void): Promise<AgentRunResult>;
@@ -18,7 +18,7 @@
18
18
  * server-install "at least one agent CLI" gate, the CLI-handoff registry) rather than repeating
19
19
  * the literals, so adding runner #5 is a one-line change here and typecheck finds the rest.
20
20
  */
21
- export const RUNNER_IDS = ['claude', 'codex', 'opencode', 'pi', 'cursor'];
21
+ export const RUNNER_IDS = ['claude', 'codex', 'opencode', 'pi', 'cursor', 'omp'];
22
22
  /** Narrow an arbitrary string (a config value, a check name) to a runner id. */
23
23
  export function isRunnerId(value) {
24
24
  return RUNNER_IDS.includes(value);
@@ -44,6 +44,7 @@ const AGENT_RUN_SPEC_FIELD_SET = {
44
44
  timeoutMs: true,
45
45
  sessionId: true,
46
46
  resume: true,
47
+ resumeFallbackSystemPrompt: true,
47
48
  };
48
49
  export const AGENT_RUN_SPEC_FIELDS = Object.keys(AGENT_RUN_SPEC_FIELD_SET);
49
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAQnF,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAiDD;;;;GAIG;AACH,MAAM,wBAAwB,GAA+C;IAC3E,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,IAAI;IACT,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,IAAI;IAC3B,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAiC,CAAC;AAsB3G;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAgC,EAAE,UAAkB;IACtF,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC7D,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AAClE,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACtB,CAAC;AAoHD,MAAM,CAAC,MAAM,uBAAuB,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAC/H,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,MAA0C;IACxE,OAAO,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAQ1F,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAwDD;;;;GAIG;AACH,MAAM,wBAAwB,GAA+C;IAC3E,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,IAAI;IACT,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,IAAI;IAC3B,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;IACZ,0BAA0B,EAAE,IAAI;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAiC,CAAC;AAsB3G;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAgC,EAAE,UAAkB;IACtF,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC7D,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AAClE,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACtB,CAAC;AAoID,MAAM,CAAC,MAAM,uBAAuB,GAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAC/H,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,MAA0C;IACxE,OAAO,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAC;AACzD,CAAC"}