@wjarka/cezarion 0.10.0-pr30.54

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 (478) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +838 -0
  3. package/dist/agent-config/account-identity.d.ts +44 -0
  4. package/dist/agent-config/account-identity.js +128 -0
  5. package/dist/agent-config/account-identity.js.map +1 -0
  6. package/dist/agent-config/catalog.d.ts +72 -0
  7. package/dist/agent-config/catalog.js +223 -0
  8. package/dist/agent-config/catalog.js.map +1 -0
  9. package/dist/agent-config/files.d.ts +46 -0
  10. package/dist/agent-config/files.js +119 -0
  11. package/dist/agent-config/files.js.map +1 -0
  12. package/dist/agent-config/model-settings/claude.d.ts +2 -0
  13. package/dist/agent-config/model-settings/claude.js +11 -0
  14. package/dist/agent-config/model-settings/claude.js.map +1 -0
  15. package/dist/agent-config/model-settings/codex.d.ts +2 -0
  16. package/dist/agent-config/model-settings/codex.js +16 -0
  17. package/dist/agent-config/model-settings/codex.js.map +1 -0
  18. package/dist/agent-config/model-settings/opencode.d.ts +2 -0
  19. package/dist/agent-config/model-settings/opencode.js +8 -0
  20. package/dist/agent-config/model-settings/opencode.js.map +1 -0
  21. package/dist/agent-config/model-settings/pi.d.ts +12 -0
  22. package/dist/agent-config/model-settings/pi.js +18 -0
  23. package/dist/agent-config/model-settings/pi.js.map +1 -0
  24. package/dist/agent-config/model-settings/shared.d.ts +9 -0
  25. package/dist/agent-config/model-settings/shared.js +93 -0
  26. package/dist/agent-config/model-settings/shared.js.map +1 -0
  27. package/dist/agent-config/model-settings/types.d.ts +9 -0
  28. package/dist/agent-config/model-settings/types.js +2 -0
  29. package/dist/agent-config/model-settings/types.js.map +1 -0
  30. package/dist/agent-config/models.d.ts +9 -0
  31. package/dist/agent-config/models.js +32 -0
  32. package/dist/agent-config/models.js.map +1 -0
  33. package/dist/agent-config/seed.d.ts +7 -0
  34. package/dist/agent-config/seed.js +90 -0
  35. package/dist/agent-config/seed.js.map +1 -0
  36. package/dist/agent-config/service.d.ts +44 -0
  37. package/dist/agent-config/service.js +71 -0
  38. package/dist/agent-config/service.js.map +1 -0
  39. package/dist/agent-config/validate.d.ts +21 -0
  40. package/dist/agent-config/validate.js +76 -0
  41. package/dist/agent-config/validate.js.map +1 -0
  42. package/dist/automations/coordinator.d.ts +26 -0
  43. package/dist/automations/coordinator.js +66 -0
  44. package/dist/automations/coordinator.js.map +1 -0
  45. package/dist/automations/github-poller.d.ts +74 -0
  46. package/dist/automations/github-poller.js +234 -0
  47. package/dist/automations/github-poller.js.map +1 -0
  48. package/dist/automations/scheduler.d.ts +42 -0
  49. package/dist/automations/scheduler.js +192 -0
  50. package/dist/automations/scheduler.js.map +1 -0
  51. package/dist/automations/store.d.ts +65 -0
  52. package/dist/automations/store.js +298 -0
  53. package/dist/automations/store.js.map +1 -0
  54. package/dist/automations/task-template.d.ts +18 -0
  55. package/dist/automations/task-template.js +95 -0
  56. package/dist/automations/task-template.js.map +1 -0
  57. package/dist/automations/types.d.ts +255 -0
  58. package/dist/automations/types.js +159 -0
  59. package/dist/automations/types.js.map +1 -0
  60. package/dist/config.d.ts +77 -0
  61. package/dist/config.js +242 -0
  62. package/dist/config.js.map +1 -0
  63. package/dist/contract/agent-config.d.ts +153 -0
  64. package/dist/contract/agent-profiles.d.ts +347 -0
  65. package/dist/contract/automations.d.ts +935 -0
  66. package/dist/contract/events.d.ts +104 -0
  67. package/dist/contract/github.d.ts +556 -0
  68. package/dist/contract/health.d.ts +102 -0
  69. package/dist/contract/index.d.ts +16 -0
  70. package/dist/contract/index.js +1895 -0
  71. package/dist/contract/projects.d.ts +210 -0
  72. package/dist/contract/repo.d.ts +234 -0
  73. package/dist/contract/runs.d.ts +1473 -0
  74. package/dist/contract/skills.d.ts +232 -0
  75. package/dist/contract/workflows.d.ts +218 -0
  76. package/dist/contract/workspace.d.ts +579 -0
  77. package/dist/core/agent-env.d.ts +31 -0
  78. package/dist/core/agent-env.js +371 -0
  79. package/dist/core/agent-env.js.map +1 -0
  80. package/dist/core/agent-model-policy.d.ts +10 -0
  81. package/dist/core/agent-model-policy.js +36 -0
  82. package/dist/core/agent-model-policy.js.map +1 -0
  83. package/dist/core/agent-profiles.d.ts +62 -0
  84. package/dist/core/agent-profiles.js +90 -0
  85. package/dist/core/agent-profiles.js.map +1 -0
  86. package/dist/core/agent-runner.d.ts +211 -0
  87. package/dist/core/agent-runner.js +68 -0
  88. package/dist/core/agent-runner.js.map +1 -0
  89. package/dist/core/ask.d.ts +105 -0
  90. package/dist/core/ask.js +187 -0
  91. package/dist/core/ask.js.map +1 -0
  92. package/dist/core/backend-detect.d.ts +16 -0
  93. package/dist/core/backend-detect.js +155 -0
  94. package/dist/core/backend-detect.js.map +1 -0
  95. package/dist/core/claude-cli-runner.d.ts +59 -0
  96. package/dist/core/claude-cli-runner.js +483 -0
  97. package/dist/core/claude-cli-runner.js.map +1 -0
  98. package/dist/core/claude-ui-mapper.d.ts +80 -0
  99. package/dist/core/claude-ui-mapper.js +598 -0
  100. package/dist/core/claude-ui-mapper.js.map +1 -0
  101. package/dist/core/codex-app-server-runner.d.ts +41 -0
  102. package/dist/core/codex-app-server-runner.js +584 -0
  103. package/dist/core/codex-app-server-runner.js.map +1 -0
  104. package/dist/core/codex-app-server-transport.d.ts +35 -0
  105. package/dist/core/codex-app-server-transport.js +150 -0
  106. package/dist/core/codex-app-server-transport.js.map +1 -0
  107. package/dist/core/codex-model-catalog.d.ts +10 -0
  108. package/dist/core/codex-model-catalog.js +110 -0
  109. package/dist/core/codex-model-catalog.js.map +1 -0
  110. package/dist/core/codex-ui-mapper.d.ts +112 -0
  111. package/dist/core/codex-ui-mapper.js +766 -0
  112. package/dist/core/codex-ui-mapper.js.map +1 -0
  113. package/dist/core/model-identity.d.ts +125 -0
  114. package/dist/core/model-identity.js +132 -0
  115. package/dist/core/model-identity.js.map +1 -0
  116. package/dist/core/model-presets.d.ts +21 -0
  117. package/dist/core/model-presets.js +81 -0
  118. package/dist/core/model-presets.js.map +1 -0
  119. package/dist/core/ndjson.d.ts +6 -0
  120. package/dist/core/ndjson.js +23 -0
  121. package/dist/core/ndjson.js.map +1 -0
  122. package/dist/core/opencode-model-catalog.d.ts +32 -0
  123. package/dist/core/opencode-model-catalog.js +153 -0
  124. package/dist/core/opencode-model-catalog.js.map +1 -0
  125. package/dist/core/opencode-server-runner.d.ts +32 -0
  126. package/dist/core/opencode-server-runner.js +882 -0
  127. package/dist/core/opencode-server-runner.js.map +1 -0
  128. package/dist/core/opencode-ui-mapper.d.ts +137 -0
  129. package/dist/core/opencode-ui-mapper.js +800 -0
  130. package/dist/core/opencode-ui-mapper.js.map +1 -0
  131. package/dist/core/pi-model-catalog.d.ts +31 -0
  132. package/dist/core/pi-model-catalog.js +152 -0
  133. package/dist/core/pi-model-catalog.js.map +1 -0
  134. package/dist/core/pi-runner.d.ts +24 -0
  135. package/dist/core/pi-runner.js +403 -0
  136. package/dist/core/pi-runner.js.map +1 -0
  137. package/dist/core/pi-ui-mapper.d.ts +36 -0
  138. package/dist/core/pi-ui-mapper.js +304 -0
  139. package/dist/core/pi-ui-mapper.js.map +1 -0
  140. package/dist/core/process-usage.d.ts +66 -0
  141. package/dist/core/process-usage.js +193 -0
  142. package/dist/core/process-usage.js.map +1 -0
  143. package/dist/core/provider-auth.d.ts +154 -0
  144. package/dist/core/provider-auth.js +509 -0
  145. package/dist/core/provider-auth.js.map +1 -0
  146. package/dist/core/provider-availability.d.ts +3 -0
  147. package/dist/core/provider-availability.js +14 -0
  148. package/dist/core/provider-availability.js.map +1 -0
  149. package/dist/core/runner-factory.d.ts +8 -0
  150. package/dist/core/runner-factory.js +25 -0
  151. package/dist/core/runner-factory.js.map +1 -0
  152. package/dist/core/runner-model-catalog.d.ts +29 -0
  153. package/dist/core/runner-model-catalog.js +78 -0
  154. package/dist/core/runner-model-catalog.js.map +1 -0
  155. package/dist/core/secret-redaction.d.ts +37 -0
  156. package/dist/core/secret-redaction.js +115 -0
  157. package/dist/core/secret-redaction.js.map +1 -0
  158. package/dist/core/shell-env.d.ts +28 -0
  159. package/dist/core/shell-env.js +56 -0
  160. package/dist/core/shell-env.js.map +1 -0
  161. package/dist/core/tool-display.d.ts +31 -0
  162. package/dist/core/tool-display.js +179 -0
  163. package/dist/core/tool-display.js.map +1 -0
  164. package/dist/core/ui-events.d.ts +335 -0
  165. package/dist/core/ui-events.js +25 -0
  166. package/dist/core/ui-events.js.map +1 -0
  167. package/dist/core/usage-limit.d.ts +42 -0
  168. package/dist/core/usage-limit.js +209 -0
  169. package/dist/core/usage-limit.js.map +1 -0
  170. package/dist/core/usage.d.ts +11 -0
  171. package/dist/core/usage.js +15 -0
  172. package/dist/core/usage.js.map +1 -0
  173. package/dist/core/v1-text-coalescer.d.ts +36 -0
  174. package/dist/core/v1-text-coalescer.js +72 -0
  175. package/dist/core/v1-text-coalescer.js.map +1 -0
  176. package/dist/git-diff-base.d.ts +85 -0
  177. package/dist/git-diff-base.js +180 -0
  178. package/dist/git-diff-base.js.map +1 -0
  179. package/dist/git-refs.d.ts +11 -0
  180. package/dist/git-refs.js +14 -0
  181. package/dist/git-refs.js.map +1 -0
  182. package/dist/git-worktree.d.ts +161 -0
  183. package/dist/git-worktree.js +508 -0
  184. package/dist/git-worktree.js.map +1 -0
  185. package/dist/handoff.d.ts +62 -0
  186. package/dist/handoff.js +154 -0
  187. package/dist/handoff.js.map +1 -0
  188. package/dist/index.d.ts +2 -0
  189. package/dist/index.js +680 -0
  190. package/dist/index.js.map +1 -0
  191. package/dist/install-as-command.d.ts +40 -0
  192. package/dist/install-as-command.js +52 -0
  193. package/dist/install-as-command.js.map +1 -0
  194. package/dist/pack-check.d.ts +17 -0
  195. package/dist/pack-check.js +27 -0
  196. package/dist/pack-check.js.map +1 -0
  197. package/dist/paths.d.ts +140 -0
  198. package/dist/paths.js +192 -0
  199. package/dist/paths.js.map +1 -0
  200. package/dist/planner.d.ts +27 -0
  201. package/dist/planner.js +268 -0
  202. package/dist/planner.js.map +1 -0
  203. package/dist/release/manifests.d.ts +81 -0
  204. package/dist/release/manifests.js +74 -0
  205. package/dist/release/manifests.js.map +1 -0
  206. package/dist/release/snapshot.d.ts +67 -0
  207. package/dist/release/snapshot.js +97 -0
  208. package/dist/release/snapshot.js.map +1 -0
  209. package/dist/release/stable.d.ts +38 -0
  210. package/dist/release/stable.js +55 -0
  211. package/dist/release/stable.js.map +1 -0
  212. package/dist/runs/agent-tmpdir.d.ts +41 -0
  213. package/dist/runs/agent-tmpdir.js +183 -0
  214. package/dist/runs/agent-tmpdir.js.map +1 -0
  215. package/dist/runs/auto-name.d.ts +75 -0
  216. package/dist/runs/auto-name.js +179 -0
  217. package/dist/runs/auto-name.js.map +1 -0
  218. package/dist/runs/event-history.d.ts +50 -0
  219. package/dist/runs/event-history.js +613 -0
  220. package/dist/runs/event-history.js.map +1 -0
  221. package/dist/runs/retention.d.ts +60 -0
  222. package/dist/runs/retention.js +86 -0
  223. package/dist/runs/retention.js.map +1 -0
  224. package/dist/runs/review-gate.d.ts +18 -0
  225. package/dist/runs/review-gate.js +21 -0
  226. package/dist/runs/review-gate.js.map +1 -0
  227. package/dist/runs/run-index.d.ts +19 -0
  228. package/dist/runs/run-index.js +43 -0
  229. package/dist/runs/run-index.js.map +1 -0
  230. package/dist/runs/store.d.ts +446 -0
  231. package/dist/runs/store.js +1118 -0
  232. package/dist/runs/store.js.map +1 -0
  233. package/dist/runs/task-markers.d.ts +28 -0
  234. package/dist/runs/task-markers.js +74 -0
  235. package/dist/runs/task-markers.js.map +1 -0
  236. package/dist/runs/task-refs.d.ts +25 -0
  237. package/dist/runs/task-refs.js +74 -0
  238. package/dist/runs/task-refs.js.map +1 -0
  239. package/dist/runs/ui-event-sink.d.ts +81 -0
  240. package/dist/runs/ui-event-sink.js +210 -0
  241. package/dist/runs/ui-event-sink.js.map +1 -0
  242. package/dist/server/app-type.d.ts +21 -0
  243. package/dist/server/app-type.js +2 -0
  244. package/dist/server/app-type.js.map +1 -0
  245. package/dist/server/capabilities.d.ts +70 -0
  246. package/dist/server/capabilities.js +152 -0
  247. package/dist/server/capabilities.js.map +1 -0
  248. package/dist/server/checkout.d.ts +128 -0
  249. package/dist/server/checkout.js +296 -0
  250. package/dist/server/checkout.js.map +1 -0
  251. package/dist/server/forge/github.d.ts +513 -0
  252. package/dist/server/forge/github.js +2364 -0
  253. package/dist/server/forge/github.js.map +1 -0
  254. package/dist/server/forge/index.d.ts +40 -0
  255. package/dist/server/forge/index.js +72 -0
  256. package/dist/server/forge/index.js.map +1 -0
  257. package/dist/server/forge/types.d.ts +242 -0
  258. package/dist/server/forge/types.js +2 -0
  259. package/dist/server/forge/types.js.map +1 -0
  260. package/dist/server/fs-browse.d.ts +105 -0
  261. package/dist/server/fs-browse.js +182 -0
  262. package/dist/server/fs-browse.js.map +1 -0
  263. package/dist/server/git-changes.d.ts +213 -0
  264. package/dist/server/git-changes.js +555 -0
  265. package/dist/server/git-changes.js.map +1 -0
  266. package/dist/server/git.d.ts +28 -0
  267. package/dist/server/git.js +112 -0
  268. package/dist/server/git.js.map +1 -0
  269. package/dist/server/github.d.ts +9 -0
  270. package/dist/server/github.js +8 -0
  271. package/dist/server/github.js.map +1 -0
  272. package/dist/server/launch-key.d.ts +7 -0
  273. package/dist/server/launch-key.js +33 -0
  274. package/dist/server/launch-key.js.map +1 -0
  275. package/dist/server/open-in-app.d.ts +66 -0
  276. package/dist/server/open-in-app.js +211 -0
  277. package/dist/server/open-in-app.js.map +1 -0
  278. package/dist/server/open-in-terminal.d.ts +70 -0
  279. package/dist/server/open-in-terminal.js +179 -0
  280. package/dist/server/open-in-terminal.js.map +1 -0
  281. package/dist/server/pr.d.ts +7 -0
  282. package/dist/server/pr.js +7 -0
  283. package/dist/server/pr.js.map +1 -0
  284. package/dist/server/project-context.d.ts +120 -0
  285. package/dist/server/project-context.js +182 -0
  286. package/dist/server/project-context.js.map +1 -0
  287. package/dist/server/provider-action-gate.d.ts +8 -0
  288. package/dist/server/provider-action-gate.js +56 -0
  289. package/dist/server/provider-action-gate.js.map +1 -0
  290. package/dist/server/provider-auth-runtime.d.ts +21 -0
  291. package/dist/server/provider-auth-runtime.js +66 -0
  292. package/dist/server/provider-auth-runtime.js.map +1 -0
  293. package/dist/server/server.d.ts +13138 -0
  294. package/dist/server/server.js +5263 -0
  295. package/dist/server/server.js.map +1 -0
  296. package/dist/server/static-ui.d.ts +49 -0
  297. package/dist/server/static-ui.js +92 -0
  298. package/dist/server/static-ui.js.map +1 -0
  299. package/dist/server/validators.d.ts +97 -0
  300. package/dist/server/validators.js +86 -0
  301. package/dist/server/validators.js.map +1 -0
  302. package/dist/server/ws.d.ts +85 -0
  303. package/dist/server/ws.js +218 -0
  304. package/dist/server/ws.js.map +1 -0
  305. package/dist/server/wsl.d.ts +25 -0
  306. package/dist/server/wsl.js +92 -0
  307. package/dist/server/wsl.js.map +1 -0
  308. package/dist/server-install/engine.d.ts +50 -0
  309. package/dist/server-install/engine.js +324 -0
  310. package/dist/server-install/engine.js.map +1 -0
  311. package/dist/server-install/platforms/macosx-ngrok.d.ts +6 -0
  312. package/dist/server-install/platforms/macosx-ngrok.js +345 -0
  313. package/dist/server-install/platforms/macosx-ngrok.js.map +1 -0
  314. package/dist/server-install/platforms/ubuntu-vps.d.ts +78 -0
  315. package/dist/server-install/platforms/ubuntu-vps.js +1016 -0
  316. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -0
  317. package/dist/server-install/state.d.ts +52 -0
  318. package/dist/server-install/state.js +182 -0
  319. package/dist/server-install/state.js.map +1 -0
  320. package/dist/server-install/steps.d.ts +109 -0
  321. package/dist/server-install/steps.js +334 -0
  322. package/dist/server-install/steps.js.map +1 -0
  323. package/dist/server-install/strategies.d.ts +4 -0
  324. package/dist/server-install/strategies.js +20 -0
  325. package/dist/server-install/strategies.js.map +1 -0
  326. package/dist/server-install/types.d.ts +287 -0
  327. package/dist/server-install/types.js +121 -0
  328. package/dist/server-install/types.js.map +1 -0
  329. package/dist/server-install/ui.d.ts +42 -0
  330. package/dist/server-install/ui.js +130 -0
  331. package/dist/server-install/ui.js.map +1 -0
  332. package/dist/skills-banner.d.ts +22 -0
  333. package/dist/skills-banner.js +41 -0
  334. package/dist/skills-banner.js.map +1 -0
  335. package/dist/skills-remote.d.ts +84 -0
  336. package/dist/skills-remote.js +468 -0
  337. package/dist/skills-remote.js.map +1 -0
  338. package/dist/skills-update.d.ts +88 -0
  339. package/dist/skills-update.js +392 -0
  340. package/dist/skills-update.js.map +1 -0
  341. package/dist/skills.d.ts +82 -0
  342. package/dist/skills.js +251 -0
  343. package/dist/skills.js.map +1 -0
  344. package/dist/todos.d.ts +48 -0
  345. package/dist/todos.js +201 -0
  346. package/dist/todos.js.map +1 -0
  347. package/dist/ui-state.d.ts +26 -0
  348. package/dist/ui-state.js +38 -0
  349. package/dist/ui-state.js.map +1 -0
  350. package/dist/update-check.d.ts +12 -0
  351. package/dist/update-check.js +41 -0
  352. package/dist/update-check.js.map +1 -0
  353. package/dist/workflows/load.d.ts +15 -0
  354. package/dist/workflows/load.js +56 -0
  355. package/dist/workflows/load.js.map +1 -0
  356. package/dist/workflows/run.d.ts +758 -0
  357. package/dist/workflows/run.js +3389 -0
  358. package/dist/workflows/run.js.map +1 -0
  359. package/dist/workflows/types.d.ts +153 -0
  360. package/dist/workflows/types.js +212 -0
  361. package/dist/workflows/types.js.map +1 -0
  362. package/dist/workspace/agent-accounts.d.ts +153 -0
  363. package/dist/workspace/agent-accounts.js +304 -0
  364. package/dist/workspace/agent-accounts.js.map +1 -0
  365. package/dist/workspace/agent-profiles.d.ts +78 -0
  366. package/dist/workspace/agent-profiles.js +115 -0
  367. package/dist/workspace/agent-profiles.js.map +1 -0
  368. package/dist/workspace/config.d.ts +169 -0
  369. package/dist/workspace/config.js +379 -0
  370. package/dist/workspace/config.js.map +1 -0
  371. package/dist/workspace/migrations.d.ts +45 -0
  372. package/dist/workspace/migrations.js +147 -0
  373. package/dist/workspace/migrations.js.map +1 -0
  374. package/dist/workspace/projects-cli.d.ts +25 -0
  375. package/dist/workspace/projects-cli.js +172 -0
  376. package/dist/workspace/projects-cli.js.map +1 -0
  377. package/dist/workspace/projects.d.ts +109 -0
  378. package/dist/workspace/projects.js +250 -0
  379. package/dist/workspace/projects.js.map +1 -0
  380. package/dist/workspace/semaphore.d.ts +179 -0
  381. package/dist/workspace/semaphore.js +195 -0
  382. package/dist/workspace/semaphore.js.map +1 -0
  383. package/dist/workspace/ui-state.d.ts +34 -0
  384. package/dist/workspace/ui-state.js +53 -0
  385. package/dist/workspace/ui-state.js.map +1 -0
  386. package/package.json +70 -0
  387. package/scripts/check-pack.mjs +46 -0
  388. package/scripts/inline-contract.mjs +112 -0
  389. package/scripts/install-as-command.mjs +120 -0
  390. package/scripts/mock-claude.mjs +520 -0
  391. package/scripts/mock-pi-rpc.mjs +83 -0
  392. package/scripts/sync-readme.mjs +20 -0
  393. package/scripts/test-process-usage.mjs +47 -0
  394. package/web/dist/assets/alert-dialog-B4Ofsgv7.js +1 -0
  395. package/web/dist/assets/arrow-down-Dy8dup7j.js +1 -0
  396. package/web/dist/assets/arrow-left-BJaucbhn.js +1 -0
  397. package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
  398. package/web/dist/assets/centered-state-duPW0phQ.js +43 -0
  399. package/web/dist/assets/chevron-right-Be4A5TCS.js +1 -0
  400. package/web/dist/assets/chunk-BO2N2NFS-DE6qKn3r.js +131 -0
  401. package/web/dist/assets/collapsible-DdcNBdSk.js +1 -0
  402. package/web/dist/assets/commit-list-CgvN9vec.js +1 -0
  403. package/web/dist/assets/compare-variants-CQA2nd65.js +1 -0
  404. package/web/dist/assets/core-BCsw8oQw.js +12 -0
  405. package/web/dist/assets/css-BsVw1vtW.js +1 -0
  406. package/web/dist/assets/diff-B6Agp5Hl.js +3 -0
  407. package/web/dist/assets/diff-stat-BoXuGkgq.js +1 -0
  408. package/web/dist/assets/diff-view-CD8XI-fj.js +6 -0
  409. package/web/dist/assets/diff-woXpYk--.js +1 -0
  410. package/web/dist/assets/dropdown-menu-B3SYw-k5.js +1 -0
  411. package/web/dist/assets/editable-title-B-hjp5wl.js +1 -0
  412. package/web/dist/assets/ellipsis-vertical-BYwzw0xl.js +1 -0
  413. package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
  414. package/web/dist/assets/file-BRj5eISx.js +1 -0
  415. package/web/dist/assets/folder-z4oT5981.js +1 -0
  416. package/web/dist/assets/git-toolbar-owSEkYld.js +1 -0
  417. package/web/dist/assets/github-Bz2VgRX3.js +1 -0
  418. package/web/dist/assets/go-rLFTqkRN.js +1 -0
  419. package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
  420. package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
  421. package/web/dist/assets/html-BY76lXLH.js +1 -0
  422. package/web/dist/assets/image-preview-h3WFluuy.js +1 -0
  423. package/web/dist/assets/index-BbcQNT92.css +2 -0
  424. package/web/dist/assets/index-EtQQQ6Kj.js +7 -0
  425. package/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  426. package/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  427. package/web/dist/assets/javascript-BgS3c2Ky.js +1 -0
  428. package/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  429. package/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  430. package/web/dist/assets/json-qhed-kSA.js +1 -0
  431. package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
  432. package/web/dist/assets/jsx-Bz0zcwM4.js +1 -0
  433. package/web/dist/assets/lib-BQXq3kEf.js +1 -0
  434. package/web/dist/assets/lib-BxQXEXDF.js +1 -0
  435. package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
  436. package/web/dist/assets/markdown-DqBKYPiB.js +2 -0
  437. package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
  438. package/web/dist/assets/new-task-form-BdJKRBJX.js +1 -0
  439. package/web/dist/assets/pill-BQfmfpYp.js +1 -0
  440. package/web/dist/assets/project-router-DxgFZY1l.js +1 -0
  441. package/web/dist/assets/prompt-templates-B6m16gq-.js +15 -0
  442. package/web/dist/assets/python-gzcpVVnB.js +1 -0
  443. package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
  444. package/web/dist/assets/refresh-cw-mhSpxf2a.js +1 -0
  445. package/web/dist/assets/repo-git-CUNRxR3_.js +1 -0
  446. package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  447. package/web/dist/assets/run-diff-DsmmDVfx.js +3 -0
  448. package/web/dist/assets/run-header-BkhrseLJ.js +1 -0
  449. package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
  450. package/web/dist/assets/search-x-BqDMB2g8.js +1 -0
  451. package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
  452. package/web/dist/assets/skill-empty-hint-BWEvTggc.js +1 -0
  453. package/web/dist/assets/skills-9oR_oHse.js +1 -0
  454. package/web/dist/assets/skills-DwIxnnWO.js +1 -0
  455. package/web/dist/assets/sparkles-DIoTQpyx.js +1 -0
  456. package/web/dist/assets/sql-BsFa4tDR.js +1 -0
  457. package/web/dist/assets/square-terminal-Cc7CuQxc.js +1 -0
  458. package/web/dist/assets/tab-link-D1fQgpmO.js +1 -0
  459. package/web/dist/assets/task-changes-BKeLlDpK.js +1 -0
  460. package/web/dist/assets/task-commits-gcEFZIa5.js +1 -0
  461. package/web/dist/assets/task-files-BGAqoXTW.js +2 -0
  462. package/web/dist/assets/task-thread-DT8aUYTS.js +9 -0
  463. package/web/dist/assets/textarea-BOVbfy5C.js +1 -0
  464. package/web/dist/assets/thread-loading-CypW73KD.js +1 -0
  465. package/web/dist/assets/toml-CcmNWLt0.js +1 -0
  466. package/web/dist/assets/trash-2-CJq6LHWn.js +1 -0
  467. package/web/dist/assets/triangle-alert-CjDFvU27.js +1 -0
  468. package/web/dist/assets/tsx-udAQXfEw.js +1 -0
  469. package/web/dist/assets/typescript-bsJCZSQ-.js +1 -0
  470. package/web/dist/assets/upload-CPDZlJeK.js +1 -0
  471. package/web/dist/assets/use-desktop-5JsLmi0a.js +1 -0
  472. package/web/dist/assets/use-submit-shortcut-CHVFevty.js +1 -0
  473. package/web/dist/assets/utils-DiO6zyJd.js +64 -0
  474. package/web/dist/assets/workflows-rQDFzWRt.js +11 -0
  475. package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
  476. package/web/dist/assets/zoomable-image-COWqb11v.js +1 -0
  477. package/web/dist/index.html +80 -0
  478. package/web/dist/open-mercato.svg +11 -0
