@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
@@ -1,10 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{$a as r,B as i,Di as a,Do as o,Dt as s,Ei as c,Et as l,Fr as u,H as d,Hi as f,Hn as p,Ii as m,J as h,Jn as g,Jr as _,Jt as v,Ln as y,Mi as b,Mn as x,Pa as S,Pt as C,Q as w,Rt as T,Sr as E,Ua as D,X as O,Y as k,Z as A,Zr as j,ao as M,at as N,do as P,en as F,et as I,fo as L,ht as ee,ia as te,in as R,io as z,it as ne,l as B,li as re,lo as ie,lr as ae,mn as oe,nt as se,qt as ce,ra as le,ro as V,rr as ue,so as H,to as de,vn as fe,vr as pe,xt as me,yi as he,yr as ge,z as _e,za as ve}from"./alert-dialog-C-xYE_dg.js";import{C as ye,S as be,_ as xe,b as Se,c as Ce,i as we,n as Te,s as Ee,t as U,x as De,y as Oe}from"./utils-fzNfbPzA.js";import{t as ke}from"./createLucideIcon-BHp8sXmF.js";import{I as Ae,M as je,P as Me,T as Ne,c as Pe,d as Fe,f as Ie,g as Le,h as Re,u as ze,v as Be,y as Ve}from"./mobile-run-bar-BCfmFi8V.js";import{a as He,c as Ue,i as We,l as Ge,n as Ke,o as qe,r as Je,s as Ye,t as Xe,u as Ze}from"./run-header-BcjoDi0W.js";import{c as Qe,l as $e}from"./reference-chip-D6owncJT.js";import{c as et,o as tt,t as nt}from"./use-desktop-CrDny2uG.js";import{A as rt,D as it,E as at,M as ot,O as st,R as ct,_ as lt,j as ut,v as dt,y as ft}from"./prompt-templates-CBPp39IU.js";import{f as pt,l as mt,r as W}from"./format-dBiNDNVe.js";import{n as ht}from"./tab-link-K0hjzEXR.js";import{t as gt}from"./search-x-I9Q8pgUa.js";import{n as _t,t as vt}from"./agent-accounts-CU2ZDv24.js";import{n as G,r as yt,t as bt}from"./collapsible-DD9J91Iv.js";import{t as xt}from"./textarea-DxlkE-Yd.js";import{a as St,c as Ct,i as wt,l as Tt,o as Et,r as Dt,t as Ot}from"./sheet-ChnYVrp1.js";import{t as kt}from"./use-submit-shortcut-KWJsC906.js";import{t as At}from"./markdown-zdKeLIYA.js";import{t as jt}from"./lib-BQXq3kEf2.js";import{t as Mt}from"./zoomable-image-CDmZ_Rtl.js";import{t as Nt}from"./run-diff-5-RRdcVz.js";var Pt=120;function Ft(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function It(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Pt?`${t.slice(0,Pt-1)}…`:t}function K(e,...t){if(Ft(e))for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim()!==``)return It(t)}}function Lt(e){if(!Ft(e))return;let t=e.command;if(typeof t==`string`&&t.trim()!==``)return It(t);if(Array.isArray(t)){let e=t.filter(e=>typeof e==`string`);if(e.length>0)return It(e.join(` `))}}function Rt(e){if(!Ft(e)||!Array.isArray(e.changes))return[];let t=[];for(let n of e.changes)Ft(n)&&typeof n.path==`string`&&n.path.trim()!==``&&t.push(n.path);return t}function zt(e){return K(e,`description`,`query`,`url`,`filePath`,`file_path`,`path`,`pattern`,`name`)}function q(e,t){return t?`${e} ${t}`:e}function Bt(e,t){let n=typeof e==`string`?e.toLowerCase():``;switch(n){case`bash`:case`commandexecution`:return{toolKind:`execute`,title:q(`Ran`,Lt(t)),subtitle:K(t,`description`)};case`edit`:case`multiedit`:return{toolKind:`edit`,title:q(`Edit`,K(t,`file_path`,`filePath`,`path`))};case`write`:return{toolKind:`edit`,title:q(`Write`,K(t,`file_path`,`filePath`,`path`))};case`notebookedit`:return{toolKind:`edit`,title:q(`Edit`,K(t,`notebook_path`,`notebookPath`,`file_path`,`filePath`,`path`))};case`filechange`:{let e=Rt(t);return{toolKind:`edit`,title:q(`Edit`,e.length===1?e[0]:e.length>1?`${e.length} files`:void 0)}}case`read`:return{toolKind:`read`,title:q(`Read`,K(t,`file_path`,`filePath`,`path`))};case`imageview`:return{toolKind:`read`,title:q(`View image`,K(t,`path`))};case`glob`:case`grep`:return{toolKind:`search`,title:q(`Search`,K(t,`pattern`,`query`)),subtitle:K(t,`path`)};case`webfetch`:return{toolKind:`fetch`,title:q(`Fetch`,K(t,`url`))};case`websearch`:return{toolKind:`fetch`,title:q(`Web search`,K(t,`query`))};case`task`:case`agent`:{let e=n===`agent`?`Agent`:`Task`,r=K(t,`subagent_type`,`subagentType`),i=K(t,`description`,`prompt`)??r;return{toolKind:`task`,title:i?`${e}: ${i}`:e,subtitle:i===r?void 0:r}}case`skill`:{let e=K(t,`skill`,`name`,`command`);return{toolKind:`task`,title:e?`Skill: ${e}`:`Skill`,subtitle:K(t,`args`,`description`)}}case`todowrite`:case`todolist`:case`plan`:case`taskcreate`:case`taskupdate`:case`tasklist`:return{toolKind:`plan`,title:`Update plan`};case`contextcompaction`:return{toolKind:`other`,title:`Compacted context`};case`mcptoolcall`:{let e=K(t,`server`),n=K(t,`tool`);return e&&n?{toolKind:`other`,title:`${e}.${n}`}:{toolKind:`other`,title:`MCP tool`,subtitle:zt(t)}}}if(n.startsWith(`mcp__`)){let t=e.split(`__`).filter(e=>e!==``);if(t.length>=3)return{toolKind:`other`,title:`${t[1]}.${t.slice(2).join(`__`)}`}}return{toolKind:`other`,title:typeof e==`string`&&e.trim()!==``?It(e):`Tool`,subtitle:zt(t)}}var Vt=class extends ie{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,l=o&&c===`forward`,u=i&&c===`forward`,d=o&&c===`backward`,f=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:P(t,n.data),hasPreviousPage:L(t,n.data),isFetchNextPageError:l,isFetchingNextPage:u,isFetchPreviousPageError:d,isFetchingPreviousPage:f,isRefetchError:s&&!l&&!d,isRefetching:a&&!u&&!f}}};function Ht(e,t){return M(e,Vt,t)}var Ut=ke(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),Wt=ke(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),Gt=ke(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),Kt=ke(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),qt=ke(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),J=e(t(),1),Jt=[`run-event`,`ui-event`];function Yt(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t||Array.isArray(t))return null;let{seq:n,type:r}=t;return typeof n!=`number`||typeof r!=`string`||r===``?null:t}function Xt(e,t={}){let[n,r]=(0,J.useState)([]),{cursor:i,afterSeq:a=0,maxEvents:o,compactAt:s,onCompact:c}=t;return(0,J.useEffect)(()=>{if(r([]),!e)return;let t=globalThis.EventSource;if(typeof t!=`function`)return;let n=a,l=null,u,d=!1,f=!1,p=Date.now(),m,h=e=>{p=Date.now();let t=Yt(e.data);!t||!(t.seq>n)||(n=t.seq,r(e=>{let n=[...e,t];return!f&&s!==void 0&&n.length>=s&&(f=!0,queueMicrotask(()=>{d||c?.()})),o===void 0||n.length<=o?n:n.slice(-o)}))},g=()=>{p=Date.now()},_=()=>{d||u!==void 0||(u=setTimeout(()=>{u=void 0,d||v()},1500))},v=()=>{l?.close(),p=Date.now();let r=new URLSearchParams;i!==void 0&&r.set(`cursor`,i),(i!==void 0||a>0)&&r.set(`afterSeq`,String(n));let o=r.size>0?`?${r.toString()}`:``;l=new t(we(`/runs/${encodeURIComponent(e)}/events${o}`),{withCredentials:!0});for(let e of Jt)l.addEventListener(e,h);l.addEventListener(`ping`,g),l.addEventListener(`error`,()=>{l?.readyState===2&&_()})},y=()=>{document.visibilityState===`visible`&&(!l||l.readyState===2)&&(clearTimeout(u),u=void 0,v())},b=()=>{clearTimeout(u),u=void 0,l?.close()},x=e=>{e.persisted&&v()};return m=setInterval(()=>{d||document.visibilityState!==`visible`||Date.now()-p<=4e4||(clearTimeout(u),u=void 0,v())},1e4),document.addEventListener(`visibilitychange`,y),window.addEventListener(`pagehide`,b),window.addEventListener(`pageshow`,x),v(),()=>{d=!0,clearTimeout(u),clearInterval(m),document.removeEventListener(`visibilitychange`,y),window.removeEventListener(`pagehide`,b),window.removeEventListener(`pageshow`,x),l?.close()}},[e,i,a,o,s,c]),n}var Zt=5,Qt=200,$t=5e3;function en(...e){let t=new Map;for(let n of e)for(let e of n)t.set(e.seq,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}function tn(e){let t=Ee(),n=H(),r=[`run-history`,t,e],i=[`run-history-context`,t,e],a=Ht({queryKey:r,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>le(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:Zt,retry:1}),o=z({queryKey:i,enabled:e!==void 0,queryFn:({signal:t})=>te(e,{signal:t}),retry:1}),s=a.isError||o.isError,c=Xt(s?e:void 0),l=a.data?.pages??[],u=l.reduce((e,t)=>t.newerCursor===void 0?t:e??t,void 0),d=(0,J.useRef)(!1),f=(0,J.useCallback)(()=>{e===void 0||d.current||(d.current=!0,le(e,void 0).then(r=>{n.setQueryData([`run-history`,t,e],e=>{if(!e)return{pages:[r],pageParams:[void 0]};let t=[...e.pages],n=[...e.pageParams],i=-1;for(let e=0;e<t.length;e+=1)(i===-1||t[e].asOfSeq>t[i].asOfSeq)&&(i=e);for(i>=0&&t[i].newerCursor===void 0?(t[i]=r,n[i]=void 0):(t.push(r),n.push(void 0));t.length>Zt;)t.shift(),n.shift();return{pages:t,pageParams:n}})}).catch(()=>{}).finally(()=>{d.current=!1}))},[n,e,t]),p=Xt(!s&&u?e:void 0,{cursor:u?.liveCursor,afterSeq:u?.asOfSeq,maxEvents:$t,compactAt:Qt,onCompact:f}),m=(0,J.useMemo)(()=>en(...l.map(e=>e.events)),[l]),h=(0,J.useMemo)(()=>s?c:en(m,p),[s,c,m,p]),g=(0,J.useMemo)(()=>{if(s)return c;let e=o.data?.contextEvents??[],t=o.data?.asOfSeq??0;return en(e,h.filter(({seq:e})=>e>t))},[o.data,s,c,h]),_=(0,J.useCallback)(async()=>{await a.fetchPreviousPage()},[a.fetchPreviousPage]),v=(0,J.useCallback)(async()=>{s||await n.resetQueries({queryKey:r,exact:!0})},[s,r,n]);return{visibleEvents:h,currentEvents:g,isPending:!s&&a.isPending,contextPending:!s&&o.isPending,fallback:s,hasOlder:!s&&!!a.hasPreviousPage,isFetchingOlder:a.isFetchingPreviousPage,olderError:a.isFetchPreviousPageError?a.error instanceof Error?a.error.message:`Could not load earlier items`:void 0,loadOlder:_,jumpToLatest:v,retainedPages:l.length}}var Y=n();function nn({run:e}){let t=H(),n=V({mutationFn:()=>c(e.id),onSuccess:()=>{t.invalidateQueries({queryKey:R.runs.detail(e.id)}),t.invalidateQueries({queryKey:R.runs.list()}),S(`This task will not resume itself`)},onError:e=>S(e.message,{tone:`danger`})});if(e.status!==`failed`||!e.autoResumeAt)return null;let r=new Date(e.autoResumeAt);if(!Number.isFinite(r.getTime()))return null;let i=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(r);return(0,Y.jsxs)(`div`,{"data-slot":`auto-resume-hint`,role:`status`,className:`flex flex-wrap items-center gap-x-2 gap-y-1 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(Qe,{tone:`neutral`,shape:`ring`}),(0,Y.jsxs)(`span`,{children:[`Usage limit reached — this task resumes automatically at`,` `,(0,Y.jsx)(`time`,{dateTime:e.autoResumeAt,className:`font-medium text-foreground`,children:i})]}),(0,Y.jsx)(`button`,{type:`button`,"data-action":`auto-resume-cancel`,disabled:n.isPending,onClick:()=>n.mutate(),className:`font-medium text-foreground underline decoration-border underline-offset-2 hover:decoration-foreground disabled:opacity-50`,children:`Don’t resume`}),(0,Y.jsx)(D,{to:`/settings/global/resources`,"data-slot":`auto-resume-settings-link`,className:`font-medium text-foreground underline decoration-border underline-offset-2 hover:decoration-foreground`,children:`Auto-resume settings`})]})}var rn=e=>e.kind===`tool`,an=e=>e.kind===`conversation`,on=e=>(e.toolKind===`read`||e.toolKind===`search`)&&e.status===`completed`,sn=(e,t,n)=>`${e} ${e===1?t:n}`;function cn(e,t){let n=[];return e>0&&n.push(sn(e,`file`,`files`)),t>0&&n.push(sn(t,`search`,`searches`)),`Explored ${n.join(` · `)}`}function ln(e){return`${e} earlier tool call${e===1?``:`s`}`}var un=[`Web search`,`Ran`,`Edit`,`Write`,`Read`,`Search`,`Fetch`,`Task:`];function dn(e){for(let t of un)if(e.startsWith(`${t} `)&&e.length>t.length+1)return{verb:t===`Task:`?`Task`:t,detail:e.slice(t.length+1)};return{verb:e}}function fn(e){let t=e.filter(e=>!(e.kind===`tool`&&e.toolKind===`plan`)&&!(e.kind===`reasoning`&&e.text.trim()===``)),n=new Set(t.filter(rn).map(e=>e.id)),r=new Map,i=[];for(let e of t){let t=(e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`)&&e.parentItemId!==void 0&&e.parentItemId!==e.id&&n.has(e.parentItemId)?e.parentItemId:void 0;if(t===void 0)i.push(e);else{let n=r.get(t);n?n.push(e):r.set(t,[e])}}let a=[],o=[],s=()=>{if(o.length>=2){let e=o.filter(e=>e.toolKind===`read`).length;a.push({kind:`context-group`,id:`group:${o[0].id}`,tools:o,files:e,searches:o.length-e,label:cn(e,o.length-e)})}else for(let e of o)a.push({kind:`tool-card`,id:e.id,item:e,children:r.get(e.id)??[]});o=[]},c=[],l=()=>{if(c.length!==0){for(let e of pn(c).batches)a.push({kind:`worker-conversation`,id:`worker:${e.messages[0].id}`,batches:[e]});c=[]}};for(let e of i){if(an(e)){s(),c.push(e);continue}l(),rn(e)&&on(e)&&!r.has(e.id)?o.push(e):(s(),rn(e)?a.push({kind:`tool-card`,id:e.id,item:e,children:r.get(e.id)??[]}):a.push({kind:`entry`,id:e.id,entry:e}))}s(),l();let u=e=>e.kind===`context-group`||e.kind===`tool-card`&&e.item.status===`completed`,d=e=>e.kind===`context-group`?e.tools.length:1,f=[],p=[],m=()=>{if(p.length>3){let e=p.slice(0,p.length-3);f.push({kind:`streak`,id:`streak:${e[0].id}`,count:e.reduce((e,t)=>e+d(t),0),blocks:e}),f.push(...p.slice(p.length-3))}else f.push(...p);p=[]};for(let e of a)u(e)?p.push(e):(m(),f.push(e));return m(),f}function pn(e){let t=[];for(let n of e){let e=t.at(-1);n.messageKind===`request`&&e?.kind===`request`&&e.senderRunId===n.senderRunId&&e.text===n.text&&!e.messages.some(e=>e.recipientRunId===n.recipientRunId)?e.messages.push(n):t.push({id:`worker-batch:${n.messageId}`,kind:n.messageKind,text:n.text,senderRunId:n.senderRunId,messages:[n]})}return{kind:`worker-conversation`,id:`worker:${e[0].id}`,batches:t}}var mn=new Map,hn=(0,J.createContext)(null);function gn(){return(0,J.useContext)(hn)}function _n({runId:e,children:t}){let n=(0,J.useMemo)(()=>({get:t=>mn.get(e)?.get(t),set:(t,n)=>{let r=mn.get(e)??new Map;r.set(t,n),mn.set(e,r)}}),[e]);return(0,Y.jsx)(hn.Provider,{value:n,children:t})}var vn=(0,J.createContext)({targets:new Map,replies:new Map,navigate:()=>{}});function yn(e){return e.scrollTop<Math.max(600,e.clientHeight)}function bn(e,t){let n=t.find(({bottom:t})=>t>e);return n===void 0?void 0:{key:n.key,offset:n.top-e}}function xn(e,t,n,r,i){if(n===void 0)return i;let a=r.find(({key:e})=>e===n.key);return a===void 0?i:e+(a.top-t-n.offset)}function Sn(e,t=24){return e.scrollHeight-e.scrollTop-e.clientHeight<t}function Cn(e,t){let n=new URLSearchParams(e).get(`thread`);return n===`flat`||n===`virtual`?n:t>300?`virtual`:`flat`}var wn=new Map;function Tn(e,t){wn.set(e,t)}function En(e){return wn.get(e)}var Dn=new Map;function On(e,t){Dn.set(e,t)}function kn(e,t){let n=Dn.get(e);return n!==void 0&&n.rows===t?n.cache:void 0}var An=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}),jn=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`medium`}),Mn=new Intl.DateTimeFormat(void 0,{weekday:`short`,month:`short`,day:`numeric`}),Nn=new Intl.DateTimeFormat(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`}),Pn=new Intl.DateTimeFormat(void 0,{dateStyle:`full`});function X(e){if(typeof e!=`string`||e===``)return;let t=new Date(e);return Number.isFinite(t.getTime())?t:void 0}function Fn(e){let t=X(e);return t===void 0?void 0:An.format(t)}function In(e){let t=X(e);return t===void 0?void 0:jn.format(t)}var Ln=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;function Rn(e){let t=X(e);return t===void 0?void 0:Ln(t)}function zn(e,t=new Date){let n=X(e);if(n===void 0)return;let r=Ln(n);return r===Ln(t)?`Today`:r===Ln(new Date(t.getFullYear(),t.getMonth(),t.getDate()-1))?`Yesterday`:(n.getFullYear()===t.getFullYear()?Mn:Nn).format(n)}function Bn(e,t){let n=X(e),r=X(t);if(n===void 0||r===void 0)return;let i=Math.round((r.getTime()-n.getTime())/1e3);if(i<0)return;if(i<60)return`${i}s`;let a=Math.floor(i/60);return a<60?`${a}m ${String(i%60).padStart(2,`0`)}s`:`${Math.floor(a/60)}h ${String(a%60).padStart(2,`0`)}m`}function Vn({ts:e}){let t=Fn(e);return t===void 0?null:(0,Y.jsx)(`time`,{"data-slot":`message-time`,dateTime:e,title:In(e),className:`text-[11px] leading-none text-soft-foreground`,children:t})}function Hn({startedAt:e,completedAt:t}){let n=Fn(t);if(n===void 0)return null;let r=Bn(e,t);return(0,Y.jsxs)(`div`,{"data-slot":`turn-time`,className:`flex items-center gap-1.5 px-0.5 text-[11px] leading-none text-soft-foreground`,children:[(0,Y.jsx)(`time`,{dateTime:t,title:In(t),children:n}),r===void 0?null:(0,Y.jsxs)(`span`,{title:`Replied in ${r}`,children:[`· `,r]})]})}function Un({ts:e}){let t=zn(e),n=X(e);if(t===void 0||n===void 0)return null;let r=Pn.format(n);return(0,Y.jsxs)(`div`,{"data-slot":`day-separator`,role:`separator`,"aria-label":t===`Today`||t===`Yesterday`?`${t}, ${r}`:r,className:`flex items-center gap-3 py-1 text-[11px] font-medium text-soft-foreground`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),(0,Y.jsx)(`time`,{dateTime:Rn(e),title:r,children:t}),(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]})}function Wn(e,t){let n={};for(let r of[...t??[],e])n[r.id]=r.steps.find(e=>e.id===r.currentStepId)?.backend??r.runner;return n}function Gn(e,t){let n={[e.id]:re(e)};for(let e of t??[])n[e.id]=re(e);return n}function Z(e,t){return t?.[e]??`Task`}function Kn(e,t){return e.senderRunId===t?`outbound`:`inbound`}function qn(e){switch(e){case`request`:return`Request`;case`progress`:return`Progress`;case`follow-up`:return`Follow-up`;case`reply`:return`Reply`;default:return e}}function Jn(e){switch(e){case`pending`:return`Pending`;case`replied`:return`Replied`;case`timed-out`:return`Timed out`;case`cancelled`:return`Cancelled`;case`completed-without-reply`:return`Completed without reply`;case`failed`:return`Failed`;case`destroyed`:return`Destroyed`;case`sender-closed`:return`Sender closed`;case`human-fallback`:return`Sent to a human`;default:return e}}function Yn(e){if(e.outcome)return Jn(e.outcome.status);if(e.delivery===`not-delivered`)return Xn(`not-delivered`)}function Xn(e){switch(e){case`queued`:return`Queued`;case`delivered`:return`Delivered`;case`consumed`:return`Read`;case`not-delivered`:return`Not delivered`;default:return e}}var Zn={user:{label:`YOUR MESSAGE`,speaker:`Your message`,classes:`border-message-user-border bg-message-user-bg`,accent:`text-message-user-accent`,body:`max-md:text-[12px]`},agent:{label:`AGENT RESPONSE`,speaker:`Agent response`,classes:`border-message-agent-border bg-message-agent-bg`,accent:`text-message-agent-accent`,body:`max-w-[65ch] text-[15px] md:text-[14px]`}};function Qn({role:e,children:t,className:n,ts:r,...i}){let a=Zn[e];return(0,Y.jsxs)(`article`,{...i,"data-role":e,"aria-label":a.speaker,className:U(`flex w-full min-w-0 flex-col gap-2 self-stretch rounded-[8px] border p-3 md:px-4 md:py-[14px]`,a.classes,n),children:[(0,Y.jsxs)(`p`,{className:U(`m-0 flex w-full min-w-0 items-start justify-between gap-2 text-[11px] leading-[1.2] font-semibold tracking-[0.6px] uppercase`,a.accent),children:[(0,Y.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(ht,{"aria-hidden":`true`,className:`size-4 shrink-0`}),a.label]}),r!==void 0&&Fn(r)!==void 0?(0,Y.jsx)(`span`,{className:`shrink-0 font-normal tracking-normal normal-case`,children:(0,Y.jsx)(Vn,{ts:r})}):null]}),(0,Y.jsx)(`div`,{className:U(`min-w-0 break-words text-[14px] text-foreground select-text [overflow-wrap:anywhere]`,a.body,`leading-[1.6]`),children:t})]})}function $n({text:e,imageCount:t=0,images:n=[],ts:r,onEdit:i,onRemove:a,editLabel:o=`Edit message`,removeLabel:s=`Remove message`}){let c=t-n.length,[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(e),[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(),_=()=>{f(e),g(void 0),u(!0)},y=async()=>{let t=d.trim();if(!t||t===e){u(!1);return}m(!0),g(void 0);try{await i?.(t),u(!1)}catch(e){g(e instanceof Error?e.message:`Could not save the message`)}finally{m(!1)}},b=async()=>{m(!0),g(void 0);try{await a?.()}catch(e){g(e instanceof Error?e.message:`Could not remove the message`)}finally{m(!1)}};return l?(0,Y.jsxs)(Qn,{role:`user`,ts:r,"data-slot":`user-bubble`,"data-editing":`true`,children:[(0,Y.jsx)(`textarea`,{autoFocus:!0,"aria-label":`Edit the message`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Escape`?(e.stopPropagation(),u(!1)):e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),y())},className:`block max-h-[220px] min-h-[60px] w-full resize-none rounded-md bg-background px-2 py-1.5 text-[14px] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`}),(0,Y.jsxs)(`span`,{className:`mt-1.5 flex justify-end gap-1.5`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>u(!1),disabled:p,className:`inline-flex min-h-11 min-w-11 items-center justify-center rounded-sm px-2 text-xs font-medium text-muted-foreground hover:bg-background hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:`Cancel`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void y(),disabled:p,className:`inline-flex min-h-11 min-w-11 items-center justify-center rounded-sm bg-action px-2 text-xs font-semibold text-action-foreground hover:brightness-[0.96] focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:p?(0,Y.jsx)(pt,{className:`size-3.5 animate-spin`}):`Save`})]}),h?(0,Y.jsx)(`p`,{role:`alert`,className:`mt-1.5 text-xs text-danger`,children:h}):null]}):(0,Y.jsxs)(Qn,{role:`user`,ts:r,"data-slot":`user-bubble`,className:`group`,children:[i||a?(0,Y.jsxs)(`span`,{"data-slot":`bubble-actions`,className:`mb-1 flex justify-end gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:[i?(0,Y.jsx)(`button`,{type:`button`,"aria-label":o,onClick:_,disabled:p,className:`inline-flex size-11 items-center justify-center rounded-sm text-soft-foreground hover:bg-background hover:text-foreground focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,Y.jsx)(qt,{className:`size-3.5`})}):null,a?(0,Y.jsx)(`button`,{type:`button`,"aria-label":s,onClick:()=>void b(),disabled:p,className:`inline-flex size-11 items-center justify-center rounded-sm text-soft-foreground hover:bg-background hover:text-danger focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,Y.jsx)(v,{className:`size-3.5`})}):null]}):null,h?(0,Y.jsx)(`p`,{role:`alert`,className:`mb-1 text-xs text-danger`,children:h}):null,(0,Y.jsx)(At,{breaks:!0,children:e}),n.length>0?(0,Y.jsx)(`span`,{"data-slot":`user-images`,className:`mt-2 flex flex-wrap items-center justify-end gap-1.5`,children:n.map(e=>xe(e.split(`/`).pop()??``)?(0,Y.jsx)(Mt,{src:e,alt:`attached`,className:`max-h-40 max-w-[220px] rounded-md border border-border object-contain`},e):(0,Y.jsxs)(`a`,{href:Ce(e),download:!0,"data-slot":`user-file`,className:`inline-flex min-h-11 min-w-11 max-w-[220px] items-center gap-1.5 rounded-md border border-border bg-background/60 px-2 py-1 text-xs text-muted-foreground hover:text-foreground`,children:[(0,Y.jsx)(C,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.split(`/`).pop()})]},e))}):null,c>0?(0,Y.jsxs)(`span`,{className:`mt-1 block text-xs text-soft-foreground`,children:[c,` image`,c>1?`s`:``,` attached`]}):null]})}function er({text:e,ts:t}){return(0,Y.jsx)(Qn,{role:`agent`,ts:t,"data-slot":`assistant-message`,children:(0,Y.jsx)(At,{breaks:!0,children:e})})}var tr={outbound:{classes:`border-message-outbound-border bg-message-outbound-bg`,accent:`text-message-outbound-accent`},inbound:{classes:`border-message-inbound-border bg-message-inbound-bg`,accent:`text-message-inbound-accent`}},nr=`inline-flex min-h-11 max-w-full items-center break-words underline underline-offset-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`;function rr({block:e,runId:t,taskTitles:n,recipientBackends:r}){return(0,Y.jsx)(`div`,{"data-slot":`worker-conversation`,className:`flex min-w-0 flex-col gap-2`,children:e.batches.map(e=>(0,Y.jsx)(ir,{batch:e,runId:t,taskTitles:n,recipientBackends:r},e.id))})}function ir({batch:e,runId:t,taskTitles:n,recipientBackends:r}){let i=Kn(e.messages[0]??{senderRunId:e.senderRunId},t),a=tr[i],o=cr(e.messages.map(e=>i===`outbound`?e.recipientRunId:e.senderRunId)),s=i===`outbound`?`SENT to`:`RECEIVED from`,c=`${s} ${o.map(e=>Z(e,n)).join(`, `)}`,l=e.messages[0],u=l?.createdAt??l?.recordedAt,d=l?Yn(l):void 0;return(0,Y.jsxs)(`article`,{"data-slot":`worker-conversation-card`,"data-direction":i,"data-kind":e.kind,className:U(`flex w-full min-w-0 flex-col gap-2 rounded-[8px] border p-3 md:px-4 md:py-[14px]`,a.classes),children:[(0,Y.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Y.jsxs)(`p`,{className:U(`m-0 flex min-w-0 flex-wrap items-center gap-x-2 text-[11px] leading-[1.2] font-semibold tracking-[0.6px] uppercase`,a.accent),children:[(0,Y.jsx)(`span`,{children:s}),o.map((e,t)=>(0,Y.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-x-2 normal-case tracking-normal`,children:[t>0?(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`,`}):null,(0,Y.jsx)(W,{className:nr,to:`/tasks/${e}`,"aria-label":`${s} ${Z(e,n)}`,children:Z(e,n)})]},e))]}),(0,Y.jsx)(`span`,{"data-slot":`conversation-kind`,className:`rounded-full bg-background/60 px-2 py-0.5 text-[11px] font-semibold tracking-[0.05em] text-foreground uppercase`,children:qn(e.kind)}),e.messages.length===1&&d?(0,Y.jsx)(`span`,{"data-slot":`conversation-outcome`,className:`text-xs font-medium text-muted-foreground`,children:d}):null]}),u!==void 0&&Fn(u)!==void 0?(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center justify-self-end gap-1 whitespace-nowrap text-[11px] text-soft-foreground`,children:[e.messages.length>1?`First sent`:null,(0,Y.jsx)(Vn,{ts:u})]}):null]}),(0,Y.jsx)(`div`,{className:`min-w-0 break-words text-[14px] leading-[1.6] text-foreground select-text [overflow-wrap:anywhere]`,children:(0,Y.jsx)(At,{breaks:!0,children:e.text})}),[...new Set(e.messages.map(e=>e.instruction??(e.delivery===`queued`?`${r?.[e.recipientRunId]===`cursor`?`Queued for delivery. If Cursor is in a turn, delivery waits for that turn to end.`:r?.[e.recipientRunId]?`Queued for delivery. This agent can receive messages during its current turn.`:`Queued for delivery. Timing depends on the recipient agent.`} Pending messages are batched within the size limit; human questions and scheduler capacity can delay delivery.`:e.state===`continuation-required`?`Not delivered. The recipient needs a new instruction to resume. A parent can resume its owned worker with --resume; workers cannot resume parents.`:e.state===`destroyed`?`Not delivered. This worker was destroyed.`:void 0)))].map(e=>e?(0,Y.jsx)(`p`,{"data-slot":`conversation-delivery-explanation`,className:`min-w-0 text-xs leading-relaxed text-muted-foreground [overflow-wrap:anywhere]`,children:e},e):null),e.kind===`request`&&e.messages.length>1?(0,Y.jsx)(`ul`,{className:`grid min-w-0 gap-1 text-xs text-muted-foreground`,children:e.messages.map(e=>{let r=Yn(e),i=e.createdAt??e.recordedAt;return(0,Y.jsxs)(`li`,{className:`flex min-h-11 min-w-0 flex-wrap items-center gap-2`,children:[(0,Y.jsx)(W,{className:nr,to:`/tasks/${e.recipientRunId}`,"aria-label":`${Z(e.recipientRunId,n)}${r?` — ${r}`:``}`,children:Z(e.recipientRunId,n)}),r?(0,Y.jsx)(`span`,{"data-slot":`conversation-outcome`,children:r}):null,(0,Y.jsx)(ar,{message:e,runId:t,taskTitles:n}),i!==void 0&&Fn(i)!==void 0?(0,Y.jsx)(`span`,{className:`ml-auto whitespace-nowrap`,children:(0,Y.jsx)(Vn,{ts:i})}):null]},e.id)})}):null,e.messages.length===1&&l?(0,Y.jsx)(ar,{message:l,runId:t,taskTitles:n}):null,(0,Y.jsx)(or,{batch:e,heading:c})]})}function ar({message:e,runId:t,taskTitles:n}){let{targets:r,replies:i,navigate:a}=(0,J.useContext)(vn),o=e.requestId?r.get(e.requestId):void 0,s=e.requestId?o?[o]:[]:i.get(e.messageId)??[],c=e.requestId?`request`:`reply`;return s.length===0?e.requestId||e.outcome?.replyId?(0,Y.jsxs)(`p`,{"data-slot":`conversation-connector`,className:`text-xs text-muted-foreground`,children:[`Linked `,c,` is outside loaded history.`]}):null:s.map(e=>{let r=Kn(e.message,t)===`outbound`,i=r?e.message.recipientRunId:e.message.senderRunId;return(0,Y.jsxs)(`button`,{type:`button`,"data-slot":`conversation-connector`,className:U(nr,`w-fit gap-1.5 text-xs text-muted-foreground`),onClick:()=>a(e),children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`↗`}),`View `,c,` `,r?`to`:`from`,` `,Z(i,n)]},e.message.messageId)})}function or({batch:e,heading:t}){return(0,Y.jsxs)(bt,{"data-slot":`conversation-details`,className:`group/details`,children:[(0,Y.jsxs)(yt,{type:`button`,className:`inline-flex min-h-11 min-w-11 items-center gap-1.5 rounded-md px-2 text-left text-xs font-medium text-muted-foreground hover:bg-background/40 hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:[(0,Y.jsx)(A,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]/details:rotate-90`}),`Details`]}),(0,Y.jsx)(G,{children:(0,Y.jsxs)(`dl`,{className:`grid min-w-0 gap-1 break-all px-2 pb-1 font-mono text-[11px] text-muted-foreground`,children:[(0,Y.jsx)(`div`,{className:`sr-only`,children:t}),e.messages.flatMap(e=>sr(e)).map((e,t)=>(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`dt`,{className:`inline font-sans font-medium text-soft-foreground`,children:[e.label,`: `]}),(0,Y.jsx)(`dd`,{className:`inline`,children:e.value})]},`${e.label}:${e.value}:${t}`))]})})]})}function sr(e){let t=[{label:`Message`,value:e.messageId},{label:`Sender`,value:e.senderRunId},{label:`Recipient`,value:e.recipientRunId},{label:`Delivery`,value:Xn(e.delivery)}];return e.requestId&&t.push({label:`Request`,value:e.requestId}),e.outcome?.replyId&&t.push({label:`Reply`,value:e.outcome.replyId}),e.state&&t.push({label:`State`,value:e.state}),e.createdAt&&t.push({label:`Created`,value:e.createdAt}),e.deliveredAt&&t.push({label:e.resumed?`Opening turn completed`:`Delivery acknowledged`,value:e.deliveredAt}),e.recordedAt&&t.push({label:`Event recorded`,value:e.recordedAt}),e.resumed&&t.push({label:`Continuation`,value:`Requested by parent with this instruction`}),e.deadline&&t.push({label:`Deadline`,value:e.deadline}),e.requestHash&&t.push({label:`Hash`,value:e.requestHash}),t}function cr(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function lr({note:e}){return e.icon===`handoff`?(0,Y.jsxs)(`div`,{"data-slot":`note-line`,"data-tone":e.tone,"data-icon":`handoff`,className:`flex items-start gap-2 px-0.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`mt-[-1px] flex size-5 shrink-0 items-center justify-center rounded-full border border-border text-success`,children:(0,Y.jsx)(je,{className:`size-3`})}),(0,Y.jsx)(`span`,{className:`min-w-0 break-words`,children:e.text})]}):(0,Y.jsxs)(`div`,{"data-slot":`note-line`,"data-tone":e.tone,className:U(`px-0.5 text-xs`,e.tone===`danger`?`text-danger [.light_&]:text-red-700`:`text-soft-foreground`),children:[e.tone===`danger`?`✗ `:`· `,e.text]})}var ur={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`,cursor:`Cursor`};function dr({incident:e}){let t=ur[e.provider];return(0,Y.jsxs)(`div`,{role:`alert`,"data-slot":`provider-auth-required`,className:`rounded-md border border-danger/30 bg-danger/5 px-3.5 py-3`,children:[(0,Y.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:[`This run needed `,t,` authorization`]}),(0,Y.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[`Review `,t,` settings before retrying.`]}),(0,Y.jsx)(W,{to:`/settings/agents#providers`,className:`mt-2 inline-flex text-xs font-medium text-foreground underline-offset-2 hover:underline`,children:`Open provider settings`})]})}function fr({text:e}){let t=(0,J.useId)();if(e.trim()===``)return null;let n=e.split(`
2
- `,1)[0]??``,r=n.length<e.length;return(0,Y.jsxs)(bt,{"data-slot":`reasoning`,className:`group/reasoning min-w-0`,children:[(0,Y.jsxs)(`div`,{id:t,className:`relative flex w-full items-center gap-1.5 rounded-md p-0.5 text-left text-[13px] text-soft-foreground hover:text-muted-foreground`,children:[(0,Y.jsx)(A,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]/reasoning:rotate-90`}),(0,Y.jsx)(`span`,{className:`shrink-0`,children:`Thinking — `}),(0,Y.jsx)(`div`,{className:`min-w-0 truncate text-muted-foreground`,children:(0,Y.jsx)(At,{inline:!0,children:n})}),r?(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`…`}):null,(0,Y.jsx)(yt,{"aria-labelledby":t,className:`absolute inset-0 rounded-md focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`})]}),(0,Y.jsx)(G,{children:(0,Y.jsx)(`div`,{className:`px-6 py-1.5 text-[13px] leading-[1.6] text-soft-foreground`,children:(0,Y.jsx)(At,{children:e})})})]})}function pr(){return(0,Y.jsxs)(`div`,{"data-slot":`working-indicator`,className:`flex items-center gap-2 py-1 text-[13px] text-soft-foreground`,children:[(0,Y.jsx)(pt,{role:`status`,"aria-label":`Working`,className:`size-3.5 shrink-0 animate-spin`}),(0,Y.jsx)(`span`,{className:`shimmer font-medium`,children:`Working…`})]})}var mr={read:Ae,edit:qt,delete:v,move:Gt,search:T,execute:$e,think:Ut,fetch:Me,task:h,plan:s,other:F},hr=e=>e.split(`
3
- `).length;function gr({text:e,streaming:t}){let[n,r]=(0,J.useState)(!1),i=(0,J.useRef)(null),a=(0,J.useRef)(!0);(0,J.useEffect)(()=>{let e=i.current;t&&e&&a.current&&(e.scrollTop=e.scrollHeight)},[e,t]);let o=hr(e),s=!t&&!n&&o>12;return(0,Y.jsxs)(`div`,{"data-slot":`tool-output`,"data-clamped":s?`true`:void 0,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`div`,{ref:i,onScroll:t?e=>{a.current=Sn(e.currentTarget)}:void 0,className:U(`overflow-x-auto`,t&&`max-h-[216px] overflow-y-auto`,s&&`max-h-[216px] overflow-y-hidden`),children:(0,Y.jsx)(`pre`,{className:`px-4 py-3 font-mono text-xs leading-[1.7] whitespace-pre text-muted-foreground`,children:e})}),s?(0,Y.jsx)(`div`,{"data-slot":`tool-output-fade`,"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 bottom-0 h-14 bg-gradient-to-b from-transparent to-card-2`}):null]}),!t&&o>12?(0,Y.jsx)(`button`,{type:`button`,"data-slot":`tool-output-toggle`,onClick:()=>r(e=>!e),className:`block w-full border-t border-border/50 px-4 py-1.5 text-left text-[11px] font-medium text-soft-foreground hover:text-foreground`,children:n?`Show less`:`Show all ${o} lines`}):null]})}function _r({diffs:e}){return(0,Y.jsx)(Y.Fragment,{children:e.map((e,t)=>(0,Y.jsxs)(`div`,{"data-slot":`diff-preview`,className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`border-b border-border/50 px-4 py-1.5 font-mono text-[11px] text-soft-foreground`,children:e.path}),(0,Y.jsx)(`pre`,{className:`overflow-x-auto py-2 font-mono text-xs leading-[1.7] whitespace-pre`,children:e.unified===void 0?[...vr(e.oldText).map((e,t)=>(0,Y.jsxs)(`span`,{className:`block bg-diff-del px-4 text-muted-foreground`,children:[`- `,e]},`old-${t}`)),...vr(e.newText).map((e,t)=>(0,Y.jsxs)(`span`,{className:`block bg-diff-add px-4`,children:[`+ `,e]},`new-${t}`))]:e.unified.split(`
4
- `).map((e,t)=>(0,Y.jsx)(yr,{text:e},t))})]},`${e.path}:${t}`))})}function vr(e){return e==null||e===``?[]:e.replace(/\n$/,``).split(`
5
- `)}function yr({text:e}){return(0,Y.jsx)(`span`,{className:U(`block px-4`,e.startsWith(`+`)&&`bg-diff-add`,e.startsWith(`-`)&&`bg-diff-del text-muted-foreground`,e.startsWith(`@@`)&&`text-soft-foreground`),children:e})}function br(e){return e.toolKind===`execute`&&e.status===`running`&&e.output!==void 0}function xr({item:e,nested:t=[],cacheKey:n,renderNested:r}){let i=gn(),[a,o]=(0,J.useState)(()=>n===void 0?null:i?.get(n)??null),s=e=>{n!==void 0&&i?.set(n,e),o(e)},c=e.status===`running`||e.status===`pending`,l=dn(e.title),{verb:u,detail:d}=e.toolKind===`execute`&&l.detail===void 0?{verb:`Ran`,detail:e.title}:l,f=e.output!==void 0&&e.output!==``||e.error!==void 0&&e.error!==``||e.diffs!==void 0&&e.diffs.length>0||t.length>0,p=d!==void 0||f,m=p&&(a??(f&&br(e))),h=mr[e.toolKind]??F;return(0,Y.jsxs)(bt,{"data-slot":`tool-card`,"data-status":e.status,"data-kind":e.toolKind,open:m,onOpenChange:s,className:U(`min-w-0 overflow-hidden rounded-md border bg-card`,e.status===`failed`?`border-danger/25`:`border-border`),children:[(0,Y.jsxs)(yt,{disabled:!p,className:`group flex min-h-[28px] w-full items-center gap-1.5 px-2.5 py-0.5 text-left text-[13px] enabled:hover:bg-muted`,children:[(0,Y.jsx)(A,{"aria-hidden":!0,className:U(`size-3 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`,!p&&`invisible`)}),(0,Y.jsx)(h,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:U(`shrink-0 font-semibold`,c&&`shimmer`,e.status===`declined`&&`text-muted-foreground`),children:u}),d===void 0?null:(0,Y.jsx)(`code`,{title:d,className:`block min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground`,children:d}),(0,Y.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2 pl-2`,children:[c?(0,Y.jsx)(pt,{role:`status`,"aria-label":`Running`,className:`size-3.5 animate-spin text-soft-foreground`}):null,e.status===`failed`?(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`failed`}):null,e.status===`declined`?(0,Y.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`declined`}):null,e.toolKind===`execute`&&typeof e.exitCode==`number`?(0,Y.jsx)(`span`,{"data-slot":`tool-exit`,className:U(`rounded-full px-2 py-px font-mono text-[11px] font-semibold`,e.exitCode===0?`bg-success/10 text-success`:`bg-danger/10 text-danger`),children:e.exitCode}):null]})]}),(0,Y.jsx)(G,{children:(0,Y.jsxs)(`div`,{className:`border-t border-border bg-card-2`,children:[d===void 0?null:(0,Y.jsx)(`pre`,{"data-slot":`tool-command`,className:`px-3 py-2 font-mono text-xs whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:d}),e.error!==void 0&&e.error!==``?(0,Y.jsx)(`div`,{"data-slot":`tool-error`,className:`px-4 py-3 font-mono text-xs leading-[1.7] whitespace-pre-wrap text-danger`,children:e.error}):null,e.diffs!==void 0&&e.diffs.length>0?(0,Y.jsx)(_r,{diffs:e.diffs}):null,e.output!==void 0&&e.output!==``?(0,Y.jsx)(gr,{text:e.output,streaming:c}):null,t.length>0?(0,Y.jsx)(`div`,{"data-slot":`tool-nested`,className:`flex flex-col gap-2 border-l-2 border-border py-2.5 pr-3 pl-3 ml-4 my-2`,children:r?.(t,n??e.id)}):null]})})]})}function Sr({group:e,scope:t}){return(0,Y.jsxs)(bt,{"data-slot":`ctx-group`,className:`min-w-0`,children:[(0,Y.jsxs)(yt,{className:`group flex h-[34px] tabular-nums w-full items-center gap-2 rounded-md px-2 -mx-2 text-left text-[13px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground`,children:[(0,Y.jsx)(A,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`}),e.label]}),(0,Y.jsx)(G,{children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-1.5 pt-1.5 pl-4`,children:e.tools.map(e=>(0,Y.jsx)(xr,{item:e,cacheKey:t===void 0?void 0:`${t}:${e.id}`},e.id))})})]})}function Cr({count:e,children:t}){return(0,Y.jsxs)(bt,{"data-slot":`tool-streak`,className:`min-w-0`,children:[(0,Y.jsxs)(yt,{className:`group flex items-center gap-1.5 rounded-md p-0.5 tabular-nums text-left text-xs text-soft-foreground hover:text-muted-foreground`,children:[(0,Y.jsx)(A,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]:rotate-90`}),ln(e)]}),(0,Y.jsx)(G,{children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t})})]})}function wr({image:e}){return(0,Y.jsx)(Mt,{"data-slot":`thread-image`,src:e.url,alt:e.name??`image from the agent session`,className:`max-h-72 max-w-full self-start rounded-lg border border-border`})}function Tr(e,t=null){let n=g(),r=oe(),i=Ie(e),a=i&&!e.runner,o=ve(n.data),s=e.runner??(i?r.data?.defaultRunner:void 0)??`claude`,c=ot(t,o,s),l=o.includes(s),u=(i?Oe(e.workflowDef,c):[c]).filter(e=>!o.includes(e)),d=n.isSuccess&&(!a||r.isSuccess)&&u.length===0,f=a&&r.isPending?`Checking task settings…`:a&&r.isError?`Task settings could not be loaded.`:n.isPending?`Checking agent providers…`:n.isError?`Provider authentication could not be verified.`:d?void 0:i?`Connect the required workflow providers (${u.join(`, `)}) to continue.`:`Connect an agent provider to continue.`;return{runners:o,currentRunner:s,runner:c,currentRunnerConnected:l,canContinue:d,providerPending:n.isPending||a&&r.isPending,providerError:n.isError,reason:f,runnerOverride:t!==null||!l?c:void 0}}function Er(e){let t=H(),n=Be(e).continueRun,r=oe(),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(e.id);f!==e.id&&(p(e.id),a(null),s(null),l(null),d(null));let m=Tr(e,i),{runners:h,canContinue:g,currentRunner:_,runner:v}=m,y=pe(v,n),x=r.data?.modelsLocked===!0,S=v!==_,C=!x&&!S&&e.model?{...r.data?.defaultModels,[v]:e.model}:r.data?.defaultModels,w=x?null:o,T=st(v,y.data,[w,C?.[v]]),E=ut(w,v,C,y.data),D=at(v,E,y.data),O=x?``:c??e.effort??``,k=rt(O,D),A=!x&&c===null&&O!==``&&k===``,{accounts:j,repoAccount:M}=_t(),P=[...e.steps].reverse().find(e=>e.sessionId),F=P?.profileId??e.agentProfile??`default`,I=S?M:{...M,[_]:F},L=j.some(e=>e.provider===v&&e.id===u)?u:null,te=V({mutationFn:({text:t,images:n})=>g?b(e.id,{text:t.trim()?t:void 0,images:n.length?n:void 0,runner:m.runnerOverride,model:!x&&(o!==null||S)?E:void 0,effort:!x&&(c!==null||S)?k:A?``:void 0,agentProfile:L??void 0}):Promise.reject(Error(m.reason??`Connect an agent provider to continue.`)),onSuccess:()=>t.invalidateQueries({queryKey:R.runs.all}),onError:e=>{e instanceof he&&e.status===409&&t.invalidateQueries({queryKey:R.runs.all})}});return{available:n,canContinue:g,startsNewConversation:!!P&&(v!==(P.backend??_)||(L??e.agentProfile??P.profileId??`default`)!==(P.profileId??`default`)),reason:m.reason,providerPending:m.providerPending,pills:(0,Y.jsx)(`div`,{"data-slot":`follow-up-engine`,className:`session-engine-controls`,children:(0,Y.jsxs)(dt,{children:[h.length>1||h.some(e=>vt(j,e))?(0,Y.jsx)(ft,{icon:(0,Y.jsx)(ce,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,runners:h,value:v,accounts:j,account:L,repoAccount:I,onPick:(e,t)=>{d(t),e!==v&&(a(e),s(null))}}):(0,Y.jsx)(lt,{icon:(0,Y.jsx)(ce,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,readOnly:!0,slot:`session-runner-value`,ariaLabel:`Runner`,label:v,value:v,onPick:()=>{},options:[{value:v,label:v}]}),(0,Y.jsx)(lt,{icon:(0,Y.jsx)(N,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`follow-up-model-pill`,ariaLabel:`Model`,label:T.find(e=>e.id===E)?.label??`auto`,value:E,readOnly:x,disabledHint:`Model selection is locked to native coding-agent settings.`,onPick:e=>{s(e);let t=at(v,e,y.data);k!==``&&rt(k,t)===``&&l(``)},options:T.map(e=>({value:e.id,label:e.label,desc:e.desc})),status:it(v,y.data,y.isError,y.isFetching)}),(0,Y.jsx)(lt,{icon:(0,Y.jsx)(ee,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`follow-up-effort-pill`,ariaLabel:`Effort`,label:D.find(e=>e.value===k)?.label??`auto`,value:k,readOnly:x,disabledHint:`Effort selection is locked to native coding-agent settings.`,onPick:e=>l(e),options:D.map(e=>({value:e.value,label:e.label,desc:e.desc}))})]})}),continueWith:(e,t)=>te.mutateAsync({text:e,images:t})}}var Dr=120,Or=e=>e!==`pending`&&e!==`running`,kr=e=>e.kind===`tool`&&e.toolKind===`task`,Q=e=>kr(e)&&e.parentItemId===void 0,Ar=e=>(e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`)&&!(e.kind===`tool`&&e.toolKind===`plan`);function jr(e,t){for(let n=0;n<e.length;n+=1)if(e[n].items.some(e=>Q(e)&&t.has(e.id)))return n;return 0}function Mr(e){let t=e.input;if(typeof t!=`object`||!t)return;let n=t;for(let e of[`subagent_type`,`subagentType`,`agent`]){let t=n[e];if(typeof t==`string`&&t.trim()!==``)return t.trim()}}function Nr(e){if(e.kind===`tool`)return Pr(e.title);if(e.kind===`message`||e.kind===`reasoning`){let t=e.text.split(`
6
- `);for(let e=t.length-1;e>=0;--e){let n=t[e].trim();if(n!==``)return Pr(n)}}}function Pr(e){return e.length>Dr?`${e.slice(0,Dr-1).trimEnd()}…`:e}function Fr(e,t=!1){let n=zr(e,e=>e.items.some(Q));if(n===-1)return[];let r=e=>!t&&!Or(e.status),i=[];for(let t=n-1;t>=0;--t){let n=e[t].items.filter(Q);if(n.length!==0){if(!n.some(r))break;i.unshift(...n)}}let a=[...i,...e[n].items.filter(Q)];if(n!==e.length-1&&!a.some(r))return[];let o=new Set(a.map(e=>e.id)),s=i.length>0?jr(e,o):n,c=new Map;for(let t=s;t<e.length;t+=1)for(let n of e[t].items){if(!Ar(n))continue;let e=n.parentItemId;if(e===void 0||!o.has(e))continue;let t=c.get(e);t?t.push(n):c.set(e,[n])}return a.map(e=>Ir(e,c.get(e.id)??[],t))}function Ir(e,t,n){let r={id:e.id,title:dn(e.title).detail??e.title,status:e.status,toolCalls:t.filter(e=>e.kind===`tool`).length},i=Mr(e);i!==void 0&&(r.agentType=i),n&&!Or(e.status)&&(r.stalled=!0);for(let e=t.length-1;e>=0;--e){let n=Nr(t[e]);if(n!==void 0){r.activity=n;break}}return r}function Lr(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.length}}function Rr(e){return e.activity??(e.stalled===!0?`never finished`:`starting…`)}function zr(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function Br(e,t,n=!1){for(let r=e.length-1;r>=0;--r){let i=e[r].items.find(e=>e.id===t&&Q(e));if(i!==void 0)return Ir(i,Vr(e,t),n)}}function Vr(e,t){let n=e.findIndex(e=>e.items.some(e=>e.id===t&&Q(e)));if(n===-1)return[];let r=[];for(let i=n;i<e.length;i+=1)for(let n of e[i].items)Ar(n)&&n.parentItemId===t&&n.id!==t&&r.push(n);return r}function Hr(e,t={}){let{surface:n=`document`,onLoadOlder:r,onJumpToLatest:i,rowKeys:a=[]}=t,o=(0,J.useRef)(e);o.current=e;let s=(0,J.useRef)(null),[c,l]=(0,J.useState)(null),[d,f]=(0,J.useState)(!1),p=(0,J.useRef)(!0),m=(0,J.useRef)(0),h=(0,J.useRef)(null),g=(0,J.useRef)(null),_=(0,J.useRef)(null),v=(0,J.useCallback)(e=>{let t=s.current;if(!t)return;let n=_.current;n?n.scrollTo(e):t.scrollTop=e},[]),y=(0,J.useCallback)(()=>{let e=s.current;e&&v(e.scrollHeight-e.clientHeight)},[v]),b=(0,J.useCallback)(()=>{if(s.current){if(g.current!==e){g.current=e;let t=En(e);t&&!t.atBottom?(p.current=!1,h.current=t.top):(p.current=!0,h.current=null)}h.current===null?p.current&&y():v(h.current)}},[e,v,y]),x=(0,J.useCallback)(e=>{l(e),e&&(s.current=e.closest(n===`panel`?`[data-slot="transcript-viewport"]`:`[data-slot="main"]`),b())},[n,b]),S=(0,J.useCallback)(()=>{p.current&&y()},[y]),C=(0,J.useRef)(!1),w=(0,J.useRef)(0),T=(0,J.useRef)(!1),E=(0,J.useRef)(void 0),D=(0,J.useRef)(!1),O=(0,J.useRef)(!1),k=(0,J.useRef)(a);k.current=a;let A=(0,J.useCallback)(e=>[...e.querySelectorAll(`[data-slot="thread-row"][data-row-key]`)].map(e=>{let t=e.getBoundingClientRect();return{key:e.dataset.rowKey,top:t.top,bottom:t.bottom}}),[]),j=(0,J.useRef)(null),M=(0,J.useRef)(0);(0,J.useEffect)(()=>{if(!u())return;let e=e=>{h.current=null,M.current+=1,j.current=null,p.current=!1,v(e)};return window.__cezThreadScrollTo=e,()=>{window.__cezThreadScrollTo===e&&delete window.__cezThreadScrollTo}},[v]);let N=(0,J.useCallback)(()=>{let e=j.current,t=s.current;if(!e||!t)return;j.current=null;let n=e.beforeTop+Math.max(0,t.scrollHeight-e.beforeHeight),r=t.getBoundingClientRect().top,i=e.anchor===void 0?-1:k.current.indexOf(e.anchor.key),a=_.current;a&&i>=0?a.scrollToIndex(i,{align:`start`,offset:-e.anchor.offset}):v(xn(t.scrollTop,r,e.anchor,A(t),n))},[A,v]),P=(0,J.useCallback)(()=>{let e=s.current;if(!e||!r||C.current)return;h.current=null,p.current=!1,C.current=!0;let t=w.current+1;w.current=t;let n=e.scrollHeight,i=e.scrollTop,a=e.getBoundingClientRect().top,c=bn(a,A(e)),l=c===void 0?-1:k.current.indexOf(c.key),u=o.current,d=M.current;r().then(()=>{o.current===u&&M.current===d&&(j.current={beforeHeight:n,beforeTop:i,anchor:c,anchorIndex:l})},()=>{}).finally(()=>{w.current===t&&(C.current=!1)})},[A,r]);(0,J.useEffect)(()=>()=>clearTimeout(E.current),[]);let F=(0,J.useRef)(null);(0,J.useEffect)(()=>()=>F.current?.disconnect(),[e,c]);let I=(0,J.useCallback)((t,n)=>{let r=s.current;if(!r||!c)return;h.current=null,M.current+=1,j.current=null,p.current=!1,m.current=0,f(!0),F.current?.disconnect();let i=()=>[...c.querySelectorAll(`[data-row-key]`)].find(e=>e.dataset.rowKey===t),a=()=>{let e=i();return!e||getComputedStyle(e).visibility===`hidden`||(e.tabIndex=-1,e.focus({preventScroll:!0}),document.activeElement!==e)?!1:(F.current?.disconnect(),!0)},o=r.querySelector(`[data-slot="run-header"]`),l=o&&getComputedStyle(o).position===`sticky`?o.getBoundingClientRect().height:0,u=_.current;if(u)u.scrollToIndex(n,{align:`start`,...l>0?{offset:-l}:{}});else{let e=i();e&&v(r.scrollTop+e.getBoundingClientRect().top-r.getBoundingClientRect().top-l)}a()||(F.current=new MutationObserver(()=>{a()}),F.current.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`class`]})),Tn(e,{top:r.scrollTop,atBottom:!1})},[c,v,e]),L=(0,J.useCallback)(()=>{F.current?.disconnect();let t=s.current;if(!t)return;h.current=null,M.current+=1,j.current=null,p.current=!0,Tn(e,{top:t.scrollHeight-t.clientHeight,atBottom:!0});let n=()=>{p.current&&y()};(i?.()??Promise.resolve()).finally(()=>{requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})})},[i,e,y]),ee=a.at(-1),te=a.length;return(0,J.useLayoutEffect)(()=>{M.current+=1,j.current=null,C.current=!1},[e]),(0,J.useLayoutEffect)(()=>{let e=j.current;e?(e.anchor===void 0?-1:k.current.indexOf(e.anchor.key))>e.anchorIndex?N():j.current=null:p.current&&y()},[ee,te,N,y]),(0,J.useLayoutEffect)(()=>{!s.current||!c||b()},[c,b]),(0,J.useEffect)(()=>{let t=s.current,n=c;if(!t||!n)return;m.current=0;let r=null,i=!1,a=t.scrollTop,o=()=>{F.current?.disconnect(),h.current=null,M.current+=1,j.current=null,p.current=!1,m.current=0},l=()=>{M.current+=1,j.current=null,m.current=Date.now()},u=e=>{if(e.deltaY<0){o();let e=!T.current;T.current=!0,clearTimeout(E.current),E.current=setTimeout(()=>{T.current=!1},180),e&&yn(t)&&P()}else l()},d=e=>{[`ArrowUp`,`PageUp`,`Home`].includes(e.key)?(o(),!e.repeat&&yn(t)&&P()):[`ArrowDown`,`PageDown`,`End`].includes(e.key)&&l()},g=()=>{i=!0,O.current=!1,a=t.scrollTop,Sn(t,80)||(o(),l())},_=()=>{i=!1},b=e=>{D.current=!1,r=e.touches[0]?.clientY??null},x=e=>{let n=e.touches[0]?.clientY;n!==void 0&&(r!==null&&n>r+1?(o(),!D.current&&yn(t)&&(D.current=!0,P())):r!==null&&n<r-1&&l(),r=n)},S=()=>{i&&!O.current&&t.scrollTop<a&&yn(t)&&(O.current=!0,P()),a=t.scrollTop;let n=Sn(t,80);n&&h.current===null&&(p.current||Date.now()-m.current<2e3)&&(p.current=!0),f(!n),h.current===null&&Tn(e,{top:t.scrollTop,atBottom:n})};t.addEventListener(`scroll`,S,{passive:!0}),t.addEventListener(`wheel`,u,{passive:!0}),t.addEventListener(`touchstart`,b,{passive:!0}),t.addEventListener(`touchmove`,x,{passive:!0}),t.addEventListener(`pointerdown`,g,{passive:!0}),window.addEventListener(`pointerup`,_,{passive:!0}),t.addEventListener(`keydown`,d);let C;if(typeof ResizeObserver<`u`){C=new ResizeObserver(()=>{let e=h.current;if(e!==null){let n=t.scrollHeight-t.clientHeight;v(Math.min(e,n)),n>=e&&(h.current=null)}else p.current&&y()}),C.observe(n);let e=n.closest(`[data-route="task-thread"]`),r=e?.querySelector(`[data-slot="run-header"]`),i=e?.querySelector(`[data-slot="thread-dock"]`);r&&C.observe(r),i&&C.observe(i)}return()=>{t.removeEventListener(`scroll`,S),t.removeEventListener(`wheel`,u),t.removeEventListener(`touchstart`,b),t.removeEventListener(`touchmove`,x),t.removeEventListener(`pointerdown`,g),window.removeEventListener(`pointerup`,_),t.removeEventListener(`keydown`,d),C?.disconnect()}},[e,c,P,v,y]),{attachContent:x,scrollElRef:s,virtualizerRef:_,pillVisible:d,jumpToLatest:L,jumpToRow:I,loadOlder:P,restickIfStuck:S}}function Ur({runId:e,rows:t,mode:n,controls:r}){return n===`virtual`?(0,Y.jsx)(Wr,{runId:e,rows:t,controls:r}):(0,Y.jsx)(`div`,{ref:r.attachContent,"data-slot":`thread-rows`,"data-virtualized":`false`,className:`[overflow-anchor:none]`,children:t.map(e=>(0,Y.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:`flex w-full flex-col pb-2.5 [contain-intrinsic-block-size:auto_3rem] [content-visibility:auto]`,children:e.node},e.key))})}function Wr({runId:e,rows:t,controls:n}){return(0,Y.jsx)(Gr,{runId:e,rows:t,controls:n},e)}function Gr({runId:e,rows:t,controls:n}){let r=(0,J.useRef)(null),i=(0,J.useRef)(t),a=t[0]?.key,o=i.current[0]?.key,s=a!==o&&(t.some(e=>e.key===o)||i.current.some(e=>e.key===a));(0,J.useLayoutEffect)(()=>{i.current=t},[t]);let[c]=(0,J.useState)(()=>kn(e,t.length)),l=(0,J.useRef)(t.length);l.current=t.length;let u=(0,J.useRef)(null),d=(0,J.useCallback)(t=>{n.virtualizerRef.current=t,t?u.current=t:u.current&&=(On(e,{rows:l.current,cache:u.current.cache}),null)},[e,n.virtualizerRef]),[f,p]=(0,J.useState)(0);return(0,J.useLayoutEffect)(()=>{let e=()=>{let e=r.current,t=n.scrollElRef.current;!e||!t||p(Math.max(0,Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop)))};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[n.scrollElRef]),(0,Y.jsx)(`div`,{ref:e=>{r.current=e,n.attachContent(e)},"data-slot":`thread-rows`,"data-virtualized":`true`,className:`[overflow-anchor:none]`,children:(0,Y.jsx)(jt,{ref:d,scrollRef:n.scrollElRef,startMargin:f,shift:s,...c===void 0?{}:{cache:c},children:t.map(e=>(0,Y.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:`flex w-full flex-col pb-2.5`,children:e.node},e.key))})})}function Kr({onJump:e}){return(0,Y.jsxs)(`button`,{type:`button`,"data-slot":`jump-to-latest`,onClick:e,className:`pointer-events-auto inline-flex min-h-11 min-w-11 items-center gap-1.5 rounded-full border border-border bg-background px-3.5 text-xs font-medium text-muted-foreground shadow-modal hover:text-foreground`,children:[(0,Y.jsx)(d,{"aria-hidden":!0,className:`size-3.5`}),`Jump to latest`]})}function qr(e,t){let n=[];e.task&&n.push({id:`task`,userMessageKey:`task`,userMessage:{text:e.task,images:e.taskImages??[],ts:e.createdAt},entries:[]});for(let t of e.queuedMessages??[])n.push({id:`queued:${t.id}`,userMessageKey:`queued:${t.id}`,userMessage:{text:t.text,images:t.images??[],ts:t.createdAt},inDaySequence:!1,entries:[]});for(let e of t.turns)n.push({id:e.id,userMessageKey:`${e.id}:user`,...e.userMessage===void 0?{}:{userMessage:{text:e.userMessage.text,imageCount:e.userMessage.imageCount,images:e.userMessage.images,...e.userMessage.ts===void 0?{}:{ts:e.userMessage.ts}}},...e.startedAt===void 0?{}:{startedAt:e.startedAt},...e.completed?.ts===void 0?{}:{completedAt:e.completed.ts},entries:e.items});return n}function Jr(e,t){return[{id:`agent:${e}`,entries:t}]}function Yr(e){if(e.inDaySequence!==!1)return e.userMessage?.ts??e.startedAt??e.completedAt}function Xr(e,t){let n=[],r;for(let t of e){let e=Yr(t),i=Rn(e);i!==void 0&&e!==void 0&&(r===void 0||i>r)&&(r!==void 0&&n.push({key:`${t.id}:day-separator`,scope:t.id,content:{kind:`day-separator`,ts:e}}),r=i),t.userMessage!==void 0&&n.push({key:t.userMessageKey??`${t.id}:user`,scope:t.id,content:{kind:`user-message`,message:t.userMessage}});for(let e of fn([...t.entries]))n.push({key:`${t.id}:${e.id}`,scope:t.id,content:{kind:`block`,block:e}});t.completedAt!==void 0&&n.push({key:`${t.id}:turn-time`,scope:t.id,content:{kind:`turn-time`,completedAt:t.completedAt,...t.startedAt===void 0?{}:{startedAt:t.startedAt}}})}return n}function Zr({runId:e,viewId:t,sections:n,mode:r,empty:i,renderAsk:a,messageActions:o,scrollControls:s,renderMode:c,taskTitles:l,recipientBackends:u}){let d=(0,J.useMemo)(()=>Xr(n,e),[n,e]),f=Hr(`${e}:${t}`,{surface:r}),p=s??f,m=(0,J.useMemo)(()=>{let e=new Map;d.forEach((t,n)=>{if(!(t.content.kind!==`block`||t.content.block.kind!==`worker-conversation`))for(let r of t.content.block.batches)for(let i of r.messages)e.set(i.messageId,{message:i,rowKey:t.key,rowIndex:n})});let t=new Map;for(let n of e.values()){let{message:e}=n;if(e.messageKind!==`reply`||!e.requestId)continue;let r=t.get(e.requestId)??[];r.push(n),t.set(e.requestId,r)}return{targets:e,replies:t,navigate:e=>p.jumpToRow(e.rowKey,e.rowIndex)}},[d,p.jumpToRow]),h=(0,J.useMemo)(()=>d.map(t=>({key:t.key,node:Qr(t,o?.[t.key],a,e,l,u)})),[o,a,d,e,l,u]),g=c??Cn(``,h.length),_=h.length===0?i??null:(0,Y.jsx)(Ur,{runId:`${e}:${t}`,rows:h,mode:g,controls:p});return(0,Y.jsx)(Ge,{runId:e,children:(0,Y.jsx)(_n,{runId:e,children:(0,Y.jsx)(vn.Provider,{value:m,children:r===`panel`?(0,Y.jsxs)(`div`,{"data-slot":`transcript-viewport`,"aria-label":`Agent transcript`,role:`region`,tabIndex:0,className:`relative flex min-h-0 flex-1 flex-col overflow-y-auto [scrollbar-gutter:stable]`,children:[(0,Y.jsx)(`div`,{"data-slot":`subagent-stream`,className:`flex flex-col px-5 py-4`,children:_}),p.pillVisible?(0,Y.jsx)(`div`,{className:`pointer-events-none sticky inset-x-0 bottom-4 flex justify-center`,children:(0,Y.jsx)(Kr,{onJump:p.jumpToLatest})}):null]}):_})})})}function Qr(e,t,n,r,i,a){switch(e.content.kind){case`user-message`:return(0,Y.jsx)($r,{message:e.content.message,actions:t});case`day-separator`:return(0,Y.jsx)(Un,{ts:e.content.ts});case`turn-time`:return(0,Y.jsx)(Hn,{completedAt:e.content.completedAt,...e.content.startedAt===void 0?{}:{startedAt:e.content.startedAt}});case`block`:return(0,Y.jsx)(ei,{block:e.content.block,scope:e.scope,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a});default:return ri(e.content)}}function $r({message:e,actions:t}){return(0,Y.jsx)($n,{text:e.text,imageCount:e.imageCount,images:e.images,...e.ts===void 0?{}:{ts:e.ts},onEdit:t?.onEdit,onRemove:t?.onRemove,editLabel:t?.editLabel,removeLabel:t?.removeLabel})}function ei({block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){switch(e.kind){case`entry`:return(0,Y.jsx)(ni,{entry:e.entry,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a});case`tool-card`:return(0,Y.jsx)(xr,{item:e.item,nested:e.children,cacheKey:`${t}:${e.id}`,renderNested:(e,t)=>(0,Y.jsx)(ti,{entries:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a})});case`context-group`:return(0,Y.jsx)(Sr,{group:e,scope:t});case`streak`:return(0,Y.jsx)(Cr,{count:e.count,children:e.blocks.map(e=>(0,Y.jsx)(ei,{block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a},e.id))});case`worker-conversation`:return(0,Y.jsx)(rr,{block:e,runId:r,taskTitles:i,recipientBackends:a});default:return ri(e)}}function ti({entries:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){return fn([...e]).map(e=>(0,Y.jsx)(ei,{block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a},e.id))}function ni({entry:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){switch(e.kind){case`message`:return e.role===`assistant`?(0,Y.jsx)(er,{text:e.text,ts:e.ts}):(0,Y.jsx)($n,{text:e.text,ts:e.ts});case`reasoning`:return(0,Y.jsx)(fr,{text:e.text});case`tool`:return(0,Y.jsx)(xr,{item:e,cacheKey:`${t}:${e.id}`});case`note`:return e.attribution?(0,Y.jsxs)(`div`,{className:`min-w-0 rounded-md border border-border px-4 py-3 text-sm`,children:[(0,Y.jsx)(`p`,{className:`mb-2 break-all text-xs text-muted-foreground`,children:e.attribution.source===`agent`?`Agent input from parent ${e.attribution.parentRunId}`:`Worker lifecycle context for parent ${e.attribution.parentRunId}`}),(0,Y.jsx)(lr,{note:e})]}):(0,Y.jsx)(lr,{note:e});case`conversation`:return(0,Y.jsx)(rr,{runId:r,taskTitles:i,recipientBackends:a,block:{kind:`worker-conversation`,id:e.id,batches:[{id:e.id,kind:e.messageKind,text:e.text,senderRunId:e.senderRunId,messages:[e]}]}});case`image`:return(0,Y.jsx)(wr,{image:e});case`ask`:return n===void 0?(0,Y.jsx)(`div`,{"data-slot":`ask-card`,className:`rounded-lg border border-border bg-card px-4 py-3 text-sm`,children:`The agent asked a question. Open the main session to answer it.`}):n(e);case`provider-auth-required`:return(0,Y.jsx)(dr,{incident:e});default:return ri(e)}}function ri(e){throw Error(`Unhandled transcript variant: ${JSON.stringify(e)}`)}function ii({runId:e,renderAsk:t,agent:n,entries:r,onClose:i,taskTitles:a,recipientBackends:o}){return(0,Y.jsx)(Ot,{open:n!==void 0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(Dt,{"data-slot":`subagent-sheet`,side:`right`,className:`flex min-h-0 w-full gap-0 p-0 sm:max-w-xl`,children:n===void 0?null:(0,Y.jsx)(ai,{runId:e,renderAsk:t,agent:n,entries:r,taskTitles:a,recipientBackends:o})})})}function ai({runId:e,renderAsk:t,agent:n,entries:r,taskTitles:i,recipientBackends:a}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(St,{className:`gap-1.5 border-b border-border px-5 py-4`,children:[(0,Y.jsxs)(Et,{className:`flex min-w-0 items-center gap-2 pr-8 text-[16px]`,children:[(0,Y.jsx)(`span`,{className:`min-w-0 truncate`,children:n.title}),n.agentType===void 0?null:(0,Y.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[11px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:n.agentType})]}),(0,Y.jsxs)(wt,{"data-slot":`subagent-meta`,className:`flex items-center gap-2 text-xs`,children:[(0,Y.jsx)(oi,{status:n.status}),(0,Y.jsxs)(`span`,{className:`tabular-nums`,children:[n.toolCalls,` `,n.toolCalls===1?`tool call`:`tool calls`]})]})]}),(0,Y.jsx)(Zr,{runId:e,viewId:`agent:${n.id}`,sections:Jr(n.id,r),mode:`panel`,renderAsk:t,taskTitles:i,recipientBackends:a,empty:(0,Y.jsx)(`div`,{"data-slot":`subagent-empty`,className:`py-2 text-[13px] text-muted-foreground`,children:`No attributed output — see the thread card for this agent's result.`})})]})}function oi({status:e}){let t=e===`completed`?`Completed`:e===`failed`?`Failed`:e===`declined`?`Declined`:e===`pending`?`Pending`:`Running`;return(0,Y.jsx)(`span`,{"data-slot":`subagent-status`,"data-status":e,className:U(`rounded-full px-2 py-0.5 text-[11px] font-semibold tracking-[0.05em] uppercase`,e===`completed`&&`bg-success/15 text-success`,(e===`failed`||e===`declined`)&&`bg-danger/15 text-danger`,(e===`running`||e===`pending`)&&`bg-muted text-muted-foreground`),children:t})}function si(e){let t=H();return V({mutationFn:()=>f(e),onSuccess:()=>t.invalidateQueries({queryKey:R.runs.all}),onError:e=>S(e.message,{tone:`danger`})})}function ci({run:e}){return(0,Y.jsxs)(`section`,{"data-slot":`review-panel`,"aria-label":`Review the changes`,className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{"data-slot":`review-banner`,className:`flex items-center gap-2.5 rounded-md border border-accent-strong/30 bg-accent-strong/10 px-3.5 py-2.5`,children:[(0,Y.jsx)(ct,{className:`size-4 shrink-0 text-accent-icon`,"aria-hidden":`true`}),(0,Y.jsxs)(`p`,{className:`min-w-0 text-[13px]`,children:[(0,Y.jsx)(`span`,{className:`font-semibold`,children:`Review the changes before anything lands.`}),` `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`Read the diff, send notes back, draft a PR — or accept. Nothing merges on its own.`})]})]}),(0,Y.jsx)(Nt,{runId:e.id}),(0,Y.jsx)(li,{run:e})]})}function li({run:e}){let t=H(),n=(0,J.useRef)(null),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(null),s=si(e.id),c=Tr(e),l=()=>t.invalidateQueries({queryKey:R.runs.all}),u=V({mutationFn:async t=>c.canContinue?b(e.id,{text:`Review feedback:\n${t}`,runner:c.runnerOverride}):null,onSuccess:e=>{e!==null&&(i(``),l())},onError:e=>S(e.message,{tone:`danger`})}),d=V({mutationFn:()=>m(e.id),onSuccess:e=>{S(`Draft PR created — ${e.url}`),l()},onError:e=>{e instanceof he&&e.manual!==void 0&&o(e.manual),S(e.message,{tone:`danger`})}}),f=()=>{let e=r.trim();if(e.length===0){S(`Write what to change first.`),n.current?.focus();return}u.mutate(e)};return(0,Y.jsxs)(`div`,{"data-slot":`review-actions`,className:`flex flex-col gap-2`,children:[(0,Y.jsx)(xt,{ref:n,"data-slot":`review-notes`,"aria-label":`Notes for the agent`,placeholder:`Notes for the agent — what should change?`,rows:2,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>{kt({key:e.key,shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,repeat:e.repeat,isComposing:e.nativeEvent.isComposing})&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),f())},className:`min-h-[52px] text-[13px]`}),c.canContinue?null:(0,Y.jsxs)(`p`,{id:`review-provider-guidance`,className:`flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{children:c.reason}),c.providerPending?null:(0,Y.jsx)(W,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsxs)(B,{"data-slot":`review-send-back`,variant:`outline`,size:`sm`,title:c.reason??`Send the notes back into the agent's session`,"aria-describedby":c.canContinue?void 0:`review-provider-guidance`,disabled:u.isPending||!c.canContinue,onClick:f,children:[(0,Y.jsx)(Wt,{"aria-hidden":`true`}),`Send back`]}),Te(e.pullRequestUrl)?(0,Y.jsx)(B,{asChild:!0,variant:`outline`,size:`sm`,children:(0,Y.jsxs)(`a`,{"data-slot":`pr-link`,href:e.pullRequestUrl,target:`_blank`,rel:`noopener noreferrer`,title:`The PR for this task is already open`,children:[(0,Y.jsx)(et,{"aria-hidden":`true`}),`PR ↗`]})}):(0,Y.jsxs)(B,{"data-slot":`review-draft-pr`,variant:`outline`,size:`sm`,title:`Push the branch and open a draft PR`,disabled:d.isPending,onClick:()=>d.mutate(),children:[(0,Y.jsx)(me,{"aria-hidden":`true`}),`Draft PR`]}),e.finishBlocked===null?(0,Y.jsxs)(B,{"data-slot":`review-accept`,variant:`primary`,size:`sm`,className:`ml-auto`,title:ze(`review`),disabled:s.isPending,onClick:()=>s.mutate(),children:[(0,Y.jsx)(k,{"aria-hidden":`true`}),`Accept`]}):null]}),a===null?null:(0,Y.jsx)(ui,{command:a})]})}function ui({command:e}){return(0,Y.jsxs)(`button`,{type:`button`,"data-slot":`review-manual`,title:`Copy the command`,onClick:()=>{navigator.clipboard.writeText(e).then(()=>S(`Command copied to clipboard.`)).catch(()=>S(`Run manually: ${e}`))},className:`flex w-full min-w-0 items-center gap-1.5 rounded-sm px-1 py-0.5 text-left font-mono text-[11px] text-soft-foreground hover:bg-muted hover:text-foreground`,children:[(0,Y.jsx)(ne,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,Y.jsxs)(`span`,{className:`truncate`,children:[`manual path: `,e]})]})}function di(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var fi=1500;function pi({status:e}){let t=(0,J.useRef)(e),[n,r]=(0,J.useState)(!1);return(0,J.useEffect)(()=>{let n=t.current;if(t.current=e,n!==`review`||e!==`done`||di())return;r(!0);let i=setTimeout(()=>r(!1),fi);return()=>clearTimeout(i)},[e]),n?(0,Y.jsxs)(`div`,{"data-slot":`accept-celebration`,"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 isolate z-40`,children:[(0,Y.jsx)(i,{}),(0,Y.jsx)(`div`,{className:`flex justify-center pt-24`,children:(0,Y.jsx)(`span`,{className:`rounded-full border border-accent-strong/30 bg-accent-strong/15 px-4 py-1.5 text-[13px] font-medium text-accent-text shadow-modal`,children:`✓ Changes accepted`})})]}):null}function mi(e){let t=H(),[n,r]=(0,J.useState)(),i=Fe(e.status);(0,J.useEffect)(()=>{(!i||n&&n!==e.id)&&r(void 0)},[i,e.id,n]);let o=V({mutationFn:async()=>{r(e.id);try{if(!(await a(e.id)).cancelled)throw Error(`The task changed before Stop was accepted. Check its status and retry.`)}catch(e){throw r(void 0),e}},onSettled:()=>t.invalidateQueries({queryKey:R.runs.all})});return{stopping:!!e.stopping||o.isPending||i&&n===e.id,stop:()=>o.mutateAsync()}}function hi({agents:e,onSelect:t}){return e.length===0?null:(0,Y.jsx)(`ul`,{"data-slot":`agents-list`,className:`flex min-w-0 flex-col gap-[7px]`,children:e.map(e=>(0,Y.jsx)(gi,{agent:e,onSelect:t},e.id))})}function gi({agent:e,onSelect:t}){let n=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_i,{status:e.status,stalled:e.stalled===!0}),(0,Y.jsx)(`span`,{className:`min-w-0 shrink truncate font-medium`,children:e.title}),e.agentType===void 0?null:(0,Y.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[11px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:e.agentType}),(0,Y.jsx)(`span`,{"data-slot":`agent-activity`,className:`min-w-0 flex-1 truncate text-muted-foreground`,children:Rr(e)}),(0,Y.jsxs)(`span`,{"data-slot":`agent-tools`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[e.toolCalls,` `,e.toolCalls===1?`tool`:`tools`]})]});return(0,Y.jsx)(`li`,{"data-slot":`agent-item`,"data-status":e.status,className:`min-w-0 text-[13px]`,children:t?(0,Y.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),"aria-haspopup":`dialog`,className:`flex min-h-5 w-full min-w-0 items-center gap-2.5 rounded-sm text-left hover:bg-muted/50`,children:n}):(0,Y.jsx)(`div`,{className:`flex min-h-5 min-w-0 items-center gap-2.5`,children:n})})}function _i({status:e,stalled:t=!1}){return t?(0,Y.jsx)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,"data-stalled":`true`,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`3 2.5`,children:(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})}):e===`completed`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`failed`||e===`declined`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-danger`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m9 9 6 6M15 9l-6 6`})]}):(0,Y.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Y.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Y.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]})}function vi(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.filter(e=>e.status!==`cancelled`).length}}function yi({entries:e}){return e.length===0?null:(0,Y.jsx)(`ul`,{"data-slot":`plan-list`,className:`flex min-w-0 flex-col gap-[7px]`,children:e.map((e,t)=>(0,Y.jsx)(bi,{entry:e},`${t}:${e.content}`))})}function bi({entry:e}){return(0,Y.jsxs)(`li`,{"data-slot":`plan-item`,"data-status":e.status,className:U(`flex min-h-5 min-w-0 items-center gap-2.5 text-[13px]`,e.status===`completed`&&`text-soft-foreground line-through`,e.status===`in_progress`&&`font-medium`,e.status===`pending`&&`text-muted-foreground`,e.status===`cancelled`&&`text-soft-foreground/70 line-through`),children:[(0,Y.jsx)(xi,{status:e.status}),(0,Y.jsx)(`span`,{className:`min-w-0 truncate`,children:e.content}),e.status===`in_progress`?(0,Y.jsx)(`span`,{"data-slot":`plan-tag`,className:`ml-auto shrink-0 rounded-full bg-muted px-2 py-0.5 text-[11px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:`in progress`}):null]})}function xi({status:e}){return e===`cancelled`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground/70`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`,opacity:`.5`}),(0,Y.jsx)(`path`,{d:`m8.5 15.5 7-7`})]}):e===`completed`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Y.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`in_progress`?(0,Y.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Y.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Y.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]}):(0,Y.jsx)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:(0,Y.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})})}var Si={"not-delivered":0,queued:1,delivered:2,consumed:3};function Ci(e){for(let t=e.turns.length-1;t>=0;--t){let n=e.turns[t].planEntries;if(n!==void 0)return n}}function wi(e){let t=[];for(let n of e.turns)for(let e of n.items)if(e.kind===`tool`){for(let n of e.locations??[])t.push(n.path);for(let n of e.diffs??[])t.push(n.path)}let n=[];for(let e=t.length-1;e>=0;--e)n.includes(t[e])||n.push(t[e]);return n}function Ti(e,t){switch(e){case`waiting`:return{state:`waiting`};case`failed`:return{state:`closed`,tone:`danger`,label:t?`Session failed — ${t}`:`Session failed`};case`review`:return{state:`closed`,tone:`dim`,label:`Session closed — waiting for your review`};case`done`:case`cancelled`:return{state:`closed`,tone:`dim`,label:`Session closed`};default:return null}}function Ei(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Di(e){let t=typeof e==`string`?new Date(e):void 0;return!t||Number.isNaN(t.getTime())?``:` · ${t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}`}function $(e){return typeof e==`string`?e:void 0}function Oi(e){if(!(typeof e!=`string`||e===``))return Number.isFinite(new Date(e).getTime())?e:void 0}function ki(e){return e===`claude`||e===`codex`||e===`opencode`||e===`pi`||e===`cursor`?e:void 0}function Ai(e,t){let n=e.replace(/\s*CEZ:DONE\s*$/,``).replace(/\s*CEZ:MONITORING\s*$/,``);if(t){let e=n.trimEnd(),t=e.lastIndexOf(`
7
- `)+1;/^CEZ:ASK[ \t]+.+$/.test(e.slice(t))&&(n=e.slice(0,t).trimEnd())}return n.includes(`CEZ:`)?n.split(`
8
- `).filter(e=>!/^CEZ:(?:PR=\d+|ISSUE=\d+|TITLE=.+)\s*$/.test(e)).join(`
9
- `):n}function ji(e){let t=e=>Ai(e,!0).replace(/\s+/g,``),n=new Set,r=[];for(let{origin:i,entry:a}of e.entries)if(i===`v2`&&a.kind===`message`){let e=t(a.text);n.add(e),r.push(e)}if(r.length===0)return;n.add(r.join(``));let i=[],a={entries:[],texts:[]},o=()=>{if(a.entries.length>=2&&n.has(t(a.texts.join(``)))){a={entries:[],texts:[]};return}i.push(...a.entries),a={entries:[],texts:[]}};for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`message`?(a.entries.push(t),a.texts.push(t.entry.text)):(o(),i.push(t));o(),e.entries=i}function Mi(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}var Ni=e=>e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`,Pi=new Set([`pending`,`in_progress`,`completed`,`cancelled`]);function Fi(e){if(!Ei(e)||!Array.isArray(e.todos))return;let t=[];for(let n of e.todos){if(!Ei(n)||typeof n.content!=`string`)return;t.push({content:n.content,status:Pi.has(n.status)?n.status:`pending`,...typeof n.activeForm==`string`?{activeForm:n.activeForm}:{}})}return t}function Ii(e,t={}){let n=[],r=new Map,i,a=0,o,s=e=>{a+=1;let t={id:e===void 0?`turn-fallback-${a}`:`turn-seq-${e}`,entries:[],v2Items:!1};return n.push(t),t},c=()=>n.at(-1)??s(),l=(e,t)=>{let n=$(e.stepId);return n===void 0?t:`${n}:${t}`},u=(e,t,n,i)=>{let a=t.kind===`message`&&i!==void 0?{...t,ts:i}:{...t};if(!e.v2Items){e.v2Items=!0;for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`tool`&&r.delete(t.entry.id);e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`tool`))}let o=r.get(n);if(o&&o.turn===e){o.entry.entry=a,r.set(n,o);return}let s={origin:`v2`,entry:a};e.entries.push(s),r.set(n,{turn:e,entry:s})},d=new Map,f=new Map,p=new Set,m=e=>{if(e.messageKind!==`request`)return;let t=f.get(e.messageId);t&&(e.outcome={status:t.status,...t.replyId===void 0?{}:{replyId:t.replyId},observedAt:t.observedAt})},h=(e,t,n)=>{let r=d.get(e.id);if(r)return(Si[r.delivery]<Si.delivered||Si[t]>Si[r.delivery])&&(r.delivery=t),e.text!==``&&(r.text=e.text),e.state!==void 0&&(r.state=e.state),e.createdAt!==void 0&&(r.createdAt=e.createdAt),e.requestHash!==void 0&&(r.requestHash=e.requestHash),e.deadline!==void 0&&(r.deadline=e.deadline),e.requestId!==void 0&&(r.requestId=e.requestId),e.instruction!==void 0&&(r.instruction=e.instruction),e.resumed!==void 0&&(r.resumed=e.resumed),n?.deliveredAt!==void 0&&(r.deliveredAt=n.deliveredAt),n?.consumedAt!==void 0&&(r.consumedAt=n.consumedAt),n?.recordedAt!==void 0&&(t===`delivered`||r.delivery!==`delivered`)&&(r.recordedAt=n.recordedAt),m(r),r;let i={kind:`conversation`,id:`conversation-message:${e.id}`,messageId:e.id,text:e.text,senderRunId:e.senderRunId,recipientRunId:e.recipientRunId,messageKind:e.kind,delivery:t,...n,...e.instruction===void 0?{}:{instruction:e.instruction},...e.resumed===void 0?{}:{resumed:e.resumed},...e.requestId===void 0?{}:{requestId:e.requestId},...e.state===void 0?{}:{state:e.state},...e.createdAt===void 0?{}:{createdAt:e.createdAt},...e.requestHash===void 0?{}:{requestHash:e.requestHash},...e.deadline===void 0?{}:{deadline:e.deadline}};return m(i),d.set(e.id,i),c().entries.push({origin:`meta`,entry:i}),i},g=!1;for(let t of e)switch(t.type){case`handoff`:{let e=Di(t.ts),n=$(t.message),r=t.notify===!1?`Stopped notifying the webhook${e}`:`${g?`Note sent to webhook`:`Handed off to webhook`}${e}${n?` — ${n}`:``}`;g=t.notify!==!1,c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:r,tone:`dim`,icon:`handoff`}});break}case`webhook.failed`:{let e=typeof t.attempts==`number`?t.attempts:void 0,n=`Webhook delivery failed${$(t.event)?` (${$(t.event)})`:``}${e?` after ${e} attempt${e===1?``:`s`}`:``}: ${$(t.error)??`unknown error`}`;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:n,tone:`danger`}});break}case`webhook.dry-run`:{let e=t.payload??{},n=`Webhook (dry run, nothing sent): ${$(t.event)??`delivery`}${$(e.status)?` · ${$(e.status)}`:``}`;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:n,tone:`dim`}});break}case`conversation-message`:{let e=be.safeParse(t);if(!e.success)break;h(e.data.message,e.data.delivery,{deliveredAt:e.data.deliveredAt,consumedAt:e.data.consumedAt,recordedAt:e.data.ts});break}case`request-outcome`:{let e=ye.safeParse(t);if(!e.success||f.has(e.data.outcome.requestId))break;let{outcome:n}=e.data;f.set(n.requestId,n);let r=d.get(n.requestId);r&&m(r);break}case`agent-input`:{let e=De.safeParse(t);if(!e.success)break;let{input:n}=e.data;if(p.has(n.id))break;if(p.add(n.id),n.conversation){h({id:n.id,text:n.text,createdAt:n.createdAt,...n.conversation},`delivered`,{deliveredAt:n.deliveredAt,recordedAt:e.data.ts});break}c().entries.push({origin:`meta`,entry:{kind:`note`,id:`agent-input:${n.id}`,text:n.text,tone:`dim`,attribution:{source:n.source,parentRunId:n.parentRunId}}});break}case`user-message`:{let e=$(t.text)??``;o&&!o.resolved&&(o.resolved=!0,o.answeredBy=`human`,e!==``&&(o.answer=e),o=void 0);let n=s(t.seq),r=Oi(t.ts);n.userMessage={text:e,imageCount:typeof t.imageCount==`number`?t.imageCount:0,images:Array.isArray(t.images)?t.images.filter(e=>typeof e==`string`):[],...r===void 0?{}:{ts:r}},r!==void 0&&(n.startedAt=r);break}case`turn.started`:{let e=$(t.turnId),r=n.at(-1),i=r&&r.turnId===void 0&&!r.v2Items?r:s(t.seq);i.turnId=e;let a=Oi(t.ts);i.startedAt===void 0&&a!==void 0&&(i.startedAt=a);break}case`turn.completed`:{let e=$(t.turnId),r;for(let t=n.length-1;t>=0&&!r;--t)n[t].turnId===e&&(r=n[t]);let i=r??n.at(-1);if(i){let e=Oi(t.ts);i.completed={stopReason:$(t.stopReason)??`end_turn`,...typeof t.costUsd==`number`?{costUsd:t.costUsd}:{},...e===void 0?{}:{ts:e}}}break}case`item.started`:case`item.updated`:case`item.completed`:{if(!Ei(t.item))break;let e=t.item.kind,n=t.item.id;if(e!==`message`&&e!==`reasoning`&&e!==`tool`||typeof n!=`string`||n===``)break;let i=t.item,a=l(t,i.id);u(r.get(a)?.turn??c(),i,a,t.type===`item.completed`?Oi(t.ts):void 0);break}case`item.delta`:{let e=$(t.itemId)??``,n=r.get(l(t,e)),i=$(t.delta)??``;if(!n||i===``||!Ni(n.entry.entry))break;let a=n.entry.entry;t.field===`output`&&a.kind===`tool`?a.output=(a.output??``)+i:t.field!==`output`&&a.kind!==`tool`&&(a.text+=i);break}case`text`:{let e=c(),n=$(t.text)??``;if(n===``)break;let r=Oi(t.ts);e.entries.push({origin:`v1`,entry:{kind:`message`,id:`v1:${t.seq}`,role:`assistant`,text:n,...r===void 0?{}:{ts:r}}});break}case`tool-call`:{let e=c();if(e.v2Items)break;let n=$(t.tool)??`Tool`;if(Li.has(n))break;let i=Bt(n,t.input);if(i.toolKind===`plan`){let n=Fi(t.input);n!==void 0&&(e.planEntries=n)}let a={kind:`tool`,id:$(t.id)??`v1:${t.seq}`,name:n,toolKind:i.toolKind,title:i.title,status:`running`,input:t.input},o={origin:`v1`,entry:a};e.entries.push(o),r.set(a.id,{turn:e,entry:o});break}case`tool-result`:{let e=r.get($(t.toolCallId)??``);if(!e||e.turn.v2Items||e.entry.origin!==`v1`)break;let n=e.entry.entry;if(n.kind!==`tool`)break;n.status=`completed`,n.output=Mi(t.result);break}case`note`:case`lifecycle`:{let e=$(t.message)??``;if(e===``)break;let n=t.tone===`danger`?`danger`:`dim`;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:n}});break}case`error`:{let e=$(t.message)??``;if(e===``)break;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:`danger`}});break}case`session.error`:{let e=$(t.message)??``;if(e===``)break;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v2:${t.seq}`,text:e,tone:`danger`}});break}case`step-end`:{if(t.status!==`failed`)break;let e=$(t.error)?` — ${$(t.error)}`:``;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:`step ${$(t.stepId)??`?`} failed${e}`,tone:`danger`}});break}case`check-output`:{let e=$(t.command)??`check`,n=typeof t.exitCode==`number`?t.exitCode:-1,r={kind:`tool`,id:`v1:${t.seq}`,name:`check`,toolKind:`execute`,title:`Ran ${e}`,status:n===0?`completed`:`failed`,output:$(t.text)??``,exitCode:n};c().entries.push({origin:`meta`,entry:r});break}case`provider-auth-required`:{let e=ki(t.provider),n=$(t.authFailureId);if(e===void 0||n===void 0||n.length<1||n.length>128)break;c().entries.push({origin:`meta`,entry:{kind:`provider-auth-required`,id:`v1:${t.seq}`,provider:e,authFailureId:n}});break}case`image`:{let e=$(t.url);if(e===void 0)break;let n={kind:`image`,id:`v1:${t.seq}`,url:e},r=$(t.name);r!==void 0&&(n.name=r),c().entries.push({origin:`meta`,entry:n});break}case`plan.updated`:Array.isArray(t.entries)&&(c().planEntries=t.entries);break;case`session.ended`:i={reason:$(t.reason)??`end_turn`,...$(t.message)===void 0?{}:{message:$(t.message)}};break;case`ask.requested`:{let e=$(t.requestId);if(e===void 0||!Array.isArray(t.questions))break;let n=t.questions.filter(e=>Ei(e)&&typeof e.header==`string`&&Array.isArray(e.options));if(n.length===0)break;let r={kind:`ask`,id:e,questions:n,resolved:!1,askSeq:t.seq};c().entries.push({origin:`meta`,entry:r}),o=r;break}case`worker-question-routed`:if(o&&!o.resolved&&o.askSeq===t.askSeq){o.routedToParent=!0;let e=$(t.parentRunId);e!==void 0&&(o.parentRunId=e)}break;case`worker-question-fallback`:o&&!o.resolved&&o.askSeq===t.askSeq&&(o.routedToParent=!1);break;case`human-input-delivered`:t.source===`parent`&&o&&!o.resolved&&o.askSeq===t.askSeq&&(o.resolved=!0,o.answeredBy=`parent`,o=void 0);break;case`step-start`:case`token-usage`:case`cost`:case`turn-end`:case`done`:case`session`:break;default:break}for(let e of n){if(!e.v2Items)continue;let t=new Set;for(let{origin:n,entry:r}of e.entries)n===`v2`&&r.kind===`message`&&t.add(Ai(r.text,!0).trim());t.size!==0&&(e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`message`&&t.has(Ai(e.entry.text,!0).trim()))),ji(e))}for(let e of d.values())e.messageKind!==`request`||e.outcome!==void 0||e.delivery!==`not-delivered`&&(e.state!==void 0&&e.state!==`accepted`||(e.outcome={status:`pending`}));return{turns:n.map((e,r)=>{let i=e.entries.some(({entry:e})=>e.kind===`ask`),a=t.activeTurn===!0&&r===n.length-1;return{id:e.id,...e.turnId===void 0?{}:{turnId:e.turnId},...e.userMessage===void 0?{}:{userMessage:e.userMessage},...e.startedAt===void 0?{}:{startedAt:e.startedAt},...e.planEntries===void 0?{}:{planEntries:e.planEntries},...e.completed===void 0?{}:{completed:e.completed},items:e.entries.map(({entry:e})=>e.kind===`message`&&e.role===`assistant`?{...e,text:Ai(e.text,i||a)}:e)}}),...i===void 0?{}:{sessionEnded:i}}}var Li=new Set([`subAgentActivity`,`collabAgentToolCall`,`collabToolCall`]),Ri=new Map,zi=new Map;function Bi({run:e,currentThread:t,onOpenWorker:n}){let r=nt(),[i,a]=(0,J.useState)(()=>Ri.get(e.id)??r),[o,c]=(0,J.useState)({}),u=!(e.status===`running`||e.status===`waiting`)&&e.status!==`queued`,d=e.steps,f=(0,J.useMemo)(()=>Fr(t.turns,u),[t.turns,u]),p=Ci(t)??[],m=e.delegation!==void 0&&e.delegation.role!==`invalid`,g=qe(e),_=d.length===0||d.every(e=>e.status===`done`||e.status===`skipped`),v=Lr(f),y=vi(p),b=[d.length>0?`workflow`:void 0,f.length>0?`subagents`:void 0,m?`workers`:void 0,p.length>0?`plan`:void 0].filter(e=>e!==void 0);if(b.length===0)return null;let x=t=>o[t]??zi.get(`${e.id}:${t}`)??t===`workers`,S=t=>{let n=!x(t);zi.set(`${e.id}:${t}`,n),c(e=>({...e,[t]:n}))},C=e.status===`done`&&_&&g===`complete`&&v.done===v.total&&y.done===y.total,T=g===`pending`,E=C?`All complete`:e.status===`failed`?`Failed`:e.status===`cancelled`?`Cancelled`:e.status===`running`?`Working`:e.status===`done`?g===`unknown`?`Workers unavailable`:T?`In progress`:`Incomplete`:`In progress`,D=e.status===`failed`||e.status===`cancelled`;return(0,Y.jsxs)(`section`,{"data-slot":`run-activity-dock`,"data-state":i?`open`:`collapsed`,className:`min-w-0 overflow-hidden rounded-xl border border-border bg-card shadow-xs`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>{Ri.set(e.id,!i),a(!i)},className:`flex min-h-11 w-full min-w-0 items-center gap-2.5 px-3.5 py-2 text-left text-[14px] hover:bg-muted/40`,children:[(0,Y.jsx)(l,{"aria-hidden":!0,className:`size-4 shrink-0 text-accent-text`}),(0,Y.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Run activity`}),(0,Y.jsxs)(`span`,{"data-slot":`run-activity-count`,className:`shrink-0 text-[13px] text-muted-foreground tabular-nums`,children:[`· `,b.length,` `,b.length===1?`section`:`sections`]}),(0,Y.jsxs)(`span`,{"data-slot":`run-activity-status`,className:U(`ml-auto flex min-w-0 shrink items-center gap-1.5 truncate text-[13px]`,C?`text-success`:D?`text-danger`:`text-muted-foreground`),children:[C?(0,Y.jsx)(w,{"aria-hidden":!0,className:`size-3.5 shrink-0`}):null,(0,Y.jsx)(`span`,{className:`truncate`,children:E})]}),(0,Y.jsx)(O,{"aria-hidden":!0,className:U(`size-4 shrink-0 text-soft-foreground transition-transform`,i&&`rotate-180`)})]}),i?(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[d.length>0?(0,Y.jsx)(Ye,{slot:`workflow`,icon:(0,Y.jsx)(Vi,{steps:d}),title:d[Je(d)].name,meta:Ue(Je(d)+1,d.length,r,`step`),open:x(`workflow`),onToggle:()=>S(`workflow`),children:(0,Y.jsx)(Ke,{steps:d})}):null,f.length>0?(0,Y.jsx)(Ye,{slot:`subagents`,icon:(0,Y.jsx)(h,{className:`size-4`}),title:`Subagents`,meta:Ue(v.done,v.total,r),open:x(`subagents`),onToggle:()=>S(`subagents`),children:(0,Y.jsx)(hi,{agents:f,onSelect:n})}):null,m?(0,Y.jsx)(He,{run:e,open:x(`workers`),onToggle:()=>S(`workers`)}):null,p.length>0?(0,Y.jsx)(Ye,{slot:`plan`,icon:(0,Y.jsx)(s,{className:`size-4`}),title:`Plan`,meta:Ue(y.done,y.total,r),open:x(`plan`),onToggle:()=>S(`plan`),children:(0,Y.jsx)(yi,{entries:p})}):null]}):null]})}function Vi({steps:e}){let t=We(e[Je(e)].status),n=`size-4 shrink-0`;switch(t){case`active`:return(0,Y.jsx)(pt,{role:`status`,"aria-label":`Step running`,"data-slot":`workflow-glyph`,"data-visual":t,className:U(n,`animate-spin stroke-pending motion-reduce:animate-none`)});case`failed`:return(0,Y.jsx)(se,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:U(n,`text-danger`)});case`pending`:return(0,Y.jsx)(I,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:U(n,`text-soft-foreground`)});case`done`:return(0,Y.jsx)(w,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:U(n,`text-success`)})}}function Hi(e,t,n){return`${e.header}: ${n?.trim()||t.join(`, `)}`}function Ui({ask:e,run:t}){return e.resolved?(0,Y.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`true`,className:`rounded-lg border border-border bg-card px-3.5 py-2.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{className:`text-soft-foreground`,children:e.answeredBy===`parent`?`Answered by parent`:`Answered`}),e.answer?(0,Y.jsx)(`span`,{className:`ml-1.5 break-words whitespace-pre-line text-foreground`,children:e.answer}):null]}):e.routedToParent?(0,Y.jsx)(Wi,{ask:e}):(0,Y.jsx)(Gi,{ask:e,run:t})}function Wi({ask:e}){return(0,Y.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`false`,"data-routed":`parent`,className:`rounded-lg border border-border bg-card px-4 pt-3.5 pb-3.5`,children:[(0,Y.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`text-xs font-medium text-link-foreground`,children:`The agent is asking its parent`})}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,Y.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,Y.jsx)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`rounded-md bg-muted px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:e.header})}),(0,Y.jsx)(`p`,{className:`mb-1.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,Y.jsx)(`ul`,{className:`flex list-disc flex-col gap-0.5 pl-5 text-[13px] text-muted-foreground`,children:e.options.map(e=>(0,Y.jsxs)(`li`,{className:`break-words`,children:[(0,Y.jsx)(`span`,{className:`text-foreground`,children:e.label}),e.description?(0,Y.jsxs)(`span`,{children:[`: `,e.description]}):null]},e.label))})]},e.id??t))}),(0,Y.jsxs)(`p`,{"data-slot":`ask-routed-hint`,className:`mt-3 text-xs text-muted-foreground`,children:[`Routed to parent: answer it in the`,` `,e.parentRunId?(0,Y.jsx)(W,{to:`/tasks/${e.parentRunId}`,className:`font-medium text-foreground underline underline-offset-4`,children:`parent task`}):`parent task`,`.`]})]})}function Gi({ask:e,run:t}){let n=Pe(t),r=n.blockedBy!==void 0,i=e.questions,a=i.length===1&&i[0]?.multiSelect!==!0,[o,s]=(0,J.useState)({}),[c,l]=(0,J.useState)({}),u=(e,t)=>s(n=>({...n,[e]:t})),d=e=>l(t=>{if(t[e]===void 0)return t;let n={...t};return delete n[e],n}),f=e=>{u(e,[]),l(t=>({...t,[e]:t[e]??``}))},p=i.some((e,t)=>c[t]!==void 0),m=i.every((e,t)=>(o[t]?.length??0)>0||!!c[t]?.trim()),h=()=>void n.send(i.map((e,t)=>Hi(e,o[t]??[],c[t])).join(`
10
- `)),g=n.mode===`resume`;return(0,Y.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`false`,"data-delivery":n.mode,className:`rounded-lg border border-accent-strong/25 bg-accent-strong/[0.04] px-4 pt-3.5 pb-3.5`,children:[(0,Y.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,Y.jsx)(`span`,{className:`text-xs font-medium text-link-foreground`,children:`The agent is asking`})}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:i.map((e,t)=>(0,Y.jsx)(Ki,{question:e,disabled:n.isPending||r,selected:o[t]??[],isOther:c[t]!==void 0,otherAnswer:c[t]??``,onSelect:i=>{r||(d(t),a?n.send(Hi(e,i)):u(t,i))},onOtherToggle:()=>{r||(c[t]===void 0?f(t):d(t))},onOtherChange:e=>l(n=>({...n,[t]:e}))},e.id??t))}),a&&!p?g?(0,Y.jsx)(`p`,{"data-slot":`ask-resume-hint`,className:`mt-3 text-[11px] text-soft-foreground`,children:`The session has ended — your answer reopens it and goes to the agent.`}):null:(0,Y.jsxs)(`div`,{className:`mt-3 flex items-center gap-2.5`,children:[(0,Y.jsx)(B,{size:`sm`,className:`min-h-11`,disabled:n.isPending||r||!m,onClick:h,children:g?`Send answer & reopen`:`Send answer`}),(0,Y.jsx)(`span`,{"data-slot":g?`ask-resume-hint`:`ask-hint`,className:`text-[11px] text-soft-foreground`,children:g?`the session has ended — sending reopens it`:p?`${i.length>1?`answer each question above`:`enter your answer above`} — or type a reply below`:`${i.length>1?`answer each question`:`pick one or more`} — or type a reply below`})]}),n.blockedBy===`provider`?(0,Y.jsxs)(`div`,{"data-slot":`ask-provider-gate`,className:`mt-3 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(`span`,{children:n.reason}),(0,Y.jsx)(W,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}):null,n.blockedBy===`no-session`?(0,Y.jsx)(`p`,{"data-slot":`ask-no-session`,className:`mt-3 text-xs text-muted-foreground`,children:n.reason}):null,n.error?(0,Y.jsx)(`p`,{"data-slot":`ask-error`,role:`alert`,className:`mt-3 text-xs text-danger`,children:n.error}):null]})}function Ki({question:e,disabled:t,selected:n,isOther:r,otherAnswer:i,onSelect:a,onOtherToggle:o,onOtherChange:s}){let c=(0,J.useId)(),l=e.multiSelect===!0,u=e=>{if(!l){a([e]);return}a(n.includes(e)?n.filter(t=>t!==e):[...n,e])};return(0,Y.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,Y.jsxs)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`rounded-md bg-accent-strong px-1.5 py-0.5 text-[12px] font-semibold uppercase tracking-wide text-accent-strong-foreground`,children:e.header}),l?(0,Y.jsx)(`span`,{className:`ml-auto text-[11px] text-soft-foreground`,children:`select all that apply`}):null]}),(0,Y.jsx)(`p`,{className:`mb-2.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.options.map(e=>{let r=n.includes(e.label);return(0,Y.jsxs)(`button`,{type:`button`,disabled:t,"aria-pressed":r,onClick:()=>u(e.label),className:U(`flex min-h-11 w-full flex-col gap-0.5 rounded-md border px-3.5 py-2.5 text-left transition-colors`,`hover:border-accent-strong/50 hover:bg-accent-strong/[0.06] disabled:pointer-events-none disabled:opacity-50`,r?`border-accent-strong/60 bg-accent-strong/[0.06]`:`border-border bg-card`),children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 items-start gap-2 text-[14px] font-semibold text-foreground`,children:[l?(0,Y.jsx)(`span`,{"aria-hidden":!0,className:U(`flex size-4 shrink-0 items-center justify-center rounded border text-[12px]`,r?`border-accent-strong bg-accent-strong text-accent-strong-foreground`:`border-soft-foreground`),children:r?`✓`:``}):null,(0,Y.jsx)(`span`,{className:`min-w-0 break-words`,children:e.label})]}),e.description?(0,Y.jsx)(`span`,{className:`min-w-0 break-words text-xs text-muted-foreground`,children:e.description}):null]},e.label)})}),(0,Y.jsxs)(`div`,{className:`mt-2`,children:[(0,Y.jsx)(B,{type:`button`,variant:`outline`,"aria-pressed":r,"aria-expanded":r,"aria-controls":r?c:void 0,disabled:t,onClick:o,className:U(`w-full justify-start text-left`,r&&`border-accent-strong/60 bg-accent-strong/[0.06]`),children:`Other`}),r?(0,Y.jsxs)(`div`,{className:`mt-2.5`,children:[(0,Y.jsx)(`label`,{htmlFor:c,className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Your answer`}),(0,Y.jsx)(xt,{id:c,rows:2,value:i,disabled:t,onChange:e=>s(e.target.value),className:`bg-card`})]}):null]})]})}var qi=2e3;function Ji(e){let t=0,n=0;for(let r of e)typeof r.seq==`number`&&(r.type===`session.ended`&&r.seq>t&&(t=r.seq),(r.type===`session.started`||r.type===`step-start`&&r.kind===`agent`)&&r.seq>n&&(n=r.seq));return t>n?t:0}function Yi(e){let t=0,n=0;for(let r of e)typeof r.seq==`number`&&(r.type===`turn-end`&&r.seq>t&&(t=r.seq),(r.type===`turn.started`||r.type===`session.started`||r.type===`user-message`||r.type===`step-start`&&r.kind===`agent`)&&r.seq>n&&(n=r.seq));return t>n?t:0}function Xi(e,t){let n=H(),r=(0,J.useMemo)(()=>Ji(t),[t]),i=(0,J.useMemo)(()=>Yi(t),[t]),a=e?.id,o=e?.status,s=e?.activity;(0,J.useEffect)(()=>{if(!(r!==0&&(o===`running`||o===`waiting`))&&!(i!==0&&o===`running`&&s!==`monitoring`)||a===void 0)return;let e=setTimeout(()=>{n.invalidateQueries({queryKey:R.runs.detail(a)}),n.invalidateQueries({queryKey:R.runs.list()})},qi);return()=>clearTimeout(e)},[r,i,a,o,s,n])}function Zi(){let{id:e}=de(),t=ae(e),n=tn(e),r=t.data?.status,i=(0,J.useMemo)(()=>Ii(n.visibleEvents,{activeTurn:r===`running`}),[n.visibleEvents,r]),a=(0,J.useMemo)(()=>Ii(n.currentEvents,{activeTurn:r===`running`}),[n.currentEvents,r]),o=(0,J.useRef)(void 0),s=(0,J.useCallback)(e=>{o.current=e},[]),{mutate:c}=x();if((0,J.useEffect)(()=>{t.data&&o.current!==t.data.id&&Ne(t.data)&&c(t.data.id)},[c,t.data?.id,t.data?.status,t.data?.finishedAt,t.data?.seenAt,t.data?.archived]),Xi(t.data,n.visibleEvents),t.isPending)return(0,Y.jsx)(Ct,{});if(t.isError){let e=t.error instanceof he&&t.error.status===404;return(0,Y.jsx)(`div`,{"data-route":`task-thread`,className:`flex min-h-full flex-col`,children:(0,Y.jsx)(_e,{icon:e?(0,Y.jsx)(gt,{}):(0,Y.jsx)(Kt,{}),tone:e?`neutral`:`danger`,title:e?`Task not found`:`Could not load this task`,subtitle:e?`No run has this id. It may have been deleted, or the link is from another machine.`:t.error.message,actions:(0,Y.jsx)(B,{asChild:!0,variant:`outline`,children:(0,Y.jsx)(W,{to:`/`,children:`Back to tasks`})})})})}return n.isPending?(0,Y.jsx)(Ct,{}):(0,Y.jsx)(Qi,{run:t.data,thread:i,currentThread:a,history:n,onMarkedUnread:s})}function Qi({run:e,thread:t,currentThread:n=t,history:i,onMarkedUnread:a}){mt();let s=ge(),c=i?Se(i.currentEvents)!==void 0:n.turns.some(e=>e.items.some(e=>e.kind===`ask`&&!e.resolved)),l=o(e,c),u=Ti(e.status,e.error),d=e.status===`running`||e.status===`waiting`,f=!d&&e.status!==`queued`,m=e.status===`queued`,h=Er(e),g=mi(e),v=si(e.id),b=c||e.hasPendingHumanAsk===!0,x=!d&&!m&&h.available,S=x&&h.canContinue,[C,w]=(0,J.useState)(void 0),[T,D]=(0,J.useState)(e.id);T!==e.id&&(D(e.id),w(void 0));let O=(0,J.useMemo)(()=>C===void 0?void 0:Br(n.turns,C,f),[n.turns,C,f]),k=(0,J.useMemo)(()=>C===void 0?[]:Vr(n.turns,C),[n.turns,C]),A=E(e.id),M=Pe(e),N=Ve(e),P=d&&!N.usable,F=x&&!h.canContinue,I=P||F,L=P?N.reason:h.reason,{mutateAsync:ee}=y(e.id),{mutateAsync:te}=fe(e.id),{mutateAsync:R}=ue(e.id),z=(0,J.useMemo)(()=>m?{onEditTask:async e=>{await ee({task:e})},onEditMessage:(e,t)=>te({msgId:e,message:{text:t}}).then(()=>void 0),onRemoveMessage:e=>R(e).then(()=>void 0)}:void 0,[m,ee,te,R]),ne=(0,J.useMemo)(()=>qr(e,t),[e,t]),B=(0,J.useMemo)(()=>Xr(ne,e.id),[ne,e.id]),re=(0,J.useMemo)(()=>Gn(e,s.data),[e,s.data]),ie=(0,J.useMemo)(()=>Wn(e,s.data),[e,s.data]),ae=(0,J.useCallback)(t=>(0,Y.jsx)(Ui,{ask:t,run:e}),[e]),oe=(0,J.useMemo)(()=>{if(z===void 0)return;let t={task:{onEdit:z.onEditTask,editLabel:`Edit the prompt`}};for(let n of e.queuedMessages??[])t[`queued:${n.id}`]={onEdit:e=>z.onEditMessage(n.id,e),onRemove:()=>z.onRemoveMessage(n.id)};return t},[z,e.queuedMessages]),se=_(e,p()),{search:ce}=r(),le=Cn(ce,B.length),V=Hr(`${e.id}:main`,{onLoadOlder:i?.hasOlder?i.loadOlder:void 0,onJumpToLatest:i?.jumpToLatest,rowKeys:B.map(({key:e})=>e)});return tt(V.restickIfStuck),(0,Y.jsxs)(`div`,{"data-route":`task-thread`,"data-run-id":e.id,className:`flex min-h-full flex-col`,children:[(0,Y.jsx)(Xe,{run:e,hasPendingHumanAsk:c,onMarkedUnread:()=>a?.(e.id)}),(0,Y.jsxs)(`div`,{"data-slot":`session-conversation`,className:`mx-auto flex w-full max-w-[var(--measure)] flex-1 flex-col gap-2.5 px-[18px] py-3 md:gap-3.5 md:px-16 md:py-5`,children:[i?(0,Y.jsx)($i,{hasOlder:i.hasOlder,loading:i.isFetchingOlder,error:i.olderError,fallback:i.fallback,retainedPages:i.retainedPages,onLoad:V.loadOlder}):null,(0,Y.jsx)(Zr,{runId:e.id,viewId:`main`,sections:ne,mode:`document`,renderAsk:ae,messageActions:oe,scrollControls:V,renderMode:le,taskTitles:re,recipientBackends:ie}),t.turns.length===0?e.status===`queued`?(0,Y.jsx)(ea,{run:e}):(0,Y.jsx)(`p`,{"data-slot":`thread-empty`,className:`py-6 text-center text-xs text-soft-foreground`,children:`No session events yet.`}):null,e.status===`running`&&e.activity!==`monitoring`?(0,Y.jsx)(pr,{}):null,u&&u.state===`closed`?(0,Y.jsxs)(`div`,{"data-slot":`thread-footer`,"data-state":u.state,className:U(`mt-auto flex items-center gap-2 border-t border-border pt-3 text-xs`,u.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[u.label,Te(j(e))?(0,Y.jsx)(`a`,{"data-slot":`pr-link`,href:j(e),target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`PR ↗`}):null,Te(se)?(0,Y.jsx)(`a`,{"data-slot":`issue-link`,href:se,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`Issue ↗`}):null]}):null,e.status===`review`?(0,Y.jsx)(ci,{run:e}):null]}),(0,Y.jsx)(pi,{status:e.status}),(0,Y.jsx)(ii,{runId:e.id,renderAsk:ae,agent:O,entries:k,taskTitles:re,recipientBackends:ie,onClose:()=>w(void 0)}),(0,Y.jsxs)(`div`,{"data-slot":`thread-dock`,className:`relative z-10 bg-background pt-1 pb-2 md:pt-1.5 md:pb-4`,children:[V.pillVisible?(0,Y.jsx)(`div`,{className:`pointer-events-none fixed right-6 bottom-[calc(24px+env(safe-area-inset-bottom))] z-30 flex justify-center`,children:(0,Y.jsx)(Kr,{onJump:V.jumpToLatest})}):null,(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[var(--measure)] flex-col gap-1.5 px-[14px] md:gap-2.5 md:px-16`,children:[(0,Y.jsx)(Bi,{run:e,currentThread:n,onOpenWorker:w},e.id),(0,Y.jsx)(nn,{run:e}),e.status===`waiting`?(0,Y.jsxs)(`div`,{"data-slot":`paused-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(Qe,{tone:l.tone,shape:l.shape,pulse:l.pulse}),l.bucket===`waiting`?`The agent is paused, waiting for your reply`:`${l.label.charAt(0).toUpperCase()}${l.label.slice(1)} — you can send a message to resume`]}):null,m?(0,Y.jsxs)(`div`,{"data-slot":`queued-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Y.jsx)(Qe,{tone:`neutral`,shape:`ring`}),`Messages you add now are folded into the prompt before the run starts.`]}):null,S&&h.startsNewConversation?(0,Y.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,role:`status`,children:`Starts a new agent conversation.`}):null,(0,Y.jsx)(Tt,{onStop:Be(e).cancel?g.stop:void 0,onFinish:Re(e,c)?()=>v.mutateAsync().catch(()=>void 0):void 0,finishing:v.isPending,secondaryAction:Be(e).archive?(0,Y.jsx)(Ze,{run:e,compactOnMobile:!0}):void 0,stopOnEmpty:e.status===`queued`||e.status===`running`||e.status===`waiting`&&l.bucket===`none`&&!b,stopping:g.stopping,retainDraftUntilSuccess:!0,compactFeedback:!0,pendingLabel:S?`Continuing…`:`Sending…`,failureHint:`Your draft is kept. Check the task status and connection, then retry.`,sessionControls:S?h.pills:void 0,onSubmit:S?(e,t)=>h.continueWith(e,t):m?(e,t)=>A.mutateAsync({text:e,images:t}):async(e,t)=>{let n=await M.send(e,t);if(n!==void 0)throw Error(n)},disabled:I||!d&&!m&&!S,disabledReason:I?L:`Session closed — no session to resume.`,footerEnd:I&&!h.providerPending?(0,Y.jsx)(W,{to:`/settings/agents#providers`,className:`text-xs font-medium text-foreground underline underline-offset-4`,children:`Configure providers`}):void 0,allowEmptySubmit:S&&!b,emptySubmitLabel:S&&!b?`Continue`:void 0,placeholder:m?`Add to the prompt — sent when the run starts…`:S?`Continue — add a prompt, or send to just reopen the session…`:e.status===`waiting`?`Reply — / for skills, @ for files…`:`Message the agent — / for skills, @ for files…`,autocompleteSkills:!0,quickReplies:!0,getMentionCandidates:()=>wi(t)})]})]}),(0,Y.jsx)(`div`,{"data-slot":`thread-tail-anchor`,"aria-hidden":`true`,className:`h-px shrink-0 md:hidden`})]})}function $i({hasOlder:e,loading:t,error:n,fallback:r,retainedPages:i,onLoad:a}){return r?(0,Y.jsx)(`p`,{"data-slot":`history-fallback`,className:`text-center text-xs text-soft-foreground`,role:`status`,children:`Progressive history is unavailable; showing the complete session.`}):!e&&!n?(0,Y.jsxs)(`div`,{"data-slot":`history-start`,className:`flex items-center gap-3 text-[11px] text-soft-foreground`,children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`Start of session`,(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):(0,Y.jsxs)(`div`,{"data-slot":`history-boundary`,"data-retained-pages":i,"aria-busy":t,className:`flex min-h-8 items-center justify-center text-xs text-muted-foreground`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:a,disabled:t,className:`rounded-md px-3 py-1.5 font-medium hover:bg-muted disabled:cursor-wait`,children:t?`Loading 100 earlier items…`:n?`Couldn’t load earlier items · Retry`:`Load 100 earlier items`}),(0,Y.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:t?`Loading earlier session history`:n||``})]})}function ea({run:e}){let t=Le(ge().data??[],e.id);return(0,Y.jsxs)(`div`,{"data-slot":`queued-state`,className:`flex flex-col items-center gap-1.5 py-10 text-center`,children:[(0,Y.jsx)(Qe,{tone:`neutral`,shape:`ring`}),(0,Y.jsxs)(`p`,{className:`text-[13px] font-medium`,children:[`Waiting for a free agent slot`,t===void 0?``:` — #${t} in queue`]}),(0,Y.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[e.workflow,` · starts automatically when a slot frees up`]})]})}export{Zi as TaskThreadRoute};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{_ as n,d as r,f as i,g as a,h as o,l as s,m as c,p as l,tn as u}from"./alert-dialog-C-xYE_dg.js";import{t as d}from"./utils-fzNfbPzA.js";e();var f=t();function p({...e}){return(0,f.jsx)(r,{"data-slot":`dialog`,...e})}function m({...e}){return(0,f.jsx)(a,{"data-slot":`dialog-portal`,...e})}function h({className:e,...t}){return(0,f.jsx)(o,{"data-slot":`dialog-overlay`,className:d(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function g({className:e,children:t,showCloseButton:n=!0,...r}){return(0,f.jsxs)(m,{"data-slot":`dialog-portal`,children:[(0,f.jsx)(h,{}),(0,f.jsxs)(l,{"data-slot":`dialog-content`,className:d(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-card p-6 shadow-modal duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg`,e),...r,children:[t,n&&(0,f.jsxs)(i,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,f.jsx)(u,{}),(0,f.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function _({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`dialog-header`,className:d(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function v({className:e,showCloseButton:t=!1,children:n,...r}){return(0,f.jsxs)(`div`,{"data-slot":`dialog-footer`,className:d(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,f.jsx)(i,{asChild:!0,children:(0,f.jsx)(s,{variant:`outline`,children:`Close`})})]})}function y({className:e,...t}){return(0,f.jsx)(n,{"data-slot":`dialog-title`,className:d(`text-lg leading-none font-semibold`,e),...t})}function b({className:e,...t}){return(0,f.jsx)(c,{"data-slot":`dialog-description`,className:d(`text-sm text-muted-foreground`,e),...t})}function x({className:e,...t}){return(0,f.jsx)(`textarea`,{"data-slot":`textarea`,className:d(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-[var(--task-brand-bg)] px-3 py-2 text-base shadow-none transition-[color,box-shadow] outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm`,e),...t})}export{v as a,b as i,p as n,_ as o,g as r,y as s,x as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-runtime-CCIEwYL0.js";import{t}from"./utils-fzNfbPzA.js";import{t as n}from"./format-dBiNDNVe.js";var r=e();function i(e){return e===void 0?`unknown`:new Intl.NumberFormat().format(e)}function a(e,t){return`Input tokens: ${i(e)}; output tokens: ${i(t)}`}function o(e,t,r=`compact`){let i=e===void 0?`—`:n(e),a=t===void 0?`—`:n(t);return r===`table`?`${i} / ${a}`:`IN ${i} · OUT ${a}`}function s({inputTokens:e,outputTokens:n,variant:i=`compact`,omitWhenUnknown:s=!0,className:c,title:l}){return s&&e===void 0&&n===void 0?null:(0,r.jsx)(`span`,{"data-slot":`directional-usage`,"aria-label":a(e,n),title:l,className:t(`font-mono tabular-nums`,c),children:o(e,n,i)})}function c(e){let t=e?.capabilities,n=t?.tokenMetrics!==!1;return{tokens:t?.tokenUsageMetrics??n,cost:t?.costMetrics??n}}export{o as i,s as n,a as r,c as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{A as r,C as i,D as a,E as o,F as s,M as c,O as l,R as u,S as d,b as f,j as p,w as m,x as h,y as g}from"./alert-dialog-C-xYE_dg.js";import{t as _}from"./utils-fzNfbPzA.js";import{t as v}from"./createLucideIcon-BHp8sXmF.js";import{_ as y,b,v as x,x as S,y as ee}from"./dropdown-menu-Ch5BYQh_.js";var te=v(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),C=e(t(),1),w=n(),T=`Popover`,[E,ne]=p(T,[S]),D=S(),[O,k]=E(T),A=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:s=!1}=e,c=D(t),u=C.useRef(null),[d,f]=C.useState(!1),[p,m]=l({prop:r,defaultProp:i??!1,onChange:a,caller:T});return(0,w.jsx)(b,{...c,children:(0,w.jsx)(O,{scope:t,contentId:o(),triggerRef:u,open:p,onOpenChange:m,onOpenToggle:C.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:C.useCallback(()=>f(!0),[]),onCustomAnchorRemove:C.useCallback(()=>f(!1),[]),modal:s,children:n})})};A.displayName=T;var j=`PopoverAnchor`,M=C.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=k(j,n),a=D(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return C.useEffect(()=>(o(),()=>s()),[o,s]),(0,w.jsx)(y,{...a,...r,ref:t})});M.displayName=j;var N=`PopoverTrigger`,P=C.forwardRef((e,t)=>{let{__scopePopover:n,...i}=e,a=k(N,n),o=D(n),s=u(t,a.triggerRef),l=(0,w.jsx)(c.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":q(a.open),...i,ref:s,onClick:r(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,w.jsx)(y,{asChild:!0,...o,children:l})});P.displayName=N;var F=`PopoverPortal`,[re,ie]=E(F,{forceMount:void 0}),I=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,o=k(F,t);return(0,w.jsx)(re,{scope:t,forceMount:n,children:(0,w.jsx)(a,{present:n||o.open,children:(0,w.jsx)(d,{asChild:!0,container:i,children:r})})})};I.displayName=F;var L=`PopoverContent`,R=C.forwardRef((e,t)=>{let n=ie(L,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,o=k(L,e.__scopePopover);return(0,w.jsx)(a,{present:r||o.open,children:o.modal?(0,w.jsx)(B,{...i,ref:t}):(0,w.jsx)(V,{...i,ref:t})})});R.displayName=L;var z=s(`PopoverContent.RemoveScroll`),B=C.forwardRef((e,t)=>{let n=k(L,e.__scopePopover),i=C.useRef(null),a=u(t,i),o=C.useRef(!1);return C.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,w.jsx)(f,{as:z,allowPinchZoom:!0,children:(0,w.jsx)(H,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:r(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:r(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;o.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:r(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),V=C.forwardRef((e,t)=>{let n=k(L,e.__scopePopover),r=C.useRef(!1),i=C.useRef(!1);return(0,w.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),H=C.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,...f}=e,p=k(L,n),g=D(n);return h(),(0,w.jsx)(i,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,w.jsx)(m,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,w.jsx)(ee,{"data-state":q(p.open),role:`dialog`,id:p.contentId,...g,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),U=`PopoverClose`,W=C.forwardRef((e,t)=>{let{__scopePopover:n,...i}=e,a=k(U,n);return(0,w.jsx)(c.button,{type:`button`,...i,ref:t,onClick:r(e.onClick,()=>a.onOpenChange(!1))})});W.displayName=U;var G=`PopoverArrow`,K=C.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=D(n);return(0,w.jsx)(x,{...i,...r,ref:t})});K.displayName=G;function q(e){return e?`open`:`closed`}var J=A,Y=M,ae=P,oe=I,se=R;function X(e){let t=e.visualViewport;return t?Math.max(0,Math.round(e.innerHeight-t.height-t.offsetTop)):0}function ce(e,t,n,r=250){let i=e.visualViewport;if(!i)return t(0),()=>{};let a,o=()=>{let i=X(e);t(i),n&&(clearTimeout(a),a=setTimeout(()=>n(i),r))};return t(X(e)),i.addEventListener(`resize`,o),i.addEventListener(`scroll`,o),()=>{clearTimeout(a),i.removeEventListener(`resize`,o),i.removeEventListener(`scroll`,o),t(0)}}function le(e){let t=e.visualViewport;return t?{top:Math.max(0,Math.round(t.offsetTop)),bottom:X(e)}:{top:0,bottom:0}}function ue(e,t=0){let n=typeof t==`number`?{top:t,right:t,bottom:t,left:t}:t;return{top:(n.top??0)+e.top,right:n.right??0,bottom:(n.bottom??0)+e.bottom,left:n.left??0}}function de(e,t){let n=e.visualViewport;if(!n)return t({top:0,bottom:0}),()=>{};let r=()=>t(le(e));return r(),n.addEventListener(`resize`,r),n.addEventListener(`scroll`,r),()=>{n.removeEventListener(`resize`,r),n.removeEventListener(`scroll`,r)}}function fe(){let[e,t]=(0,C.useState)({top:0,bottom:0});return(0,C.useEffect)(()=>de(window,e=>t(t=>t.top===e.top&&t.bottom===e.bottom?t:e)),[]),e}function pe(e){let t=(0,C.useRef)(e);t.current=e,(0,C.useEffect)(()=>{let e=document.documentElement;return ce(window,t=>e.style.setProperty(`--kb`,`${t}px`),e=>t.current?.(e))},[])}var me=new Set([``,`text`,`search`,`email`,`url`,`tel`,`password`,`number`]);function he(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.tagName?.toUpperCase();return n===`TEXTAREA`?!0:n===`INPUT`?me.has((t.type??``).toLowerCase()):t.isContentEditable===!0}var Z=new WeakMap;function ge(e){let t=Z.get(e),n=t&&t.width===e.innerWidth?Math.max(t.height,e.innerHeight):e.innerHeight;return Z.set(e,{width:e.innerWidth,height:n}),n-e.innerHeight}function _e(e){let t=ge(e),n=e.visualViewport?.scale??1;return Math.abs(n-1)<.05&&X(e)>80||t>80&&he(e.document?.activeElement)}function ve(){let[e,t]=(0,C.useState)(!1);return(0,C.useEffect)(()=>{let e=window,n=()=>t(_e(e));n();let r=e.visualViewport;return r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,n),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,n)}},[]),e}var Q=C.createContext(null);function ye({...e}){let t=C.useRef(!1);return(0,w.jsx)(Q,{value:t,children:(0,w.jsx)(J,{"data-slot":`popover`,...e})})}function be({onPointerDownCapture:e,onKeyDownCapture:t,...n}){let r=C.useContext(Q);return(0,w.jsx)(ae,{"data-slot":`popover-trigger`,...n,onPointerDownCapture:t=>{r&&(r.current=t.pointerType===`touch`),e?.(t)},onKeyDownCapture:e=>{r&&(r.current=!1),t?.(e)}})}function xe({className:e,align:t=`center`,sideOffset:n=4,collisionPadding:r,onOpenAutoFocus:i,...a}){let o=fe(),s=C.useContext(Q);return(0,w.jsx)(oe,{children:(0,w.jsx)(se,{"data-slot":`popover-content`,align:t,sideOffset:n,onOpenAutoFocus:e=>{let t=s?.current;if(s&&(s.current=!1),i?.(e),e.defaultPrevented||!t)return;let n=e.target;n instanceof HTMLElement&&n.querySelector(`[cmdk-input]`)&&(e.preventDefault(),n.focus({preventScroll:!0}))},collisionPadding:ue(o,r),className:_(`z-50 w-72 max-w-(--radix-popover-content-available-width) [overflow-wrap:anywhere] origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...a})})}function Se({...e}){return(0,w.jsx)(Y,{"data-slot":`popover-anchor`,...e})}function $(){let[e,t]=(0,C.useState)(()=>typeof window.matchMedia!=`function`||window.matchMedia(`(min-width: 768px)`).matches);return(0,C.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(min-width: 768px)`),n=e=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}export{be as a,te as c,xe as i,ye as n,pe as o,Se as r,ve as s,$ as t};
@@ -1 +0,0 @@
1
- function e(){return typeof globalThis.matchMedia==`function`&&globalThis.matchMedia(`(hover: none) and (pointer: coarse)`).matches}function t(t){return t.key!==`Enter`||t.shiftKey||t.altKey||t.repeat||t.isComposing?!1:t.metaKey||t.ctrlKey?!0:!e()}function n(e=typeof navigator>`u`?``:navigator.platform){return/mac|iphone|ipad|ipod/i.test(e)?`⌘↵`:`Ctrl+↵`}export{n,t};
@@ -1,11 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CCIEwYL0.js";import{Ar as i,Bi as a,Cr as o,Dr as s,G as c,H as l,It as u,Jt as d,Li as f,Pa as p,Qt as m,Rt as h,Ut as g,X as _,Xt as v,Y as y,Yt as b,a as x,c as ee,ct as S,fa as C,ha as te,i as ne,in as w,it as T,l as E,n as re,o as ie,ot as ae,r as D,ro as oe,s as se,so as O,st as ce,t as k,tn as le,to as A,yi as ue,z as j}from"./alert-dialog-C-xYE_dg.js";import{t as M}from"./utils-fzNfbPzA.js";import{i as N,p as de,r as P,t as fe}from"./dropdown-menu-Ch5BYQh_.js";import{i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./textarea-DxlkE-Yd.js";import{i as ye,l as be,s as xe}from"./skills-DFBiAuJG.js";import{w as Se,x as Ce}from"./index-CatemBEL.js";import{n as we}from"./skill-empty-hint-oOtzR3v0.js";var F=e(n()),I=e(t());function Te(){var e=[...arguments];return(0,I.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var L=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function R(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Ee(e){return`nodeType`in e}function z(e){return e?R(e)?e:Ee(e)?e.ownerDocument?.defaultView??window:window:window}function B(e){let{Document:t}=z(e);return e instanceof t}function V(e){return!R(e)&&e instanceof z(e).HTMLElement}function De(e){return e instanceof z(e).SVGElement}function Oe(e){return e?R(e)?e.document:Ee(e)?B(e)?e:V(e)||De(e)?e.ownerDocument:document:document:document}var H=L?I.useLayoutEffect:I.useEffect;function ke(e){let t=(0,I.useRef)(e);return H(()=>{t.current=e}),(0,I.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Ae(){let e=(0,I.useRef)(null);return[(0,I.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,I.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function U(e,t){t===void 0&&(t=[e]);let n=(0,I.useRef)(e);return H(()=>{n.current!==e&&(n.current=e)},t),n}function je(e,t){let n=(0,I.useRef)();return(0,I.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Me(e){let t=ke(e),n=(0,I.useRef)(null);return[n,(0,I.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ne(e){let t=(0,I.useRef)();return(0,I.useEffect)(()=>{t.current=e},[e]),t.current}var Pe={};function Fe(e,t){return(0,I.useMemo)(()=>{if(t)return t;let n=Pe[e]==null?0:Pe[e]+1;return Pe[e]=n,e+`-`+n},[e,t])}function Ie(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var W=Ie(1),Le=Ie(-1);function Re(e){return`clientX`in e&&`clientY`in e}function ze(e){if(!e)return!1;let{KeyboardEvent:t}=z(e.target);return t&&e instanceof t}function Be(e){if(!e)return!1;let{TouchEvent:t}=z(e.target);return t&&e instanceof t}function Ve(e){if(Be(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Re(e)?{x:e.clientX,y:e.clientY}:null}var G=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[G.Translate.toString(e),G.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),He=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Ue(e){return e.matches(He)?e:e.querySelector(He)}var K={display:`none`};function We(e){let{id:t,value:n}=e;return I.createElement(`div`,{id:t,style:K},n)}function Ge(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return I.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Ke(){let[e,t]=(0,I.useState)(``);return{announce:(0,I.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var qe=(0,I.createContext)(null);function Je(e){let t=(0,I.useContext)(qe);(0,I.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Ye(){let[e]=(0,I.useState)(()=>new Set),t=(0,I.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,I.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Xe={draggable:`
2
- To pick up a draggable item, press the space bar.
3
- While dragging, use the arrow keys to move the item.
4
- Press space again to drop the item in its new position, or press escape to cancel.
5
- `},Ze={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function Qe(e){let{announcements:t=Ze,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Xe}=e,{announce:a,announcement:o}=Ke(),s=Fe(`DndLiveRegion`),[c,l]=(0,I.useState)(!1);if((0,I.useEffect)(()=>{l(!0)},[]),Je((0,I.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=I.createElement(I.Fragment,null,I.createElement(We,{id:r,value:i.draggable}),I.createElement(Ge,{id:s,announcement:o}));return n?(0,F.createPortal)(u,n):u}var q;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(q||={});function $e(){}function et(e,t){return(0,I.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function tt(){var e=[...arguments];return(0,I.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var J=Object.freeze({x:0,y:0});function nt(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function rt(e,t){let n=Ve(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function it(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function at(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function ot(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function st(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function ct(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var lt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=ct(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=nt(ct(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(it)},ut=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=ot(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=ot(r),o=i.reduce((e,t,r)=>e+nt(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(it)};function dt(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var ft=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=dt(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(at)};function pt(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function mt(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:J}function ht(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var gt=ht(1);function _t(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function vt(e,t,n){let r=_t(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var yt={ignoreTransform:!1};function bt(e,t){t===void 0&&(t=yt);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=z(e).getComputedStyle(e);t&&(n=vt(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function xt(e){return bt(e,{ignoreTransform:!0})}function St(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Ct(e,t){return t===void 0&&(t=z(e).getComputedStyle(e)),t.position===`fixed`}function wt(e,t){t===void 0&&(t=z(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Tt(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(B(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!V(i)||De(i)||n.includes(i))return n;let a=z(e).getComputedStyle(i);return i!==e&&wt(i,a)&&n.push(i),Ct(i,a)?n:r(i.parentNode)}return e?r(e):n}function Et(e){let[t]=Tt(e,1);return t??null}function Dt(e){return!L||!e?null:R(e)?e:Ee(e)?B(e)||e===Oe(e).scrollingElement?window:V(e)?e:null:null}function Ot(e){return R(e)?e.scrollX:e.scrollLeft}function kt(e){return R(e)?e.scrollY:e.scrollTop}function At(e){return{x:Ot(e),y:kt(e)}}var Y;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Y||={});function jt(e){return!L||!e?!1:e===document.scrollingElement}function Mt(e){let t={x:0,y:0},n=jt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Nt={x:.2,y:.2};function Pt(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Nt);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=Mt(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Y.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Y.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Y.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Y.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Ft(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function It(e){return e.reduce((e,t)=>W(e,At(t)),J)}function Lt(e){return e.reduce((e,t)=>e+Ot(t),0)}function Rt(e){return e.reduce((e,t)=>e+kt(t),0)}function zt(e,t){if(t===void 0&&(t=bt),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Et(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Bt=[[`x`,[`left`,`right`],Lt],[`y`,[`top`,`bottom`],Rt]],Vt=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Tt(t),r=It(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Bt)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},Ht=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Ut(e){let{EventTarget:t}=z(e);return e instanceof t?e:Oe(e)}function Wt(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var X;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(X||={});function Gt(e){e.preventDefault()}function Kt(e){e.stopPropagation()}var Z;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(Z||={});var qt={start:[Z.Space,Z.Enter],cancel:[Z.Esc],end:[Z.Space,Z.Enter,Z.Tab]},Jt=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Z.Right:return{...n,x:n.x+25};case Z.Left:return{...n,x:n.x-25};case Z.Down:return{...n,y:n.y+25};case Z.Up:return{...n,y:n.y-25}}},Yt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new Ht(Oe(t)),this.windowListeners=new Ht(z(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(X.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&zt(n),t(J)}handleKeyDown(e){if(ze(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=qt,coordinateGetter:a=Jt,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:J;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Le(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=Mt(n),p=Ft(n),m={x:Math.min(i===Z.Right?p.right-p.width/2:p.right,Math.max(i===Z.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Z.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Z.Down?p.top:p.top+p.height/2,u.y))},h=i===Z.Right&&!s||i===Z.Left&&!c,g=i===Z.Down&&!l||i===Z.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Z.Right&&e<=d.x||i===Z.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===Z.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===Z.Down&&e<=d.y||i===Z.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===Z.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,W(Le(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Yt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=qt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Xt(e){return!!(e&&`distance`in e)}function Zt(e){return!!(e&&`delay`in e)}var Qt=class{constructor(e,t,n){n===void 0&&(n=Ut(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Oe(i),this.documentListeners=new Ht(this.document),this.listeners=new Ht(n),this.windowListeners=new Ht(z(i)),this.initialCoordinates=Ve(r)??J,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.DragStart,Gt),this.windowListeners.add(X.VisibilityChange,this.handleCancel),this.windowListeners.add(X.ContextMenu,Gt),this.documentListeners.add(X.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Zt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Xt(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(X.Click,Kt,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(X.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ve(e)??J,s=Le(n,o);if(!t&&a){if(Xt(a)){if(a.tolerance!=null&&Wt(s,a.tolerance))return this.handleCancel();if(Wt(s,a.distance))return this.handleStart()}if(Zt(a)&&Wt(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Z.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},$t={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},en=class extends Qt{constructor(e){let{event:t}=e,n=Oe(t.target);super(e,$t,n)}};en.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var tn={move:{name:`mousemove`},end:{name:`mouseup`}},nn;(function(e){e[e.RightClick=2]=`RightClick`})(nn||={});var rn=class extends Qt{constructor(e){super(e,tn,Oe(e.event.target))}};rn.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===nn.RightClick?!1:(r?.({event:n}),!0)}}];var an={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},on=class extends Qt{constructor(e){super(e,an)}static setup(){return window.addEventListener(an.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(an.move.name,e)};function e(){}}};on.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var sn;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(sn||={});var cn;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(cn||={});function ln(e){let{acceleration:t,activator:n=sn.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=cn.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=dn({delta:d,disabled:!a}),[m,h]=Ae(),g=(0,I.useRef)({x:0,y:0}),_=(0,I.useRef)({x:0,y:0}),v=(0,I.useMemo)(()=>{switch(n){case sn.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case sn.DraggableRect:return i}},[n,i,c]),y=(0,I.useRef)(null),b=(0,I.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,I.useMemo)(()=>s===cn.TreeOrder?[...l].reverse():l,[s,l]);(0,I.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=Pt(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var un={x:{[Y.Backward]:!1,[Y.Forward]:!1},y:{[Y.Backward]:!1,[Y.Forward]:!1}};function dn(e){let{delta:t,disabled:n}=e,r=Ne(t);return je(e=>{if(n||!r||!e)return un;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Y.Backward]:e.x[Y.Backward]||i.x===-1,[Y.Forward]:e.x[Y.Forward]||i.x===1},y:{[Y.Backward]:e.y[Y.Backward]||i.y===-1,[Y.Forward]:e.y[Y.Forward]||i.y===1}}},[n,t,r])}function fn(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return je(e=>t==null?null:r??e??null,[r,t])}function pn(e,t){return(0,I.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var mn;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(mn||={});var hn;(function(e){e.Optimized=`optimized`})(hn||={});var gn=new Map;function _n(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,I.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,I.useRef)(e),d=g(),f=U(d),p=(0,I.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,I.useRef)(null),h=je(t=>{if(d&&!n)return gn;if(!t||t===gn||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new Vt(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,I.useEffect)(()=>{u.current=e},[e]),(0,I.useEffect)(()=>{d||p()},[n,d]),(0,I.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,I.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case mn.Always:return!1;case mn.BeforeDragging:return n;default:return!n}}}function vn(e,t){return je(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function yn(e,t){return vn(e,t)}function bn(e){let{callback:t,disabled:n}=e,r=ke(t),i=(0,I.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,I.useEffect)(()=>()=>i?.disconnect(),[i]),i}function xn(e){let{callback:t,disabled:n}=e,r=ke(t),i=(0,I.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,I.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Sn(e){return new Vt(bt(e),e)}function Cn(e,t,n){t===void 0&&(t=Sn);let[r,i]=(0,I.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=bn({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=xn({callback:a});return H(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function wn(e){return mt(e,vn(e))}var Tn=[];function En(e){let t=(0,I.useRef)(e),n=je(n=>e?n&&n!==Tn&&e&&t.current&&e.parentNode===t.current.parentNode?n:Tt(e):Tn,[e]);return(0,I.useEffect)(()=>{t.current=e},[e]),n}function Dn(e){let[t,n]=(0,I.useState)(null),r=(0,I.useRef)(e),i=(0,I.useCallback)(e=>{let t=Dt(e.target);t&&n(e=>e?(e.set(t,At(t)),new Map(e)):null)},[]);return(0,I.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Dt(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,At(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Dt(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,I.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>W(e,t),J):It(e):J,[e,t])}function On(e,t){t===void 0&&(t=[]);let n=(0,I.useRef)(null);return(0,I.useEffect)(()=>{n.current=null},t),(0,I.useEffect)(()=>{let t=e!==J;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Le(e,n.current):J}function kn(e){(0,I.useEffect)(()=>{if(!L)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function An(e,t){return(0,I.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function jn(e){return(0,I.useMemo)(()=>e?St(e):null,[e])}var Mn=[];function Nn(e,t){t===void 0&&(t=bt);let[n]=e,r=jn(n?z(n):null),[i,a]=(0,I.useState)(Mn);function o(){a(()=>e.length?e.map(e=>jt(e)?r:new Vt(t(e),e)):Mn)}let s=xn({callback:o});return H(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Pn(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return V(t)?t:e}function Fn(e){let{measure:t}=e,[n,r]=(0,I.useState)(null),i=xn({callback:(0,I.useCallback)(e=>{for(let{target:n}of e)if(V(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Me((0,I.useCallback)(e=>{let n=Pn(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,I.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var In=[{sensor:en,options:{}},{sensor:Yt,options:{}}],Ln={current:{}},Rn={draggable:{measure:xt},droppable:{measure:xt,strategy:mn.WhileDragging,frequency:hn.Optimized},dragOverlay:{measure:bt}},zn=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},Bn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new zn,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:$e},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Rn,measureDroppableContainers:$e,windowRect:null,measuringScheduled:!1},Vn={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:$e,draggableNodes:new Map,over:null,measureDroppableContainers:$e},Hn=(0,I.createContext)(Vn),Un=(0,I.createContext)(Bn);function Wn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new zn}}}function Gn(e,t){switch(t.type){case q.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case q.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case q.DragEnd:case q.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case q.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new zn(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case q.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new zn(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case q.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new zn(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Kn(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,I.useContext)(Hn),a=Ne(r),o=Ne(n?.id);return(0,I.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!ze(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=Ue(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function qn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Jn(e){return(0,I.useMemo)(()=>({draggable:{...Rn.draggable,...e?.draggable},droppable:{...Rn.droppable,...e?.droppable},dragOverlay:{...Rn.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Yn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,I.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;H(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=mt(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Et(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Xn=(0,I.createContext)({...J,scaleX:1,scaleY:1}),Zn;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Zn||={});var Qn=(0,I.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=In,collisionDetection:o=ft,measuring:s,modifiers:c,...l}=e,[u,d]=(0,I.useReducer)(Gn,void 0,Wn),[f,p]=Ye(),[m,h]=(0,I.useState)(Zn.Uninitialized),g=m===Zn.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),ee=(0,I.useRef)({initial:null,translated:null}),S=(0,I.useMemo)(()=>_==null?null:{id:_,data:x?.data??Ln,rect:ee},[_,x]),C=(0,I.useRef)(null),[te,ne]=(0,I.useState)(null),[w,T]=(0,I.useState)(null),E=U(l,Object.values(l)),re=Fe(`DndDescribedBy`,t),ie=(0,I.useMemo)(()=>b.getEnabled(),[b]),ae=Jn(s),{droppableRects:D,measureDroppableContainers:oe,measuringScheduled:se}=_n(ie,{dragging:g,dependencies:[y.x,y.y],config:ae.droppable}),O=fn(v,_),ce=(0,I.useMemo)(()=>w?Ve(w):null,[w]),k=Ae(),le=yn(O,ae.draggable.measure);Yn({activeNode:_==null?null:v.get(_),config:k.layoutShiftCompensation,initialRect:le,measure:ae.draggable.measure});let A=Cn(O,ae.draggable.measure,le),ue=Cn(O?O.parentElement:null),j=(0,I.useRef)({activatorEvent:null,active:null,activeNode:O,collisionRect:null,collisions:null,droppableRects:D,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),M=b.getNodeFor(j.current.over?.id),N=Fn({measure:ae.dragOverlay.measure}),de=N.nodeRef.current??O,P=g?N.rect??A:null,fe=!!(N.nodeRef.current&&N.rect),pe=wn(fe?null:A),me=jn(de?z(de):null),he=En(g?M??O:null),ge=Nn(he),_e=qn(c,{transform:{x:y.x-pe.x,y:y.y-pe.y,scaleX:1,scaleY:1},activatorEvent:w,active:S,activeNodeRect:A,containerNodeRect:ue,draggingNodeRect:P,over:j.current.over,overlayNodeRect:N.rect,scrollableAncestors:he,scrollableAncestorRects:ge,windowRect:me}),ve=ce?W(ce,y):null,ye=Dn(he),be=On(ye),xe=On(ye,[A]),Se=W(_e,be),Ce=P?gt(P,_e):null,we=S&&Ce?o({active:S,collisionRect:Ce,droppableRects:D,droppableContainers:ie,pointerCoordinates:ve}):null,Te=st(we,`id`),[L,R]=(0,I.useState)(null),Ee=pt(fe?_e:W(_e,xe),L?.rect??null,A),B=(0,I.useRef)(null),V=(0,I.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(C.current==null)return;let i=v.get(C.current);if(!i)return;let a=e.nativeEvent,o=new n({active:C.current,activeNode:i,event:a,options:r,context:j,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=E.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=E.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=C.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=E.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:ee}};(0,F.unstable_batchedUpdates)(()=>{r?.(i),h(Zn.Initializing),d({type:q.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),ne(B.current),T(a)})},onMove(e){d({type:q.DragMove,coordinates:e})},onEnd:s(q.DragEnd),onCancel:s(q.DragCancel)});B.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=j.current,o=null;if(t&&i){let{cancelDrop:s}=E.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===q.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=q.DragCancel)}C.current=null,(0,F.unstable_batchedUpdates)(()=>{d({type:e}),h(Zn.Uninitialized),R(null),ne(null),T(null),B.current=null;let t=e===q.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=E.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),De=pn(a,(0,I.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(C.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},C.current=r,V(n,t))},[v,V]));kn(a),H(()=>{A&&m===Zn.Initializing&&h(Zn.Initialized)},[A,m]),(0,I.useEffect)(()=>{let{onDragMove:e}=E.current,{active:t,activatorEvent:n,collisions:r,over:i}=j.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:Se.x,y:Se.y},over:i};(0,F.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[Se.x,Se.y]),(0,I.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=j.current;if(!e||C.current==null||!t||!i)return;let{onDragOver:a}=E.current,o=r.get(Te),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,F.unstable_batchedUpdates)(()=>{R(s),a?.(c),f({type:`onDragOver`,event:c})})},[Te]),H(()=>{j.current={activatorEvent:w,active:S,activeNode:O,collisionRect:Ce,collisions:we,droppableRects:D,draggableNodes:v,draggingNode:de,draggingNodeRect:P,droppableContainers:b,over:L,scrollableAncestors:he,scrollAdjustedTranslate:Se},ee.current={initial:P,translated:Ce}},[S,O,we,Ce,v,de,P,D,b,L,he,Se]),ln({...k,delta:y,draggingRect:Ce,pointerCoordinates:ve,scrollableAncestors:he,scrollableAncestorRects:ge});let Oe=(0,I.useMemo)(()=>({active:S,activeNode:O,activeNodeRect:A,activatorEvent:w,collisions:we,containerNodeRect:ue,dragOverlay:N,draggableNodes:v,droppableContainers:b,droppableRects:D,over:L,measureDroppableContainers:oe,scrollableAncestors:he,scrollableAncestorRects:ge,measuringConfiguration:ae,measuringScheduled:se,windowRect:me}),[S,O,A,w,we,ue,N,v,b,D,L,oe,he,ge,ae,se,me]),ke=(0,I.useMemo)(()=>({activatorEvent:w,activators:De,active:S,activeNodeRect:A,ariaDescribedById:{draggable:re},dispatch:d,draggableNodes:v,over:L,measureDroppableContainers:oe}),[w,De,S,A,d,re,v,L,oe]);return I.createElement(qe.Provider,{value:p},I.createElement(Hn.Provider,{value:ke},I.createElement(Un.Provider,{value:Oe},I.createElement(Xn.Provider,{value:Ee},i)),I.createElement(Kn,{disabled:n?.restoreFocus===!1})),I.createElement(Qe,{...n,hiddenTextDescribedById:re}));function Ae(){let e=te?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),$n=(0,I.createContext)(null),er=`button`,tr=`Draggable`;function nr(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Fe(tr),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,I.useContext)(Hn),{role:p=er,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,I.useContext)(g?Xn:$n),[v,y]=Me(),[b,x]=Me(),ee=An(o,t),S=U(n);return H(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:S}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,I.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===er?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:ee,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function rr(){return(0,I.useContext)(Un)}var ir=`Droppable`,ar={timeout:25};function or(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Fe(ir),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,I.useContext)(Hn),u=(0,I.useRef)({disabled:n}),d=(0,I.useRef)(!1),f=(0,I.useRef)(null),p=(0,I.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...ar,...i},_=U(h??r),v=xn({callback:(0,I.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Me((0,I.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=U(t);return(0,I.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,I.useEffect)(()=>(s({type:q.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:q.UnregisterDroppable,key:a,id:r})),[r]),(0,I.useEffect)(()=>{n!==u.current.disabled&&(s({type:q.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function sr(e){let{animation:t,children:n}=e,[r,i]=(0,I.useState)(null),[a,o]=(0,I.useState)(null),s=Ne(n);return!n&&!r&&s&&i(s),H(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),I.createElement(I.Fragment,null,n,r?(0,I.cloneElement)(r,{ref:o}):null)}var cr={x:0,y:0,scaleX:1,scaleY:1};function lr(e){let{children:t}=e;return I.createElement(Hn.Provider,{value:Vn},I.createElement(Xn.Provider,{value:cr},t))}var ur={position:`fixed`,touchAction:`none`},dr=e=>ze(e)?`transform 250ms ease`:void 0,fr=(0,I.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=dr}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...ur,width:s.width,height:s.height,top:s.top,left:s.left,transform:G.Transform.toString(d),transformOrigin:i&&r?rt(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return I.createElement(n,{className:o,style:f,ref:t},a)}),pr={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:G.Transform.toString(t)},{transform:G.Transform.toString(n)}]},sideEffects:(e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}})({styles:{active:{opacity:`0`}}})};function mr(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return ke((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=Pn(a);if(!c)return;let{transform:l}=z(a).getComputedStyle(a),u=_t(l);if(!u)return;let d=typeof t==`function`?t:hr(t);return zt(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function hr(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...pr,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var gr=0;function _r(e){return(0,I.useMemo)(()=>{if(e!=null)return gr++,gr},[e])}var vr=I.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=rr(),ee=(0,I.useContext)(Xn),S=_r(d?.id),C=qn(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:ee,windowRect:x}),te=vn(f),ne=mr({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),w=te?g.setRef:void 0;return I.createElement(lr,null,I.createElement(sr,{animation:ne},d&&S?I.createElement(fr,{key:S,id:d.id,ref:w,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:te,style:{zIndex:l,...i},transform:C},n):null))});function yr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function br(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function xr(e){return e!==null&&e>=0}function Sr(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Cr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var wr=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=yr(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Tr={scaleX:1,scaleY:1},Er=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Tr}:null}let s=Dr(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Tr}:r<t&&r>=a?{x:0,y:o.height+s,...Tr}:{x:0,y:0,...Tr}};function Dr(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Or=`Sortable`,kr=I.createContext({activeIndex:-1,containerId:Or,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:wr,disabled:{draggable:!1,droppable:!1}});function Ar(e){let{children:t,id:n,items:r,strategy:i=wr,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=rr(),d=Fe(Or,n),f=s.rect!==null,p=(0,I.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,I.useRef)(p),v=!Sr(p,_.current),y=g!==-1&&h===-1||v,b=Cr(a);H(()=>{v&&m&&u(p)},[v,p,m,u]),(0,I.useEffect)(()=>{_.current=p},[p]);let x=(0,I.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:br(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return I.createElement(kr.Provider,{value:x},t)}var jr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return yr(n,r,i).indexOf(t)},Mr=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Nr={duration:200,easing:`ease`},Pr=`transform`,Fr=G.Transition.toString({property:Pr,duration:0,easing:`linear`}),Ir={roleDescription:`sortable`};function Lr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,I.useState)(null),s=(0,I.useRef)(n);return H(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=bt(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,I.useEffect)(()=>{a&&o(null)},[a]),a}function Rr(e){let{animateLayoutChanges:t=Mr,attributes:n,disabled:r,data:i,getNewIndex:a=jr,id:o,strategy:s,resizeObserverConfig:c,transition:l=Nr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,I.useContext)(kr),y=zr(r,p),b=u.indexOf(o),x=(0,I.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),ee=(0,I.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:S,node:C,isOver:te,setNodeRef:ne}=or({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:ee,...c}}),{active:w,activatorEvent:T,activeNodeRect:E,attributes:re,setNodeRef:ie,listeners:ae,isDragging:D,over:oe,setActivatorNodeRef:se,transform:O}=nr({id:o,data:x,attributes:{...Ir,...n},disabled:y.draggable}),ce=Te(ne,ie),k=!!w,le=k&&!m&&xr(f)&&xr(g),A=!_&&D,ue=le?(A&&le?O:null)??(s??v)({rects:h,activeNodeRect:E,activeIndex:f,overIndex:g,index:b}):null,j=xr(f)&&xr(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,M=w?.id,N=(0,I.useRef)({activeId:M,items:u,newIndex:j,containerId:d}),de=u!==N.current.items,P=t({active:w,containerId:d,isDragging:D,isSorting:k,id:o,index:b,items:u,newIndex:N.current.newIndex,previousItems:N.current.items,previousContainerId:N.current.containerId,transition:l,wasDragging:N.current.activeId!=null}),fe=Lr({disabled:!P,index:b,node:C,rect:S});return(0,I.useEffect)(()=>{k&&N.current.newIndex!==j&&(N.current.newIndex=j),d!==N.current.containerId&&(N.current.containerId=d),u!==N.current.items&&(N.current.items=u)},[k,j,d,u]),(0,I.useEffect)(()=>{if(M===N.current.activeId)return;if(M!=null&&N.current.activeId==null){N.current.activeId=M;return}let e=setTimeout(()=>{N.current.activeId=M},50);return()=>clearTimeout(e)},[M]),{active:w,activeIndex:f,attributes:re,data:x,rect:S,index:b,newIndex:j,items:u,isOver:te,isSorting:k,isDragging:D,listeners:ae,node:C,overIndex:g,over:oe,setNodeRef:ce,setActivatorNodeRef:se,setDroppableNodeRef:ne,setDraggableNodeRef:ie,transform:fe??ue,transition:pe()};function pe(){if(fe||de&&N.current.newIndex===b)return Fr;if(!(A&&!ze(T)||!l)&&(k||P))return G.Transition.toString({...l,property:Pr})}}function zr(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function Br(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var Vr=[Z.Down,Z.Right,Z.Up,Z.Left],Hr=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(Vr.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case Z.Down:r.top<a.top&&t.push(n);break;case Z.Up:r.top>a.top&&t.push(n);break;case Z.Left:r.left>a.left&&t.push(n);break;case Z.Right:r.left<a.left&&t.push(n);break}});let c=ut({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=st(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Tt(c).some((e,t)=>s[t]!==e),i=Ur(e,t),a=Wr(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Le(u,l)}}}};function Ur(e,t){return!Br(e)||!Br(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function Wr(e,t){return!Br(e)||!Br(t)||!Ur(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}function Gr(e){let t=[];for(let n of e){if(n.command||!n.skill||n.prompt!==void 0&&n.prompt!==`{{task}}`||n.name!==void 0&&n.name!==n.skill||n.timeoutMs!==void 0||n.model||n.effort!==void 0||n.runner||n.agentProfile||n.allowedTools||n.bashAllowlist||n.onFail)return null;t.push(n.skill)}return t.length?t:null}function Kr(e,t){let n=new Set(t.map(e=>e.id)),r=e;for(let t=2;n.has(r);t++)r=`${e}-${t}`;return{id:r,name:e,skill:e,prompt:`{{task}}`}}function qr(e,t,n){let r=[...e];return r.splice(Math.max(0,Math.min(n,r.length)),0,t),r}function Jr(e,t,n){if(t===n||t<0||t>=e.length||n<0||n>=e.length)return[...e];let r=[...e],[i]=r.splice(t,1);return i===void 0?[...e]:(r.splice(n,0,i),r)}function Yr(e,t){return e.filter((e,n)=>n!==t)}function Q(e){let t=String(e),n=/^[A-Za-z0-9._][A-Za-z0-9 ._/-]*$/.test(t)&&!t.endsWith(` `),r=/^(true|false|yes|no|on|off|null|~)$/i.test(t)||/^[-+.]?\d/.test(t);return n&&!r?t:JSON.stringify(t)}function Xr(e,t,n){let r=` `.repeat(n);return t.includes(`
6
- `)?[`${r}${e}: |`,...t.split(`
7
- `).map(e=>`${r} ${e}`)]:[`${r}${e}: ${Q(t)}`]}function Zr(e,t,n){let r=[`name: ${Q(e.trim()||`my-workflow`)}`];t.trim()&&r.push(...Xr(`description`,t.trim(),0));let i=Gr(n);if(i){r.push(`skills:`);for(let e of i)r.push(` - ${Q(e)}`)}else if(n.length){r.push(`steps:`);for(let e of n)r.push(` - id: ${Q(e.id)}`),e.name&&e.name!==e.id&&r.push(` name: ${Q(e.name)}`),e.skill&&r.push(` skill: ${Q(e.skill)}`),e.prompt&&r.push(...Xr(`prompt`,e.prompt,4)),e.model&&r.push(` model: ${Q(e.model)}`),e.timeoutMs!==void 0&&r.push(` timeoutMs: ${e.timeoutMs}`),e.effort!==void 0&&r.push(` effort: ${Q(e.effort)}`),e.runner&&r.push(` runner: ${Q(e.runner)}`),e.agentProfile&&r.push(` agentProfile: ${Q(e.agentProfile)}`),e.allowedTools&&r.push(` allowedTools: [${e.allowedTools.map(Q).join(`, `)}]`),e.bashAllowlist&&r.push(` bashAllowlist: [${e.bashAllowlist.map(Q).join(`, `)}]`),e.command&&r.push(...Xr(`command`,e.command,4)),e.onFail&&r.push(` onFail:`,` retry: ${Q(e.onFail.retry)}`,` max: ${e.onFail.max??2}`)}else r.push(`skills: []`);return`${r.join(`
8
- `)}\n`}function Qr(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`workflow`}function $r(e){let t=Gr(e)?`skill`:`step`;return`${e.length} ${t}${e.length===1?``:`s`}`}function ei(e,t){let n=new Set,r=[];for(let t of e.steps.slice(0,8)){let e=t.id||`step`,i=e;for(let t=2;n.has(i);t++)i=`${e}-${t}`;n.add(i),r.push({...t,id:i})}return{name:e.name?.trim()||t,steps:r}}function ti(e,t,n){let r=Gr(n);return{name:e.trim(),...t.trim()?{description:t.trim()}:{},...r?{skills:r}:{steps:[...n]}}}var $=r(),ni=`wb-canvas`;function ri(){return{name:`my-workflow`,description:``,steps:[]}}function ii(e){return{name:e.name,description:e.description??``,steps:structuredClone(e.steps??[])}}function ai(){let{name:e}=A();return(0,$.jsx)(oi,{routeName:e},e??``)}function oi({routeName:e}){let t=i(),n=o(),r=s(),c=O(),[l,T]=(0,I.useState)(null),[ce,A]=(0,I.useState)(``),[M,N]=(0,I.useState)(!1),[de,P]=(0,I.useState)(``),[fe,ye]=(0,I.useState)(null),[we,F]=(0,I.useState)(!1),[Te,L]=(0,I.useState)(``),[R,Ee]=(0,I.useState)(``),[z,B]=(0,I.useState)(!1),[V,De]=(0,I.useState)(``),[Oe,H]=(0,I.useState)(!1),[ke,Ae]=(0,I.useState)(!1),[U,je]=(0,I.useState)(null),[Me,Ne]=(0,I.useState)(null),Pe=(0,I.useRef)(null),Fe=(0,I.useRef)(null),Ie=t.data?.workflows??[],W=n.data??[],Le=xe(W,r.data?.skillUsage),Re=be(Le,de,r.data?.skillUsage);(0,I.useEffect)(()=>{if(l!==null||t.data===void 0)return;let n=t.data.workflows,r=(e?n.find(t=>t.name===e):void 0)??n.find(e=>e.source===`file`);T(r?ii(r):ri())},[l,t.data,e]);let ze=e=>T(t=>t===null?t:{...t,steps:e}),Be=oe({mutationFn:e=>C(e),onSuccess:e=>{T({name:e.name,description:e.description??``,steps:e.steps}),F(!1),L(``),Ee(``),p(`Imported "${e.name}" — review, then Save.`)},onError:e=>Ee(e.message)}),Ve=oe({mutationFn:e=>te(e),onSuccess:e=>{T(t=>{let n=t??ri(),{name:r,steps:i}=ei(e,n.name);return{...n,name:r,steps:i}}),B(!1),De(``),p(e.fallback?`Planner unavailable — added a single step. Edit, then Save.`:`Built "${e.name??l?.name??`workflow`}" — review, tweak, then Save.`,e.fallback?{tone:`danger`}:void 0)},onError:e=>p(e instanceof Error?e.message:String(e),{tone:`danger`})}),G=oe({mutationFn:e=>f({...ti(l?.name??``,l?.description??``,l?.steps??[]),...e?{overwrite:!0}:{}}),onSuccess:e=>{H(!1),p(`Saved — ${e.path.split(`/`).pop()??e.path}`),c.invalidateQueries({queryKey:w.workflows})},onError:e=>{e instanceof ue&&e.exists===!0?H(!0):p(e instanceof Error?e.message:String(e),{tone:`danger`})}}),He=oe({mutationFn:e=>a(e),onSuccess:(e,t)=>{Ae(!1),p(`Deleted "${t}".`),T(ri()),c.invalidateQueries({queryKey:w.workflows})},onError:e=>{Ae(!1),p(e instanceof Error?e.message:String(e),{tone:`danger`})}}),Ue=tt(et(en,{activationConstraint:{distance:4}}),et(Yt,{coordinateGetter:Hr}));if(t.isError)return(0,$.jsx)(`div`,{"data-route":`workflows`,className:`@container mx-auto min-h-full w-full px-[18px] py-6 md:p-9`,children:(0,$.jsx)(j,{icon:(0,$.jsx)(b,{}),tone:`danger`,title:`Could not load workflows`,subtitle:t.error.message})});if(l===null)return(0,$.jsx)(Ce,{});let K=l.steps,We=l.name.trim(),Ge=Ie.find(e=>e.name===We&&e.source===`file`),Ke=Zr(l.name,l.description,K),qe=(e,t=K.length)=>{if(K.length>=8){p(`A workflow holds at most 8 steps.`,{tone:`danger`});return}ze(qr(K,Kr(e,K),t))},Je=e=>{let t=e.active.data.current;je(t??null)},Ye=e=>{Ne(e.over?String(e.over.id):null)},Xe=e=>{je(null),Ne(null);let{active:t,over:n}=e;if(n===null)return;let r=t.data.current;if(r?.type===`palette`){let e=n.id===ni?K.length:K.findIndex(e=>e.id===n.id);qe(r.skill,e===-1?K.length:e);return}if(n.id===t.id)return;let i=K.findIndex(e=>e.id===t.id),a=K.findIndex(e=>e.id===n.id);i!==-1&&a!==-1&&ze(Jr(K,i,a))},Ze=()=>{let e=Te.trim();e!==``&&Be.mutate(e)},Qe=()=>{let e=V.trim();e===``||Ve.isPending||Ve.mutate(e)};return(0,$.jsxs)(`div`,{"data-route":`workflows`,className:`@container mx-auto min-h-full w-full px-[18px] py-6 md:p-9`,children:[(0,$.jsxs)(`header`,{className:`mb-[22px] flex flex-wrap items-center justify-between gap-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`text-[25px] font-semibold md:text-[30px]`,children:`Workflows`}),(0,$.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground md:text-[13px]`,children:`Portable skill chains. Steps run from top to bottom.`})]}),(0,$.jsxs)(E,{variant:`primary`,"data-slot":`wb-new`,className:`min-h-11`,onClick:()=>T(ri()),children:[(0,$.jsx)(u,{"aria-hidden":`true`,className:`size-4`}),`New workflow`]})]}),(0,$.jsxs)(Qn,{sensors:Ue,collisionDetection:lt,onDragStart:Je,onDragOver:Ye,onDragEnd:Xe,onDragCancel:()=>{je(null),Ne(null)},children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-[22px] pb-[calc(32px+env(safe-area-inset-bottom))]`,children:[(0,$.jsxs)(`section`,{"data-slot":`wb-metadata`,className:`flex min-w-0 flex-col gap-3`,children:[(0,$.jsxs)(`div`,{"data-slot":`wb-load`,className:`flex flex-col items-start gap-2`,children:[(0,$.jsx)(`label`,{htmlFor:`workflow-load`,className:`text-xs text-muted-foreground`,children:`Load an existing workflow`}),(0,$.jsxs)(`div`,{className:`relative max-w-full`,children:[(0,$.jsx)(_,{"aria-hidden":`true`,className:`pointer-events-none absolute left-3 top-3.5 size-4 text-muted-foreground`}),(0,$.jsxs)(`select`,{id:`workflow-load`,value:Ie.some(e=>e.name===We)?We:``,onChange:e=>{let t=Ie.find(t=>t.name===e.target.value);t&&T(ii(t))},className:`h-11 max-w-full rounded-lg border border-border bg-card pl-9 pr-3 text-xs font-medium appearance-none focus-visible:outline-2 focus-visible:outline-ring`,children:[(0,$.jsx)(`option`,{value:``,disabled:!0,children:`Choose a workflow`}),Ie.map(e=>(0,$.jsx)(`option`,{value:e.name,"data-slot":`wb-load-option`,"data-name":e.name,children:e.name},e.name))]})]})]}),(0,$.jsx)(`label`,{htmlFor:`workflow-name`,className:`text-xs font-semibold`,children:`Workflow name`}),(0,$.jsx)(Se,{id:`workflow-name`,ref:Pe,"data-slot":`wb-name`,"aria-label":`Workflow name`,spellCheck:!1,value:l.name,onChange:e=>T({...l,name:e.target.value}),className:`h-12 bg-card text-sm`}),(0,$.jsx)(`label`,{htmlFor:`workflow-description`,className:`text-xs font-semibold`,children:`Description`}),(0,$.jsx)(ve,{id:`workflow-description`,"data-slot":`wb-description`,"aria-label":`Description`,value:l.description,onChange:e=>T({...l,description:e.target.value}),className:`min-h-[72px] bg-card p-3.5 text-sm`})]}),(0,$.jsxs)(`div`,{"data-slot":`wb-actions`,className:`grid grid-cols-[max-content_max-content] items-center justify-start gap-2 sm:flex sm:flex-wrap [&_button]:min-h-11 [&_button]:border [&_button]:border-border [&_button]:bg-card`,children:[(0,$.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-import`,className:`col-span-2 justify-self-start`,onClick:()=>{Ee(``),B(!1),F(e=>!e)},children:[(0,$.jsx)(v,{"aria-hidden":`true`,className:`size-3`}),`Import`]}),(0,$.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-export`,className:`col-span-2 justify-self-start`,title:`Download workflow.yaml`,onClick:()=>{let e=new Blob([Ke],{type:`text/yaml`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`${Qr(l.name)}.yaml`,document.body.appendChild(n),n.click(),n.remove(),setTimeout(()=>URL.revokeObjectURL(t),1e3)},children:[(0,$.jsx)(ae,{"aria-hidden":`true`,className:`size-3`}),`Export`]}),(0,$.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-auto`,"aria-expanded":z,title:`Describe a chain — the agent builds it`,onClick:()=>{F(!1),B(e=>!e)},children:[(0,$.jsx)(m,{"aria-hidden":`true`,className:`size-3`}),`Auto`]}),Ge?(0,$.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-delete`,className:`text-danger hover:text-danger`,title:`Delete the saved workflow file`,onClick:()=>Ae(!0),children:[(0,$.jsx)(d,{"aria-hidden":`true`,className:`size-3`}),`Delete`]}):null]}),z?(0,$.jsxs)(`div`,{"data-slot":`wb-auto-panel`,className:`rounded-xl border border-border bg-card p-5 [&_button]:min-h-11`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-normal`,children:`Build a chain from a prompt`}),(0,$.jsx)(`p`,{className:`mt-4 text-[13px] leading-relaxed text-muted-foreground`,children:`Describe the outcome. An agent proposes a title and ordered skill/check steps. Review the result, edit it, then Save.`}),(0,$.jsx)(ve,{"data-slot":`wb-auto-text`,"aria-label":`Describe the chain to build`,rows:3,autoFocus:!0,placeholder:`e.g. Fix the bug, run the tests, then review the diff for regressions.`,value:V,onChange:e=>De(e.target.value),onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),Qe())},className:`mt-4 min-h-[108px] bg-background p-4 text-sm`}),(0,$.jsxs)(`div`,{className:`mt-3 flex items-center gap-1.5`,children:[(0,$.jsxs)(E,{type:`button`,variant:`primary`,size:`sm`,"data-slot":`wb-auto-run`,disabled:Ve.isPending||V.trim()===``,onClick:Qe,children:[(0,$.jsx)(m,{"aria-hidden":`true`,className:`size-3`}),Ve.isPending?`Building…`:`Build chain`]}),(0,$.jsxs)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-auto-cancel`,onClick:()=>{B(!1),De(``)},children:[(0,$.jsx)(le,{"aria-hidden":`true`,className:`size-4`}),`Cancel`]})]}),(0,$.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`Creates an editable draft. Review the generated name and steps before saving.`})]}):null,(0,$.jsx)(me,{open:we,onOpenChange:F,children:(0,$.jsxs)(ge,{showCloseButton:!1,"data-slot":`wb-import-panel`,className:`max-md:translate-x-0 max-md:translate-y-0 sm:max-w-[660px] rounded-xl border border-border bg-card p-5 [&_button]:min-h-11`,children:[(0,$.jsx)(_e,{className:`text-xl font-normal`,children:`Import workflow YAML`}),(0,$.jsx)(pe,{className:`sr-only`,children:`Paste a portable workflow definition to import.`}),(0,$.jsx)(ve,{"data-slot":`wb-import-text`,"aria-label":`Workflow YAML to import`,rows:4,spellCheck:!1,placeholder:`name: my-flow
9
- skills:
10
- - test-conventions
11
- - commit-style`,value:Te,onChange:e=>L(e.target.value),className:`mt-4 min-h-[124px] bg-background p-4 font-mono text-[13px] leading-relaxed`}),(0,$.jsx)(`p`,{className:`mt-4 text-[13px] text-muted-foreground`,children:`Paste a portable workflow definition. Imported steps appear in execution order.`}),R===``?null:(0,$.jsx)(`p`,{"data-slot":`wb-import-error`,role:`alert`,className:`mt-2 text-xs text-danger`,children:R}),(0,$.jsxs)(`div`,{className:`mt-3 flex items-center gap-1.5`,children:[(0,$.jsx)(E,{type:`button`,variant:`primary`,size:`sm`,"data-slot":`wb-import-run`,disabled:Be.isPending,onClick:Ze,children:`Import`}),(0,$.jsx)(E,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`wb-import-cancel`,onClick:()=>{F(!1),L(``),Ee(``)},children:`Cancel`})]})]})}),(0,$.jsxs)(`div`,{className:`grid min-w-0 items-start gap-[22px] @min-[700px]:grid-cols-[minmax(0,1fr)_300px]`,children:[(0,$.jsxs)(`section`,{"data-slot":`wb-main`,className:`min-w-0 rounded-xl border border-border bg-card p-5`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Steps · `,K.length,` of `,8,(0,$.jsx)(`span`,{"data-slot":`wb-count`,className:`sr-only`,children:$r(K)})]}),(0,$.jsx)(si,{steps:K,skills:W,dragging:U!==null,overId:Me,activeStepId:U?.type===`step`?U.step.id:null,onRemove:e=>ze(Yr(K,e)),onMove:(e,t)=>ze(Jr(K,e,t))}),(0,$.jsxs)(E,{ref:Fe,variant:`outline`,className:`mt-4 min-h-11`,onClick:()=>{ye(null),P(``),N(!0)},children:[(0,$.jsx)(u,{"aria-hidden":`true`,className:`size-4`}),`Add step`]}),(0,$.jsxs)(`p`,{className:`mt-4 text-xs leading-relaxed text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`hidden @min-[900px]:inline`,children:`Drag to reorder. The agent follows this sequence from top to bottom.`}),(0,$.jsx)(`span`,{className:`@min-[900px]:hidden`,children:`Use Move up / Move down to reorder without dragging.`})]}),(0,$.jsxs)(`footer`,{className:`mt-4 flex flex-wrap items-center justify-between gap-4 border-t border-border pt-4`,children:[(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`Review the name and steps, then save to a workflow file.`}),(0,$.jsxs)(E,{type:`button`,variant:`primary`,size:`sm`,className:`min-h-11 max-sm:w-full`,"data-slot":`wb-save`,disabled:G.isPending,onClick:()=>{if(We===``){Pe.current?.focus();return}if(K.length===0){p(`Add at least one step first.`,{tone:`danger`});return}G.mutate(!1)},children:[(0,$.jsx)(y,{"aria-hidden":`true`,className:`size-3`}),`Save`]})]})]}),(0,$.jsxs)(`aside`,{"data-slot":`wb-aside`,className:`min-w-0 rounded-xl border border-border bg-card p-5`,children:[(0,$.jsx)(`h2`,{className:`text-[16px] font-semibold`,children:`Available skills`}),(0,$.jsxs)(`div`,{className:`sw-search relative mt-4`,children:[(0,$.jsx)(h,{"aria-hidden":`true`,className:`pointer-events-none absolute left-3 top-3.5 size-4 text-muted-foreground`}),(0,$.jsx)(Se,{"data-slot":`wb-filter`,placeholder:`Find a skill…`,"aria-label":`Filter skills`,value:ce,onChange:e=>A(e.target.value),className:`h-11 pl-9 text-xs`})]}),(0,$.jsx)(ui,{skills:Le,query:ce,error:n.isError?n.error.message:null,inFlow:new Set(K.map(e=>e.skill).filter(e=>!!e)),onAdd:e=>qe(e)}),(0,$.jsx)(`h3`,{className:`mt-5 text-sm font-semibold`,children:`workflow.yaml`}),(0,$.jsx)(`p`,{className:`mt-3 text-xs leading-relaxed text-muted-foreground`,children:`Export the workflow to use this chain in another project.`}),(0,$.jsxs)(`details`,{className:`mt-4 min-w-0`,children:[(0,$.jsxs)(`summary`,{"data-slot":`wb-yaml-toggle`,className:`inline-flex min-h-[44px] cursor-pointer items-center rounded-lg border border-border px-3 text-xs font-medium focus-visible:outline-2 focus-visible:outline-ring`,children:[(0,$.jsx)(S,{"aria-hidden":`true`,className:`mr-2 size-4`}),`View YAML`]}),(0,$.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,$.jsx)(fi,{yaml:Ke})}),(0,$.jsx)(`pre`,{"data-slot":`wb-yaml`,className:`mt-2 max-h-96 overflow-auto rounded-lg border border-border bg-background p-3 font-mono text-[11px] leading-relaxed whitespace-pre text-muted-foreground`,children:Ke})]})]})]})]}),(0,$.jsx)(vr,{children:U?.type===`palette`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border bg-card px-2.5 py-1.5 font-mono text-[13px] font-medium shadow-md`,children:[(0,$.jsx)(g,{"aria-hidden":`true`,className:`size-3.5 text-link-foreground`}),U.skill]}):U?.type===`step`?(0,$.jsx)(li,{step:U.step,index:K.findIndex(e=>e.id===U.step.id),skills:W,overlay:!0}):null})]}),(0,$.jsx)(me,{open:M,onOpenChange:N,children:(0,$.jsxs)(ge,{"data-slot":`wb-add-dialog`,onCloseAutoFocus:e=>{e.preventDefault(),Fe.current?.focus()},className:`max-h-[85dvh] overflow-y-auto sm:max-w-[660px] [&_button]:min-h-11`,children:[(0,$.jsxs)(he,{children:[(0,$.jsx)(_e,{className:`text-xl font-normal`,children:`Add step`}),(0,$.jsx)(pe,{className:`sr-only`,children:`Choose a skill to append to this workflow.`})]}),(0,$.jsx)(Se,{"aria-label":`Filter skills`,placeholder:`Filter skills…`,value:de,onChange:e=>P(e.target.value)}),n.isError?(0,$.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`Could not load skills: `,n.error.message]}):(0,$.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Available skills`,className:`grid max-h-80 gap-2 overflow-y-auto`,children:[Re.map(e=>(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-3 rounded-lg py-2 has-[:checked]:bg-accent-strong/10 has-[:focus-visible]:outline-2`,children:[(0,$.jsx)(`input`,{type:`radio`,name:`workflow-add-skill`,className:`sr-only`,value:e.name,checked:fe===e.name,onChange:()=>ye(e.name)}),(0,$.jsxs)(`span`,{className:`min-w-0 break-words text-sm`,children:[(0,$.jsx)(`span`,{className:`block`,children:e.name}),(0,$.jsx)(`span`,{className:`mt-2 block text-xs text-muted-foreground`,children:e.description})]})]},e.name)),Re.length===0?(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:W.length===0?`No skills available in this project.`:`No matching skills.`}):null]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,$.jsx)(E,{variant:`outline`,onClick:()=>N(!1),children:`Cancel`}),(0,$.jsx)(E,{variant:`primary`,disabled:!fe||K.length>=8,onClick:()=>{fe&&(qe(fe),N(!1))},children:`Add selected skill`})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Append the selected skill, then reorder it in the existing canvas.`}),K.length>=8?(0,$.jsxs)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:[`A workflow can contain up to `,8,` steps. Remove a step before adding another.`]}):null]})}),(0,$.jsx)(k,{open:Oe,onOpenChange:e=>!e&&H(!1),children:(0,$.jsxs)(ne,{"data-slot":`wb-overwrite-dialog`,className:`sw-workflow-confirm sm:max-w-[660px]`,children:[(0,$.jsxs)(se,{children:[(0,$.jsxs)(ee,{children:[`“`,We,`” already exists`]}),(0,$.jsx)(x,{children:`Saving overwrites the existing workflow file. There is no undo.`})]}),(0,$.jsxs)(ie,{children:[(0,$.jsx)(D,{children:`Keep the file`}),(0,$.jsx)(re,{"data-slot":`wb-overwrite-confirm`,className:`bg-danger text-danger-foreground`,onClick:()=>G.mutate(!0),children:`Overwrite`})]})]})}),(0,$.jsx)(k,{open:ke,onOpenChange:e=>!e&&Ae(!1),children:(0,$.jsxs)(ne,{"data-slot":`wb-delete-dialog`,className:`sw-workflow-confirm sm:max-w-[660px]`,children:[(0,$.jsxs)(se,{children:[(0,$.jsxs)(ee,{children:[`Delete workflow “`,We,`”?`]}),(0,$.jsxs)(x,{children:[`Removes `,Ge?.path?.split(`/`).pop()??`the saved file`,` from`,` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`.ai/cezar/workflows/`}),`. There is no undo.`]})]}),(0,$.jsxs)(ie,{children:[(0,$.jsx)(D,{children:`Keep the file`}),(0,$.jsx)(re,{"data-slot":`wb-delete-confirm`,className:`bg-danger text-danger-foreground hover:brightness-[0.96]`,onClick:()=>He.mutate(We),children:`Delete workflow`})]})]})})]})}function si({steps:e,skills:t,dragging:n,overId:r,activeStepId:i,onRemove:a,onMove:o}){let{setNodeRef:s,isOver:c}=or({id:ni}),l=n&&r===ni;return(0,$.jsx)(`div`,{ref:s,"data-slot":`wb-steps`,"data-dragging":n||void 0,className:M(`relative mt-4 rounded-lg transition-colors`,c?`border-accent-strong/60 bg-accent-strong/5`:`border-muted-foreground/25`),children:e.length===0?(0,$.jsx)(`p`,{className:M(`rounded-md px-3 py-10 text-center text-[13px] transition-colors`,c?`text-link-foreground`:`text-muted-foreground`),children:`Drop a skill here — or Import a workflow.yaml`}):(0,$.jsxs)(Ar,{items:e.map(e=>e.id),strategy:Er,children:[(0,$.jsx)(`ol`,{className:`flex flex-col gap-4`,children:e.map((s,c)=>(0,$.jsx)(ci,{step:s,index:c,skills:t,dragging:n,insertBefore:n&&r===s.id&&i!==s.id,onRemove:()=>a(c),onMoveUp:c>0?()=>o(c,c-1):void 0,onMoveDown:c<e.length-1?()=>o(c,c+1):void 0},s.id))}),(0,$.jsx)(`div`,{"aria-hidden":`true`,className:M(`absolute inset-x-0 mt-1 h-[3px] rounded-full transition-colors`,l?`bg-accent-strong`:`bg-transparent`)})]})})}function ci({step:e,index:t,skills:n,dragging:r,insertBefore:i,onRemove:a,onMoveUp:o,onMoveDown:s}){let{attributes:c,listeners:l,setNodeRef:u,transform:d,transition:f,isDragging:p}=Rr({id:e.id,data:{type:`step`,step:e}});return(0,$.jsxs)(`li`,{ref:u,style:{transform:G.Transform.toString(d),transition:f},className:M(`relative`,p&&`opacity-40`),children:[i?(0,$.jsx)(`span`,{"aria-hidden":`true`,"data-slot":`wb-drop-line`,className:`pointer-events-none absolute -top-[7px] right-0 left-0 h-[3px] rounded-full bg-accent-strong`}):null,(0,$.jsx)(li,{step:e,index:t,skills:n,onRemove:a,onMoveUp:o,onMoveDown:s,gripProps:{...c,...l}})]})}function li({step:e,index:t,skills:n,onRemove:r,gripProps:i,onMoveUp:a,onMoveDown:o,overlay:s=!1}){let u=n.find(t=>t.name===e.skill),f=!!e.command,p=e.name??e.skill??e.id,m=e.prompt?.trim()===`{{task}}`?void 0:e.prompt?.trim(),h=f?`$ ${e.command}${e.onFail?` — on fail retry from "${e.onFail.retry}" (×${e.onFail.max??2})`:``}`:e.skill?m||u?.description||`Not in this repo or the team skills — the step runs on its plain prompt.`:e.prompt??``,g=e.skill&&!u?`unknown`:null;return(0,$.jsxs)(`div`,{"data-slot":`wb-step`,"data-id":e.id,"data-index":t,className:M(`rounded-lg border border-border bg-background p-4`,s&&`shadow-md`),children:[(0,$.jsxs)(`div`,{"data-slot":`wb-step-heading`,className:`flex min-w-0 items-center gap-2.5`,children:[(0,$.jsx)(`button`,{type:`button`,"data-slot":`wb-step-grip`,"aria-label":`Reorder step ${t+1}: ${p}`,className:`inline-flex size-[26px] shrink-0 cursor-grab items-center justify-center rounded-md text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,...i,children:(0,$.jsx)(`span`,{className:`rounded bg-accent-strong/10 px-2 py-1 font-mono text-[12px] text-link-foreground`,children:String(t+1).padStart(2,`0`)})}),(0,$.jsx)(`div`,{className:`min-w-0 flex-1 break-words text-sm font-medium [overflow-wrap:anywhere]`,children:p}),g?(0,$.jsx)(`span`,{"data-slot":`wb-step-badge`,className:M(`shrink-0 rounded-full border px-2 py-px font-mono text-[11px]`,g===`unknown`&&`border-danger/35 text-danger`),children:g}):null,r?(0,$.jsxs)(fe,{children:[(0,$.jsx)(de,{asChild:!0,children:(0,$.jsx)(E,{"data-slot":`wb-step-actions`,variant:`ghost`,size:`icon`,className:`size-[26px]`,"aria-label":`Step ${t+1} actions: ${p}`,children:(0,$.jsx)(ce,{"aria-hidden":`true`,className:`size-4`})})}),(0,$.jsx)(P,{align:`end`,children:(0,$.jsxs)(N,{"data-slot":`wb-step-remove`,"aria-label":`Remove step ${t+1}: ${p}`,onSelect:r,children:[(0,$.jsx)(d,{"aria-hidden":`true`}),` Remove step`]})})]}):null]}),h?(0,$.jsx)(`div`,{"data-slot":`wb-step-summary`,className:`mt-3 break-words text-xs leading-relaxed text-muted-foreground`,children:h}):null,(0,$.jsx)(`p`,{"data-slot":`wb-step-kind`,className:`mt-3 text-[12px] text-link-foreground`,children:f?`Command step${e.onFail?` · Retry ×${e.onFail.max??2}`:``}`:e.skill?`Skill step`:`Prompt step`}),s?null:(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2 @min-[900px]:hidden`,children:[(0,$.jsxs)(E,{variant:`outline`,size:`sm`,className:`min-h-11`,"aria-label":`Move step ${t+1} up`,disabled:!a,onClick:a,children:[(0,$.jsx)(c,{"aria-hidden":`true`,className:`size-4`}),`Move up`]}),(0,$.jsxs)(E,{variant:`outline`,size:`sm`,className:`min-h-11`,"aria-label":`Move step ${t+1} down`,disabled:!o,onClick:o,children:[(0,$.jsx)(l,{"aria-hidden":`true`,className:`size-4`}),`Move down`]})]})]})}function ui({skills:e,query:t,error:n,inFlow:r,onAdd:i}){if(n!==null)return(0,$.jsxs)(`p`,{"data-slot":`wb-palette`,className:`mt-2.5 text-xs text-danger`,children:[`Could not load skills: `,n]});let a=be(e,t);return(0,$.jsx)(`div`,{"data-slot":`wb-palette`,className:`mt-2.5 flex flex-col gap-1`,children:a.length>0?a.map(e=>(0,$.jsx)(di,{skill:e,inFlow:r.has(e.name),onAdd:i},e.path)):(0,$.jsx)(`p`,{className:`py-1 text-xs leading-relaxed text-soft-foreground`,children:e.length>0?`No skills match.`:(0,$.jsx)(we,{})})})}function di({skill:e,inFlow:t,onAdd:n}){let{attributes:r,listeners:i,setNodeRef:a,isDragging:o}=nr({id:`palette:${e.name}`,data:{type:`palette`,skill:e.name}});return(0,$.jsxs)(`div`,{ref:a,"data-slot":`wb-skill`,"data-skill":e.name,"data-in-flow":t||void 0,title:e.description??``,className:M(`flex min-h-11 cursor-grab items-center gap-2 rounded-md py-1 transition-colors hover:bg-muted`,o&&`opacity-40`),...r,...i,children:[(0,$.jsx)(`span`,{className:M(`min-w-0 flex-1 break-words text-xs`,ye(e)?`font-semibold text-foreground`:`font-medium text-muted-foreground`),children:e.name}),(0,$.jsx)(`button`,{type:`button`,"data-slot":`wb-skill-add`,"aria-label":`Add ${e.name} to the flow`,title:`Add to the flow`,onClick:()=>n(e.name),className:`inline-flex size-11 shrink-0 items-center justify-center rounded-md text-link-foreground transition-colors outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:(0,$.jsx)(u,{"aria-hidden":`true`,className:`size-3.5`})})]})}function fi({yaml:e}){let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null);return(0,I.useEffect)(()=>()=>{r.current!==null&&clearTimeout(r.current)},[]),(0,$.jsx)(`button`,{type:`button`,"data-slot":`wb-copy`,title:`Copy the YAML`,onClick:()=>{navigator.clipboard?.writeText(e).catch(()=>{}),n(!0),r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),1600)},className:`flex items-center gap-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground`,children:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(y,{"aria-hidden":`true`,className:`size-3 text-success`}),`Copied`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(T,{"aria-hidden":`true`,className:`size-3`}),`Copy`]})})}export{ai as WorkflowsRoute};