@@ -0,0 +1,255 @@
1
+ import { z } from 'zod';
2
+ export declare const automationEventSchema: z.ZodEnum<{
3
+ "issue.labeled": "issue.labeled";
4
+ "issue.opened": "issue.opened";
5
+ "issue.unlabeled": "issue.unlabeled";
6
+ "pull_request.opened": "pull_request.opened";
7
+ }>;
8
+ export declare const automationFiltersSchema: z.ZodObject<{
9
+ authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
+ anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
+ lookbackDays: z.ZodDefault<z.ZodNumber>;
16
+ maxRecords: z.ZodDefault<z.ZodNumber>;
17
+ }, z.core.$loose>;
18
+ export declare const automationTaskSchema: z.ZodObject<{
19
+ prompt: z.ZodString;
20
+ workflow: z.ZodOptional<z.ZodString>;
21
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
22
+ id: z.ZodString;
23
+ name: z.ZodOptional<z.ZodString>;
24
+ prompt: z.ZodOptional<z.ZodString>;
25
+ skill: z.ZodOptional<z.ZodString>;
26
+ model: z.ZodOptional<z.ZodString>;
27
+ runner: z.ZodOptional<z.ZodEnum<{
28
+ claude: "claude";
29
+ codex: "codex";
30
+ opencode: "opencode";
31
+ pi: "pi";
32
+ }>>;
33
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
35
+ command: z.ZodOptional<z.ZodString>;
36
+ onFail: z.ZodOptional<z.ZodObject<{
37
+ retry: z.ZodString;
38
+ max: z.ZodDefault<z.ZodNumber>;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>>>;
41
+ runner: z.ZodOptional<z.ZodEnum<{
42
+ claude: "claude";
43
+ codex: "codex";
44
+ opencode: "opencode";
45
+ pi: "pi";
46
+ }>>;
47
+ model: z.ZodOptional<z.ZodString>;
48
+ variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
49
+ worktree: z.ZodOptional<z.ZodBoolean>;
50
+ generateFollowups: z.ZodOptional<z.ZodBoolean>;
51
+ autonomous: z.ZodOptional<z.ZodBoolean>;
52
+ systemPrompt: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$loose>;
54
+ export declare const automationDefinitionSchema: z.ZodObject<{
55
+ id: z.ZodString;
56
+ revision: z.ZodNumber;
57
+ name: z.ZodString;
58
+ description: z.ZodOptional<z.ZodString>;
59
+ enabled: z.ZodDefault<z.ZodBoolean>;
60
+ events: z.ZodArray<z.ZodEnum<{
61
+ "issue.labeled": "issue.labeled";
62
+ "issue.opened": "issue.opened";
63
+ "issue.unlabeled": "issue.unlabeled";
64
+ "pull_request.opened": "pull_request.opened";
65
+ }>>;
66
+ intervalSeconds: z.ZodDefault<z.ZodNumber>;
67
+ filters: z.ZodObject<{
68
+ authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
69
+ assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
71
+ anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
72
+ excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
73
+ changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
+ lookbackDays: z.ZodDefault<z.ZodNumber>;
75
+ maxRecords: z.ZodDefault<z.ZodNumber>;
76
+ }, z.core.$loose>;
77
+ task: z.ZodObject<{
78
+ prompt: z.ZodString;
79
+ workflow: z.ZodOptional<z.ZodString>;
80
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
81
+ id: z.ZodString;
82
+ name: z.ZodOptional<z.ZodString>;
83
+ prompt: z.ZodOptional<z.ZodString>;
84
+ skill: z.ZodOptional<z.ZodString>;
85
+ model: z.ZodOptional<z.ZodString>;
86
+ runner: z.ZodOptional<z.ZodEnum<{
87
+ claude: "claude";
88
+ codex: "codex";
89
+ opencode: "opencode";
90
+ pi: "pi";
91
+ }>>;
92
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
+ bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
94
+ command: z.ZodOptional<z.ZodString>;
95
+ onFail: z.ZodOptional<z.ZodObject<{
96
+ retry: z.ZodString;
97
+ max: z.ZodDefault<z.ZodNumber>;
98
+ }, z.core.$strip>>;
99
+ }, z.core.$strip>>>;
100
+ runner: z.ZodOptional<z.ZodEnum<{
101
+ claude: "claude";
102
+ codex: "codex";
103
+ opencode: "opencode";
104
+ pi: "pi";
105
+ }>>;
106
+ model: z.ZodOptional<z.ZodString>;
107
+ variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
108
+ worktree: z.ZodOptional<z.ZodBoolean>;
109
+ generateFollowups: z.ZodOptional<z.ZodBoolean>;
110
+ autonomous: z.ZodOptional<z.ZodBoolean>;
111
+ systemPrompt: z.ZodOptional<z.ZodString>;
112
+ }, z.core.$loose>;
113
+ createdAt: z.ZodString;
114
+ updatedAt: z.ZodString;
115
+ }, z.core.$loose>;
116
+ export declare const automationDefinitionsFileSchema: z.ZodObject<{
117
+ version: z.ZodDefault<z.ZodLiteral<1>>;
118
+ automations: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
119
+ tombstones: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
120
+ }, z.core.$loose>;
121
+ export declare const automationCursorSchema: z.ZodObject<{
122
+ timestamp: z.ZodString;
123
+ tieBreaker: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$loose>;
125
+ export declare const automationRuntimeStateSchema: z.ZodObject<{
126
+ revision: z.ZodOptional<z.ZodNumber>;
127
+ baselineAt: z.ZodOptional<z.ZodString>;
128
+ cursor: z.ZodOptional<z.ZodObject<{
129
+ timestamp: z.ZodString;
130
+ tieBreaker: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$loose>>;
132
+ frozenHighWatermark: z.ZodOptional<z.ZodObject<{
133
+ timestamp: z.ZodString;
134
+ tieBreaker: z.ZodString;
135
+ }, z.core.$loose>>;
136
+ backlogAfter: z.ZodOptional<z.ZodObject<{
137
+ timestamp: z.ZodString;
138
+ tieBreaker: z.ZodString;
139
+ }, z.core.$loose>>;
140
+ nextCheckAt: z.ZodOptional<z.ZodString>;
141
+ lastSuccessAt: z.ZodOptional<z.ZodString>;
142
+ etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
143
+ backoffUntil: z.ZodOptional<z.ZodString>;
144
+ consecutiveFailures: z.ZodOptional<z.ZodNumber>;
145
+ }, z.core.$loose>;
146
+ export declare const automationStateFileSchema: z.ZodObject<{
147
+ version: z.ZodDefault<z.ZodLiteral<1>>;
148
+ states: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
149
+ revision: z.ZodOptional<z.ZodNumber>;
150
+ baselineAt: z.ZodOptional<z.ZodString>;
151
+ cursor: z.ZodOptional<z.ZodObject<{
152
+ timestamp: z.ZodString;
153
+ tieBreaker: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$loose>>;
155
+ frozenHighWatermark: z.ZodOptional<z.ZodObject<{
156
+ timestamp: z.ZodString;
157
+ tieBreaker: z.ZodString;
158
+ }, z.core.$loose>>;
159
+ backlogAfter: z.ZodOptional<z.ZodObject<{
160
+ timestamp: z.ZodString;
161
+ tieBreaker: z.ZodString;
162
+ }, z.core.$loose>>;
163
+ nextCheckAt: z.ZodOptional<z.ZodString>;
164
+ lastSuccessAt: z.ZodOptional<z.ZodString>;
165
+ etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
166
+ backoffUntil: z.ZodOptional<z.ZodString>;
167
+ consecutiveFailures: z.ZodOptional<z.ZodNumber>;
168
+ }, z.core.$loose>>>;
169
+ }, z.core.$loose>;
170
+ export declare const automationReceiptSchema: z.ZodObject<{
171
+ receiptId: z.ZodString;
172
+ receiptKey: z.ZodString;
173
+ eventId: z.ZodString;
174
+ automationId: z.ZodString;
175
+ revision: z.ZodNumber;
176
+ status: z.ZodEnum<{
177
+ "launch-error": "launch-error";
178
+ launched: "launched";
179
+ reserved: "reserved";
180
+ }>;
181
+ runId: z.ZodOptional<z.ZodString>;
182
+ observedAt: z.ZodString;
183
+ updatedAt: z.ZodString;
184
+ error: z.ZodOptional<z.ZodString>;
185
+ candidate: z.ZodOptional<z.ZodObject<{
186
+ eventId: z.ZodString;
187
+ event: z.ZodEnum<{
188
+ "issue.labeled": "issue.labeled";
189
+ "issue.opened": "issue.opened";
190
+ "issue.unlabeled": "issue.unlabeled";
191
+ "pull_request.opened": "pull_request.opened";
192
+ }>;
193
+ timestamp: z.ZodString;
194
+ tieBreaker: z.ZodString;
195
+ repo: z.ZodString;
196
+ nodeId: z.ZodString;
197
+ number: z.ZodNumber;
198
+ title: z.ZodString;
199
+ url: z.ZodString;
200
+ author: z.ZodString;
201
+ assignees: z.ZodArray<z.ZodString>;
202
+ labels: z.ZodArray<z.ZodString>;
203
+ changedLabel: z.ZodOptional<z.ZodString>;
204
+ }, z.core.$loose>>;
205
+ }, z.core.$loose>;
206
+ export declare const automationLogResultSchema: z.ZodEnum<{
207
+ baseline: "baseline";
208
+ duplicate: "duplicate";
209
+ error: "error";
210
+ launched: "launched";
211
+ "no-match": "no-match";
212
+ preview: "preview";
213
+ "rate-limited": "rate-limited";
214
+ }>;
215
+ export declare const automationLogRecordSchema: z.ZodObject<{
216
+ seq: z.ZodNumber;
217
+ ts: z.ZodString;
218
+ automationId: z.ZodString;
219
+ revision: z.ZodNumber;
220
+ event: z.ZodOptional<z.ZodEnum<{
221
+ "issue.labeled": "issue.labeled";
222
+ "issue.opened": "issue.opened";
223
+ "issue.unlabeled": "issue.unlabeled";
224
+ "pull_request.opened": "pull_request.opened";
225
+ }>>;
226
+ result: z.ZodEnum<{
227
+ baseline: "baseline";
228
+ duplicate: "duplicate";
229
+ error: "error";
230
+ launched: "launched";
231
+ "no-match": "no-match";
232
+ preview: "preview";
233
+ "rate-limited": "rate-limited";
234
+ }>;
235
+ reason: z.ZodOptional<z.ZodString>;
236
+ durationMs: z.ZodOptional<z.ZodNumber>;
237
+ receiptId: z.ZodOptional<z.ZodString>;
238
+ runId: z.ZodOptional<z.ZodString>;
239
+ githubNumber: z.ZodOptional<z.ZodNumber>;
240
+ githubTitle: z.ZodOptional<z.ZodString>;
241
+ githubUrl: z.ZodOptional<z.ZodString>;
242
+ rateLimit: z.ZodOptional<z.ZodObject<{
243
+ bucket: z.ZodEnum<{
244
+ core: "core";
245
+ search: "search";
246
+ }>;
247
+ remaining: z.ZodOptional<z.ZodNumber>;
248
+ resetAt: z.ZodOptional<z.ZodString>;
249
+ }, z.core.$loose>>;
250
+ }, z.core.$loose>;
251
+ export type AutomationEvent = z.infer<typeof automationEventSchema>;
252
+ export type AutomationDefinition = z.infer<typeof automationDefinitionSchema>;
253
+ export type AutomationRuntimeState = z.infer<typeof automationRuntimeStateSchema>;
254
+ export type AutomationReceipt = z.infer<typeof automationReceiptSchema>;
255
+ export type AutomationLogRecord = z.infer<typeof automationLogRecordSchema>;
@@ -0,0 +1,159 @@
1
+ import { z } from 'zod';
2
+ import { RUNNER_IDS } from '../core/agent-runner.js';
3
+ import { workflowStepSchema } from '../workflows/types.js';
4
+ export const automationEventSchema = z.enum([
5
+ 'pull_request.opened',
6
+ 'issue.opened',
7
+ 'issue.labeled',
8
+ 'issue.unlabeled',
9
+ ]);
10
+ const boundedString = z.string().trim().min(1).max(200);
11
+ const stringList = z.array(boundedString).max(100).optional();
12
+ export const automationFiltersSchema = z
13
+ .object({
14
+ authors: stringList,
15
+ assignees: stringList,
16
+ allLabels: stringList,
17
+ anyLabels: stringList,
18
+ excludeLabels: stringList,
19
+ changedLabels: stringList,
20
+ lookbackDays: z.number().int().min(1).max(90).default(7),
21
+ maxRecords: z.number().int().min(1).max(100).default(25),
22
+ })
23
+ .passthrough();
24
+ export const automationTaskSchema = z
25
+ .object({
26
+ prompt: z.string().min(1).max(100_000),
27
+ workflow: z.string().trim().min(1).max(200).optional(),
28
+ steps: z.array(workflowStepSchema).min(1).max(100).optional(),
29
+ runner: z.enum(RUNNER_IDS).optional(),
30
+ model: z.string().trim().min(1).max(200).optional(),
31
+ variants: z.union([z.literal(1), z.literal(2), z.literal(3)]).optional(),
32
+ worktree: z.boolean().optional(),
33
+ generateFollowups: z.boolean().optional(),
34
+ autonomous: z.boolean().optional(),
35
+ systemPrompt: z.string().max(100_000).optional(),
36
+ })
37
+ .passthrough()
38
+ .refine((task) => !(task.workflow && task.steps), {
39
+ message: 'task selects either a named workflow or inline steps, not both',
40
+ });
41
+ export const automationDefinitionSchema = z
42
+ .object({
43
+ id: z.string().min(1).max(100),
44
+ revision: z.number().int().positive(),
45
+ name: z.string().trim().min(1).max(200),
46
+ description: z.string().max(2_000).optional(),
47
+ enabled: z.boolean().default(false),
48
+ events: z.array(automationEventSchema).min(1).max(4),
49
+ intervalSeconds: z.number().int().min(60).max(86_400).default(300),
50
+ filters: automationFiltersSchema,
51
+ task: automationTaskSchema,
52
+ createdAt: z.string().datetime(),
53
+ updatedAt: z.string().datetime(),
54
+ })
55
+ .passthrough()
56
+ .superRefine((definition, ctx) => {
57
+ if (definition.events.some((event) => event === 'issue.labeled' || event === 'issue.unlabeled') &&
58
+ !definition.filters.changedLabels?.length) {
59
+ ctx.addIssue({
60
+ code: z.ZodIssueCode.custom,
61
+ path: ['filters', 'changedLabels'],
62
+ message: 'changedLabels is required for issue label events',
63
+ });
64
+ }
65
+ });
66
+ export const automationDefinitionsFileSchema = z
67
+ .object({
68
+ version: z.literal(1).default(1),
69
+ automations: z.array(z.unknown()).default([]),
70
+ tombstones: z.record(z.string(), z.string().datetime()).optional(),
71
+ })
72
+ .passthrough();
73
+ export const automationCursorSchema = z
74
+ .object({
75
+ timestamp: z.string().datetime(),
76
+ tieBreaker: z.string().optional(),
77
+ })
78
+ .passthrough();
79
+ export const automationRuntimeStateSchema = z
80
+ .object({
81
+ revision: z.number().int().positive().optional(),
82
+ baselineAt: z.string().datetime().optional(),
83
+ cursor: automationCursorSchema.optional(),
84
+ frozenHighWatermark: automationCursorSchema
85
+ .extend({ tieBreaker: z.string() })
86
+ .optional(),
87
+ backlogAfter: automationCursorSchema.extend({ tieBreaker: z.string() }).optional(),
88
+ nextCheckAt: z.string().datetime().optional(),
89
+ lastSuccessAt: z.string().datetime().optional(),
90
+ etags: z.record(z.string(), z.string()).optional(),
91
+ backoffUntil: z.string().datetime().optional(),
92
+ consecutiveFailures: z.number().int().nonnegative().optional(),
93
+ })
94
+ .passthrough();
95
+ export const automationStateFileSchema = z
96
+ .object({
97
+ version: z.literal(1).default(1),
98
+ states: z.record(z.string(), automationRuntimeStateSchema).default({}),
99
+ })
100
+ .passthrough();
101
+ export const automationReceiptSchema = z
102
+ .object({
103
+ receiptId: z.string().min(1),
104
+ receiptKey: z.string().min(1),
105
+ eventId: z.string().min(1),
106
+ automationId: z.string().min(1),
107
+ revision: z.number().int().positive(),
108
+ status: z.enum(['reserved', 'launched', 'launch-error']),
109
+ runId: z.string().optional(),
110
+ observedAt: z.string().datetime(),
111
+ updatedAt: z.string().datetime(),
112
+ error: z.string().max(2_000).optional(),
113
+ candidate: z
114
+ .object({
115
+ eventId: z.string(), event: automationEventSchema, timestamp: z.string().datetime(),
116
+ tieBreaker: z.string(), repo: z.string(), nodeId: z.string(), number: z.number().int().positive(),
117
+ title: z.string().max(500), url: z.string().url(), author: z.string().max(200),
118
+ assignees: z.array(z.string().max(200)).max(100), labels: z.array(z.string().max(200)).max(100),
119
+ changedLabel: z.string().max(200).optional(),
120
+ })
121
+ .passthrough()
122
+ .optional(),
123
+ })
124
+ .passthrough();
125
+ export const automationLogResultSchema = z.enum([
126
+ 'launched',
127
+ 'no-match',
128
+ 'duplicate',
129
+ 'rate-limited',
130
+ 'error',
131
+ 'baseline',
132
+ 'preview',
133
+ ]);
134
+ export const automationLogRecordSchema = z
135
+ .object({
136
+ seq: z.number().int().positive(),
137
+ ts: z.string().datetime(),
138
+ automationId: z.string().min(1),
139
+ revision: z.number().int().positive(),
140
+ event: automationEventSchema.optional(),
141
+ result: automationLogResultSchema,
142
+ reason: z.string().max(2_000).optional(),
143
+ durationMs: z.number().int().nonnegative().optional(),
144
+ receiptId: z.string().optional(),
145
+ runId: z.string().optional(),
146
+ githubNumber: z.number().int().positive().optional(),
147
+ githubTitle: z.string().max(500).optional(),
148
+ githubUrl: z.string().url().optional(),
149
+ rateLimit: z
150
+ .object({
151
+ bucket: z.enum(['core', 'search']),
152
+ remaining: z.number().int().nonnegative().optional(),
153
+ resetAt: z.string().datetime().optional(),
154
+ })
155
+ .passthrough()
156
+ .optional(),
157
+ })
158
+ .passthrough();
159
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/automations/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Optional advanced config at `.ai/cezar/config.json`. Zero-config rule:
4
+ * a missing file behaves exactly like the default below, an unreadable or
5
+ * invalid file degrades to the default too (never blocks startup). The key
6
+ * can be overridden or emptied (`"skillsRepos": []` disables team skills).
7
+ */
8
+ declare const skillsRepoSchema: z.ZodObject<{
9
+ repo: z.ZodString;
10
+ ref: z.ZodDefault<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ export type SkillsRepoSource = z.infer<typeof skillsRepoSchema>;
13
+ export declare const DEFAULT_SKILLS_REPOS: SkillsRepoSource[];
14
+ /** Last-resort retention when neither the repo nor the workspace says anything. */
15
+ export declare const DEFAULT_WORKTREE_RETENTION = 10;
16
+ declare const configSchema: z.ZodObject<{
17
+ skillsRepos: z.ZodDefault<z.ZodArray<z.ZodObject<{
18
+ repo: z.ZodString;
19
+ ref: z.ZodDefault<z.ZodString>;
20
+ }, z.core.$strip>>>;
21
+ maxParallel: z.ZodDefault<z.ZodNumber>;
22
+ worktreeRetention: z.ZodCatch<z.ZodDefault<z.ZodNumber>>;
23
+ memoryLimitMb: z.ZodCatch<z.ZodOptional<z.ZodNumber>>;
24
+ defaultRunner: z.ZodDefault<z.ZodEnum<{
25
+ claude: "claude";
26
+ codex: "codex";
27
+ opencode: "opencode";
28
+ pi: "pi";
29
+ }>>;
30
+ plannerModel: z.ZodDefault<z.ZodString>;
31
+ namerModel: z.ZodDefault<z.ZodString>;
32
+ liveTitleUpdates: z.ZodOptional<z.ZodBoolean>;
33
+ reviewGate: z.ZodOptional<z.ZodBoolean>;
34
+ baseBranch: z.ZodOptional<z.ZodString>;
35
+ systemPrompt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
36
+ defaultModels: z.ZodCatch<z.ZodOptional<z.ZodObject<{
37
+ claude: z.ZodOptional<z.ZodString>;
38
+ codex: z.ZodOptional<z.ZodString>;
39
+ opencode: z.ZodOptional<z.ZodString>;
40
+ pi: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>>>;
42
+ modelsLocked: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
43
+ }, z.core.$strip>;
44
+ export type CezConfig = z.infer<typeof configSchema>;
45
+ /**
46
+ * Read `.ai/cezar/config.json` on demand — never cached, never throws.
47
+ *
48
+ * Also reads the machine-wide defaults, which is one more small JSON read and deliberately not
49
+ * cached for the same reason this one is not: `~/.cezar/` is shared by every cezar process on the
50
+ * machine, so a snapshot is a staleness bug.
51
+ */
52
+ export declare function loadConfig(repoRoot: string): Promise<CezConfig>;
53
+ /**
54
+ * The default skills repos that are *opt-in per skill* (the "import OM skills"
55
+ * flow): the set of repo identifiers a user must explicitly import from before
56
+ * their skills join the catalog. This is exactly `DEFAULT_SKILLS_REPOS` when the
57
+ * repo has NOT configured its own `skillsRepos` — the zero-config majority — and
58
+ * empty once a repo takes control by setting `skillsRepos` (then everything it
59
+ * lists auto-loads, unchanged).
60
+ *
61
+ * `loadConfig` cannot answer this: the schema's `.default(DEFAULT_SKILLS_REPOS)`
62
+ * materializes the key, so a parsed config can't tell "the user chose these" from
63
+ * "the user said nothing". So we probe the raw file for the key's presence — the
64
+ * same reason `ownWorktreeRetention` below reads the raw JSON.
65
+ */
66
+ export declare function gatedSkillsRepos(repoRoot: string): Promise<Set<string>>;
67
+ /**
68
+ * Effective worktree retention for a repo (#483 + spec
69
+ * 2026-07-20-multi-project-workspace). Precedence, exactly what Settings →
70
+ * Worktrees promises: the repo's own `worktreeRetention` wins whenever it sets
71
+ * one; otherwise the workspace's `resources.worktreeRetentionDefault` seeds it;
72
+ * an absent/unreadable workspace config keeps the historical 10. Every
73
+ * enforcement site (boot sweeps, terminal transitions, the reclaim route) must
74
+ * go through here so the setting can never be a lie.
75
+ */
76
+ export declare function resolveWorktreeRetention(repoRoot: string): Promise<number>;
77
+ export {};