@wjarka/cezarion 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/README.md +167 -46
  2. package/dist/agent-config/catalog.d.ts +6 -2
  3. package/dist/agent-config/catalog.js +78 -3
  4. package/dist/agent-config/catalog.js.map +1 -1
  5. package/dist/agent-config/model-settings/shared.js +6 -3
  6. package/dist/agent-config/model-settings/shared.js.map +1 -1
  7. package/dist/agent-config/models.js +4 -0
  8. package/dist/agent-config/models.js.map +1 -1
  9. package/dist/agent-config/validate.js +6 -0
  10. package/dist/agent-config/validate.js.map +1 -1
  11. package/dist/artifacts/cli.js +10 -2
  12. package/dist/artifacts/cli.js.map +1 -1
  13. package/dist/automations/coordinator.d.ts +7 -0
  14. package/dist/automations/coordinator.js +22 -2
  15. package/dist/automations/coordinator.js.map +1 -1
  16. package/dist/automations/github-poller.d.ts +4 -4
  17. package/dist/automations/github-poller.js.map +1 -1
  18. package/dist/automations/schedule-runner.d.ts +130 -0
  19. package/dist/automations/schedule-runner.js +326 -0
  20. package/dist/automations/schedule-runner.js.map +1 -0
  21. package/dist/automations/scheduler.d.ts +38 -7
  22. package/dist/automations/scheduler.js +90 -22
  23. package/dist/automations/scheduler.js.map +1 -1
  24. package/dist/automations/store.d.ts +80 -3
  25. package/dist/automations/store.js +208 -16
  26. package/dist/automations/store.js.map +1 -1
  27. package/dist/automations/task-template.d.ts +42 -6
  28. package/dist/automations/task-template.js +152 -24
  29. package/dist/automations/task-template.js.map +1 -1
  30. package/dist/automations/types.d.ts +142 -6
  31. package/dist/automations/types.js +64 -6
  32. package/dist/automations/types.js.map +1 -1
  33. package/dist/autosave-holders.js +8 -12
  34. package/dist/autosave-holders.js.map +1 -1
  35. package/dist/ci-wait/client.d.ts +8 -1
  36. package/dist/ci-wait/client.js +43 -1
  37. package/dist/ci-wait/client.js.map +1 -1
  38. package/dist/ci-wait/controller.d.ts +83 -4
  39. package/dist/ci-wait/controller.js +76 -11
  40. package/dist/ci-wait/controller.js.map +1 -1
  41. package/dist/ci-wait/errors.d.ts +7 -1
  42. package/dist/ci-wait/errors.js +36 -0
  43. package/dist/ci-wait/errors.js.map +1 -1
  44. package/dist/ci-wait/github.d.ts +2 -0
  45. package/dist/ci-wait/github.js +3 -1
  46. package/dist/ci-wait/github.js.map +1 -1
  47. package/dist/ci-wait/mcp.d.ts +2 -98
  48. package/dist/ci-wait/mcp.js +11 -25
  49. package/dist/ci-wait/mcp.js.map +1 -1
  50. package/dist/ci-wait/supervisor.d.ts +2 -1
  51. package/dist/ci-wait/supervisor.js +2 -1
  52. package/dist/ci-wait/supervisor.js.map +1 -1
  53. package/dist/ci-wait/tools.d.ts +307 -0
  54. package/dist/ci-wait/tools.js +63 -0
  55. package/dist/ci-wait/tools.js.map +1 -0
  56. package/dist/config.d.ts +3 -0
  57. package/dist/config.js +7 -0
  58. package/dist/config.js.map +1 -1
  59. package/dist/contract/agent-config.d.ts +5 -0
  60. package/dist/contract/agent-profiles.d.ts +15 -0
  61. package/dist/contract/automation-schedule.d.ts +60 -0
  62. package/dist/contract/automations.d.ts +208 -36
  63. package/dist/contract/delegation.d.ts +96 -0
  64. package/dist/contract/discovery.d.ts +7 -0
  65. package/dist/contract/github.d.ts +1 -0
  66. package/dist/contract/health.d.ts +6 -0
  67. package/dist/contract/index.d.ts +3 -0
  68. package/dist/contract/index.js +1445 -745
  69. package/dist/contract/preview.d.ts +508 -0
  70. package/dist/contract/runs.d.ts +716 -15
  71. package/dist/contract/skills.d.ts +39 -0
  72. package/dist/contract/workflows.d.ts +6 -0
  73. package/dist/contract/workspace.d.ts +65 -0
  74. package/dist/contract/zoned-time.d.ts +35 -0
  75. package/dist/core/agent-env.d.ts +11 -0
  76. package/dist/core/agent-env.js +27 -5
  77. package/dist/core/agent-env.js.map +1 -1
  78. package/dist/core/agent-profiles.js +7 -0
  79. package/dist/core/agent-profiles.js.map +1 -1
  80. package/dist/core/agent-runner.d.ts +49 -1
  81. package/dist/core/agent-runner.js +2 -1
  82. package/dist/core/agent-runner.js.map +1 -1
  83. package/dist/core/backend-detect.d.ts +3 -2
  84. package/dist/core/backend-detect.js +27 -1
  85. package/dist/core/backend-detect.js.map +1 -1
  86. package/dist/core/claude-cli-runner.d.ts +1 -0
  87. package/dist/core/claude-cli-runner.js +69 -19
  88. package/dist/core/claude-cli-runner.js.map +1 -1
  89. package/dist/core/codex-app-server-runner.d.ts +1 -0
  90. package/dist/core/codex-app-server-runner.js +200 -25
  91. package/dist/core/codex-app-server-runner.js.map +1 -1
  92. package/dist/core/codex-app-server-transport.d.ts +7 -3
  93. package/dist/core/codex-app-server-transport.js +11 -9
  94. package/dist/core/codex-app-server-transport.js.map +1 -1
  95. package/dist/core/cursor-acp-runner.d.ts +1 -0
  96. package/dist/core/cursor-acp-runner.js +24 -9
  97. package/dist/core/cursor-acp-runner.js.map +1 -1
  98. package/dist/core/host-model-catalog.js +2 -0
  99. package/dist/core/host-model-catalog.js.map +1 -1
  100. package/dist/core/managed-session.js +2 -0
  101. package/dist/core/managed-session.js.map +1 -1
  102. package/dist/core/model-identity.js +2 -0
  103. package/dist/core/model-identity.js.map +1 -1
  104. package/dist/core/model-presets.js +3 -0
  105. package/dist/core/model-presets.js.map +1 -1
  106. package/dist/core/omp-model-catalog.d.ts +43 -0
  107. package/dist/core/omp-model-catalog.js +205 -0
  108. package/dist/core/omp-model-catalog.js.map +1 -0
  109. package/dist/core/omp-runner.d.ts +73 -0
  110. package/dist/core/omp-runner.js +990 -0
  111. package/dist/core/omp-runner.js.map +1 -0
  112. package/dist/core/omp-ui-mapper.d.ts +106 -0
  113. package/dist/core/omp-ui-mapper.js +882 -0
  114. package/dist/core/omp-ui-mapper.js.map +1 -0
  115. package/dist/core/opencode-server-runner.d.ts +18 -4
  116. package/dist/core/opencode-server-runner.js +337 -96
  117. package/dist/core/opencode-server-runner.js.map +1 -1
  118. package/dist/core/opencode-session-error.d.ts +11 -0
  119. package/dist/core/opencode-session-error.js +26 -0
  120. package/dist/core/opencode-session-error.js.map +1 -0
  121. package/dist/core/opencode-ui-mapper.js +4 -36
  122. package/dist/core/opencode-ui-mapper.js.map +1 -1
  123. package/dist/core/pi-runner.d.ts +1 -0
  124. package/dist/core/pi-runner.js +75 -12
  125. package/dist/core/pi-runner.js.map +1 -1
  126. package/dist/core/provider-auth.d.ts +9 -2
  127. package/dist/core/provider-auth.js +43 -6
  128. package/dist/core/provider-auth.js.map +1 -1
  129. package/dist/core/runner-factory.js +3 -0
  130. package/dist/core/runner-factory.js.map +1 -1
  131. package/dist/core/runner-model-catalog.js +1 -0
  132. package/dist/core/runner-model-catalog.js.map +1 -1
  133. package/dist/core/runner-stderr.d.ts +2 -0
  134. package/dist/core/runner-stderr.js +20 -0
  135. package/dist/core/runner-stderr.js.map +1 -0
  136. package/dist/core/session-process.d.ts +22 -0
  137. package/dist/core/session-process.js +202 -0
  138. package/dist/core/session-process.js.map +1 -0
  139. package/dist/core/ui-events.d.ts +1 -1
  140. package/dist/core/usage-limit.js +3 -60
  141. package/dist/core/usage-limit.js.map +1 -1
  142. package/dist/data-gitignore.d.ts +6 -0
  143. package/dist/data-gitignore.js +57 -0
  144. package/dist/data-gitignore.js.map +1 -0
  145. package/dist/delegation/capacity.d.ts +19 -0
  146. package/dist/delegation/capacity.js +34 -0
  147. package/dist/delegation/capacity.js.map +1 -0
  148. package/dist/delegation/cli.js +13 -4
  149. package/dist/delegation/cli.js.map +1 -1
  150. package/dist/delegation/conversations.d.ts +4 -2
  151. package/dist/delegation/conversations.js +8 -12
  152. package/dist/delegation/conversations.js.map +1 -1
  153. package/dist/delegation/credentials.d.ts +2 -0
  154. package/dist/delegation/credentials.js +10 -0
  155. package/dist/delegation/credentials.js.map +1 -1
  156. package/dist/delegation/destroy-observation.d.ts +42 -0
  157. package/dist/delegation/destroy-observation.js +115 -0
  158. package/dist/delegation/destroy-observation.js.map +1 -0
  159. package/dist/delegation/execution-identity.d.ts +6 -0
  160. package/dist/delegation/execution-identity.js +1 -1
  161. package/dist/delegation/execution-identity.js.map +1 -1
  162. package/dist/delegation/policy.d.ts +3 -2
  163. package/dist/delegation/policy.js +7 -5
  164. package/dist/delegation/policy.js.map +1 -1
  165. package/dist/delegation/process-liveness.d.ts +57 -20
  166. package/dist/delegation/process-liveness.js +114 -92
  167. package/dist/delegation/process-liveness.js.map +1 -1
  168. package/dist/delegation/provision.js +6 -6
  169. package/dist/delegation/provision.js.map +1 -1
  170. package/dist/delegation/results.js +4 -2
  171. package/dist/delegation/results.js.map +1 -1
  172. package/dist/delegation/retry-backoff.d.ts +23 -0
  173. package/dist/delegation/retry-backoff.js +18 -0
  174. package/dist/delegation/retry-backoff.js.map +1 -0
  175. package/dist/delegation/routes.d.ts +64 -58
  176. package/dist/delegation/scratch-cleanup.d.ts +29 -0
  177. package/dist/delegation/scratch-cleanup.js +143 -0
  178. package/dist/delegation/scratch-cleanup.js.map +1 -0
  179. package/dist/delegation/service.d.ts +20 -1
  180. package/dist/delegation/service.js +233 -70
  181. package/dist/delegation/service.js.map +1 -1
  182. package/dist/delegation/transport.d.ts +12 -6
  183. package/dist/delegation/workspace.d.ts +23 -4
  184. package/dist/delegation/workspace.js +147 -31
  185. package/dist/delegation/workspace.js.map +1 -1
  186. package/dist/git-worktree-lock-helper.js +8 -3
  187. package/dist/git-worktree-lock-helper.js.map +1 -1
  188. package/dist/git-worktree-lock.d.ts +6 -1
  189. package/dist/git-worktree-lock.js +10 -4
  190. package/dist/git-worktree-lock.js.map +1 -1
  191. package/dist/git-worktree-release.d.ts +20 -0
  192. package/dist/git-worktree-release.js +27 -0
  193. package/dist/git-worktree-release.js.map +1 -0
  194. package/dist/git-worktree.d.ts +8 -2
  195. package/dist/git-worktree.js +19 -2
  196. package/dist/git-worktree.js.map +1 -1
  197. package/dist/handoff.d.ts +2 -2
  198. package/dist/handoff.js +1 -1
  199. package/dist/index.js +109 -76
  200. package/dist/index.js.map +1 -1
  201. package/dist/paths.d.ts +1 -1
  202. package/dist/paths.js +5 -1
  203. package/dist/paths.js.map +1 -1
  204. package/dist/preview/cdp.d.ts +13 -0
  205. package/dist/preview/cdp.js +69 -0
  206. package/dist/preview/cdp.js.map +1 -0
  207. package/dist/preview/chromium.d.ts +75 -0
  208. package/dist/preview/chromium.js +394 -0
  209. package/dist/preview/chromium.js.map +1 -0
  210. package/dist/preview/dev-server.d.ts +68 -0
  211. package/dist/preview/dev-server.js +341 -0
  212. package/dist/preview/dev-server.js.map +1 -0
  213. package/dist/preview/host.d.ts +154 -0
  214. package/dist/preview/host.js +681 -0
  215. package/dist/preview/host.js.map +1 -0
  216. package/dist/preview/registration.d.ts +63 -0
  217. package/dist/preview/registration.js +109 -0
  218. package/dist/preview/registration.js.map +1 -0
  219. package/dist/preview/session.d.ts +73 -0
  220. package/dist/preview/session.js +347 -0
  221. package/dist/preview/session.js.map +1 -0
  222. package/dist/preview/url.d.ts +6 -0
  223. package/dist/preview/url.js +17 -0
  224. package/dist/preview/url.js.map +1 -0
  225. package/dist/runs/agent-tmpdir-removal.d.ts +15 -0
  226. package/dist/runs/agent-tmpdir-removal.js +60 -0
  227. package/dist/runs/agent-tmpdir-removal.js.map +1 -0
  228. package/dist/runs/agent-tmpdir.d.ts +12 -1
  229. package/dist/runs/agent-tmpdir.js +123 -34
  230. package/dist/runs/agent-tmpdir.js.map +1 -1
  231. package/dist/runs/delegation-state.d.ts +5 -1
  232. package/dist/runs/delegation-state.js +9 -0
  233. package/dist/runs/delegation-state.js.map +1 -1
  234. package/dist/runs/event-history.d.ts +4 -4
  235. package/dist/runs/event-history.js +97 -117
  236. package/dist/runs/event-history.js.map +1 -1
  237. package/dist/runs/history-compressor.d.ts +29 -0
  238. package/dist/runs/history-compressor.js +116 -0
  239. package/dist/runs/history-compressor.js.map +1 -0
  240. package/dist/runs/history-file.d.ts +36 -0
  241. package/dist/runs/history-file.js +463 -0
  242. package/dist/runs/history-file.js.map +1 -0
  243. package/dist/runs/human-ask-summary.js +18 -13
  244. package/dist/runs/human-ask-summary.js.map +1 -1
  245. package/dist/runs/legacy-index.d.ts +62 -0
  246. package/dist/runs/legacy-index.js +168 -0
  247. package/dist/runs/legacy-index.js.map +1 -0
  248. package/dist/runs/raw-record.d.ts +52 -0
  249. package/dist/runs/raw-record.js +145 -0
  250. package/dist/runs/raw-record.js.map +1 -0
  251. package/dist/runs/retention.d.ts +13 -6
  252. package/dist/runs/retention.js +42 -13
  253. package/dist/runs/retention.js.map +1 -1
  254. package/dist/runs/run-claims.d.ts +23 -0
  255. package/dist/runs/run-claims.js +24 -0
  256. package/dist/runs/run-claims.js.map +1 -0
  257. package/dist/runs/run-database.d.ts +385 -0
  258. package/dist/runs/run-database.js +930 -0
  259. package/dist/runs/run-database.js.map +1 -0
  260. package/dist/runs/run-index.d.ts +35 -9
  261. package/dist/runs/run-index.js +200 -25
  262. package/dist/runs/run-index.js.map +1 -1
  263. package/dist/runs/run-row.d.ts +44 -0
  264. package/dist/runs/run-row.js +84 -0
  265. package/dist/runs/run-row.js.map +1 -0
  266. package/dist/runs/run-search.d.ts +29 -0
  267. package/dist/runs/run-search.js +63 -0
  268. package/dist/runs/run-search.js.map +1 -0
  269. package/dist/runs/store-open-error.d.ts +24 -0
  270. package/dist/runs/store-open-error.js +61 -0
  271. package/dist/runs/store-open-error.js.map +1 -0
  272. package/dist/runs/store.d.ts +667 -32
  273. package/dist/runs/store.js +2153 -324
  274. package/dist/runs/store.js.map +1 -1
  275. package/dist/runs/transcript-facts.d.ts +77 -0
  276. package/dist/runs/transcript-facts.js +302 -0
  277. package/dist/runs/transcript-facts.js.map +1 -0
  278. package/dist/runs/webhook.js +5 -4
  279. package/dist/runs/webhook.js.map +1 -1
  280. package/dist/runs/worker-execution.d.ts +22 -0
  281. package/dist/runs/worker-execution.js +30 -0
  282. package/dist/runs/worker-execution.js.map +1 -0
  283. package/dist/server/capabilities.d.ts +1 -0
  284. package/dist/server/capabilities.js +2 -0
  285. package/dist/server/capabilities.js.map +1 -1
  286. package/dist/server/cockpit-ownership.d.ts +8 -0
  287. package/dist/server/cockpit-ownership.js +19 -0
  288. package/dist/server/cockpit-ownership.js.map +1 -1
  289. package/dist/server/forge/github.d.ts +1 -4
  290. package/dist/server/forge/github.js +47 -23
  291. package/dist/server/forge/github.js.map +1 -1
  292. package/dist/server/git.js +1 -1
  293. package/dist/server/git.js.map +1 -1
  294. package/dist/server/open-in-app.js +1 -0
  295. package/dist/server/open-in-app.js.map +1 -1
  296. package/dist/server/preview-socket.d.ts +36 -0
  297. package/dist/server/preview-socket.js +126 -0
  298. package/dist/server/preview-socket.js.map +1 -0
  299. package/dist/server/project-context.d.ts +31 -4
  300. package/dist/server/project-context.js +73 -9
  301. package/dist/server/project-context.js.map +1 -1
  302. package/dist/server/provider-action-gate.js +1 -0
  303. package/dist/server/provider-action-gate.js.map +1 -1
  304. package/dist/server/repo-branches.d.ts +4 -3
  305. package/dist/server/repo-branches.js +5 -4
  306. package/dist/server/repo-branches.js.map +1 -1
  307. package/dist/server/server.d.ts +4500 -2727
  308. package/dist/server/server.js +651 -202
  309. package/dist/server/server.js.map +1 -1
  310. package/dist/server/upgrade-router.d.ts +23 -0
  311. package/dist/server/upgrade-router.js +53 -0
  312. package/dist/server/upgrade-router.js.map +1 -0
  313. package/dist/server/validators.d.ts +6 -1
  314. package/dist/server/validators.js +4 -4
  315. package/dist/server/validators.js.map +1 -1
  316. package/dist/server/ws.d.ts +16 -16
  317. package/dist/server/ws.js +56 -54
  318. package/dist/server/ws.js.map +1 -1
  319. package/dist/skills-remote.d.ts +14 -0
  320. package/dist/skills-remote.js +91 -15
  321. package/dist/skills-remote.js.map +1 -1
  322. package/dist/task-cli/cli.js +40 -16
  323. package/dist/task-cli/cli.js.map +1 -1
  324. package/dist/task-cli/discovery.d.ts +4 -3
  325. package/dist/task-cli/discovery.js +4 -3
  326. package/dist/task-cli/discovery.js.map +1 -1
  327. package/dist/task-cli/http.d.ts +2 -0
  328. package/dist/task-cli/http.js +10 -4
  329. package/dist/task-cli/http.js.map +1 -1
  330. package/dist/task-cli/projections.d.ts +5 -2
  331. package/dist/task-cli/projections.js +13 -0
  332. package/dist/task-cli/projections.js.map +1 -1
  333. package/dist/task-cli/watch.d.ts +15 -2
  334. package/dist/task-cli/watch.js +31 -9
  335. package/dist/task-cli/watch.js.map +1 -1
  336. package/dist/ui-state.d.ts +4 -3
  337. package/dist/ui-state.js +8 -3
  338. package/dist/ui-state.js.map +1 -1
  339. package/dist/workflows/grouped-command.d.ts +31 -0
  340. package/dist/workflows/grouped-command.js +143 -0
  341. package/dist/workflows/grouped-command.js.map +1 -0
  342. package/dist/workflows/run.d.ts +223 -42
  343. package/dist/workflows/run.js +1316 -398
  344. package/dist/workflows/run.js.map +1 -1
  345. package/dist/workflows/types.d.ts +12 -0
  346. package/dist/workflows/types.js +20 -0
  347. package/dist/workflows/types.js.map +1 -1
  348. package/dist/workspace/agent-accounts.d.ts +5 -1
  349. package/dist/workspace/agent-accounts.js +1 -0
  350. package/dist/workspace/agent-accounts.js.map +1 -1
  351. package/dist/workspace/agent-profiles.js +1 -1
  352. package/dist/workspace/agent-profiles.js.map +1 -1
  353. package/dist/workspace/config.d.ts +3 -1
  354. package/dist/workspace/config.js +1 -0
  355. package/dist/workspace/config.js.map +1 -1
  356. package/dist/worktree-setup.d.ts +85 -0
  357. package/dist/worktree-setup.js +164 -0
  358. package/dist/worktree-setup.js.map +1 -0
  359. package/package.json +7 -5
  360. package/scripts/benchmark-run-store-fixture.ts +428 -0
  361. package/scripts/benchmark-run-store.ts +743 -0
  362. package/scripts/benchmark-stuck-destroys.ts +143 -0
  363. package/scripts/mock-autonomous.mjs +11 -0
  364. package/scripts/mock-ci-tool.mjs +20 -5
  365. package/scripts/mock-claude.mjs +110 -1
  366. package/scripts/mock-codex-app-server.mjs +117 -2
  367. package/scripts/mock-codex-coalesce-steer.mjs +59 -0
  368. package/scripts/mock-codex-reverse-steer.mjs +130 -0
  369. package/scripts/mock-cursor-acp.mjs +75 -1
  370. package/scripts/mock-omp-rpc.mjs +605 -0
  371. package/scripts/mock-opencode-serve.mjs +312 -22
  372. package/scripts/mock-pi-rpc.mjs +109 -3
  373. package/scripts/mock-runner-crash.mjs +42 -0
  374. package/scripts/mock-silent-tail.mjs +78 -0
  375. package/scripts/mock-turn-messages.mjs +5 -0
  376. package/scripts/omp-ci-wait.mjs +29 -0
  377. package/scripts/omp-restrict-delegation.yml +4 -0
  378. package/scripts/pi-ci-wait.mjs +12 -9
  379. package/scripts/seed-archive-profile.ts +3 -3
  380. package/web/dist/assets/agent-accounts-CFOBMVHc.js +1 -0
  381. package/web/dist/assets/alert-dialog-BrpNUwMt.js +1 -0
  382. package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
  383. package/web/dist/assets/button-C_rd7CPp.js +43 -0
  384. package/web/dist/assets/compare-variants-D6WXhvXA.js +1 -0
  385. package/web/dist/assets/diff-DrEARXTV.js +3 -0
  386. package/web/dist/assets/diff-controls-B1-j7nFg.js +1 -0
  387. package/web/dist/assets/{diff-view-DPn6bQ5W.js → diff-view-DvGLjdTk.js} +3 -3
  388. package/web/dist/assets/dropdown-menu-BegOZFrj.js +1 -0
  389. package/web/dist/assets/format-DpNe3S0A.js +1 -0
  390. package/web/dist/assets/git-toolbar-Cw4ljmhB.js +1 -0
  391. package/web/dist/assets/github-CfV5sqL0.js +1 -0
  392. package/web/dist/assets/{image-preview-DJ8cgb1Z.js → image-preview-FOEfqpZP.js} +1 -1
  393. package/web/dist/assets/index-DgWWlOLy.js +13 -0
  394. package/web/dist/assets/index-fBFnuvxu.css +1 -0
  395. package/web/dist/assets/{nav-row-styles-3j64kH5s.js → nav-row-styles-vp2JbhuJ.js} +1 -1
  396. package/web/dist/assets/play-CmVAj_fu.js +1 -0
  397. package/web/dist/assets/popover-BohP6WTx.js +1 -0
  398. package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +3 -0
  399. package/web/dist/assets/preview-state-vuMviq6q.js +1 -0
  400. package/web/dist/assets/prompt-templates-Cubdut_C.js +15 -0
  401. package/web/dist/assets/repo-git-Cf4t5PD0.js +1 -0
  402. package/web/dist/assets/{run-diff-5-RRdcVz.js → run-diff-BpkUW37Z.js} +3 -3
  403. package/web/dist/assets/run-header-68WHf9wV.js +1 -0
  404. package/web/dist/assets/skills-DiVIgKeU.js +1 -0
  405. package/web/dist/assets/square-terminal-B6RYYieR.js +1 -0
  406. package/web/dist/assets/status-dot-CqTJHSP9.js +1 -0
  407. package/web/dist/assets/{tab-link-K0hjzEXR.js → tab-link-B07Hu4QX.js} +1 -1
  408. package/web/dist/assets/task-changes--lQF6EYf.js +1 -0
  409. package/web/dist/assets/task-commits-Cx0qy4DN.js +1 -0
  410. package/web/dist/assets/task-files-D50s-gKW.js +2 -0
  411. package/web/dist/assets/task-github-item-DaqmSwYT.js +1 -0
  412. package/web/dist/assets/task-thread-BPQ64lui.js +7 -0
  413. package/web/dist/assets/{task-thread-Bw_nQuTx.css → task-thread-zNE2Q9E-.css} +1 -1
  414. package/web/dist/assets/textarea-D20O4Pw0.js +1 -0
  415. package/web/dist/assets/thread-state-DWcFMrvb.js +4 -0
  416. package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +1 -0
  417. package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +1 -0
  418. package/web/dist/assets/{utils-fzNfbPzA.js → utils-JsL3ZsJf.js} +1 -1
  419. package/web/dist/assets/workflows-jwG7uxqi.js +11 -0
  420. package/web/dist/assets/{zoomable-image-CDmZ_Rtl.js → zoomable-image-BJJ64KGc.js} +1 -1
  421. package/web/dist/cezarion-lockup-dark.svg +1 -13
  422. package/web/dist/cezarion-lockup-light.svg +1 -13
  423. package/web/dist/cezarion-mark-dark.svg +1 -12
  424. package/web/dist/cezarion-mark-light.svg +1 -12
  425. package/web/dist/index.html +16 -21
  426. package/web/dist/assets/agent-accounts-CU2ZDv24.js +0 -1
  427. package/web/dist/assets/alert-dialog-C-xYE_dg.js +0 -43
  428. package/web/dist/assets/chevron-right-BENZ-1ZN.js +0 -1
  429. package/web/dist/assets/collapsible-DD9J91Iv.js +0 -1
  430. package/web/dist/assets/compare-variants-5FmqpFSN.js +0 -1
  431. package/web/dist/assets/diff-controls-Bj0YrioE.js +0 -1
  432. package/web/dist/assets/diff-rE8rm75J2.js +0 -3
  433. package/web/dist/assets/diff-stat-BKDCSVfJ.js +0 -1
  434. package/web/dist/assets/dropdown-menu-Ch5BYQh_.js +0 -1
  435. package/web/dist/assets/format-dBiNDNVe.js +0 -1
  436. package/web/dist/assets/git-toolbar-ClVvf5iF.js +0 -1
  437. package/web/dist/assets/github-BkNOyour.css +0 -1
  438. package/web/dist/assets/github-DeZMeMwJ.js +0 -1
  439. package/web/dist/assets/github-item-detail-W5F6GVjF.js +0 -1
  440. package/web/dist/assets/github-sidebar-model-DcMu-IK2.js +0 -1
  441. package/web/dist/assets/highlighter-CdHqIwFr.js +0 -3
  442. package/web/dist/assets/index-CatemBEL.js +0 -8
  443. package/web/dist/assets/index-MvfD8bZJ.css +0 -1
  444. package/web/dist/assets/markdown-zdKeLIYA.js +0 -2
  445. package/web/dist/assets/mobile-run-bar-BCfmFi8V.js +0 -1
  446. package/web/dist/assets/prompt-templates-CBPp39IU.js +0 -15
  447. package/web/dist/assets/reference-chip-D6owncJT.js +0 -1
  448. package/web/dist/assets/repo-git-CtdkZFey.js +0 -1
  449. package/web/dist/assets/run-header-BcjoDi0W.js +0 -1
  450. package/web/dist/assets/sheet-ChnYVrp1.js +0 -1
  451. package/web/dist/assets/skills-C8YKp2vr.js +0 -1
  452. package/web/dist/assets/task-changes-BW8YdWG8.js +0 -1
  453. package/web/dist/assets/task-commits-q2kB2y6L.js +0 -1
  454. package/web/dist/assets/task-files-pPL6_3Cr.js +0 -2
  455. package/web/dist/assets/task-github-item-BXF5R52U.js +0 -1
  456. package/web/dist/assets/task-thread-DtkFL3EC.js +0 -10
  457. package/web/dist/assets/textarea-DxlkE-Yd.js +0 -1
  458. package/web/dist/assets/token-metrics-DIAjrPlM.js +0 -1
  459. package/web/dist/assets/use-desktop-CrDny2uG.js +0 -1
  460. package/web/dist/assets/use-submit-shortcut-KWJsC906.js +0 -1
  461. package/web/dist/assets/workflows-TmcPEj2K.js +0 -11
  462. /package/web/dist/assets/{lib-BQXq3kEf2.js → lib-BQXq3kEf.js} +0 -0
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-runtime-CCIEwYL0.js";import{Hi as t,Pt as n,R as r,ot as i,t as a,ta as o,zn as s}from"./button-C_rd7CPp.js";import{n as c}from"./utils-JsL3ZsJf.js";import{B as l,H as u,K as d,Ot as f,_ as p,b as m,ft as h,ot as g,qn as _,vn as v,xn as y}from"./alert-dialog-BrpNUwMt.js";import{t as b}from"./run-header-68WHf9wV.js";import{s as x}from"./popover-BohP6WTx.js";import{r as S}from"./format-DpNe3S0A.js";import{t as C}from"./search-x-I9Q8pgUa.js";import{Ct as w,tn as T,wt as E}from"./index-DgWWlOLy.js";import{n as D,o as O,t as k}from"./use-hand-to-agent-state-Cy9eyyfL.js";var A=e(),j={issue:`Issue`,pr:`Pull request`};function M({kind:e}){let{id:n}=t(),r=f(n);return r.isPending?(0,A.jsx)(w,{kind:e}):r.isError?(0,A.jsx)(E,{tab:`github-item`,error:r.error}):(0,A.jsx)(N,{run:r.data,kind:e})}function N({run:e,kind:n}){let{n:r}=t(),i=Number(r),o=g(),s=h(),c=d(),l=s.isPending||c.isPending,f=v(e,o).some(e=>e.kind===n&&e.number===i),m=u(n,i,f);return(0,A.jsxs)(`div`,{"data-route":`task-github-item`,className:`flex min-h-full flex-col`,children:[(0,A.jsx)(b,{run:e,tab:{kind:n,number:i}}),f?(0,A.jsx)(P,{run:e,kind:n,number:i,repoBase:o,item:m}):l?(0,A.jsx)(w,{kind:n,number:i,heading:`h2`}):(0,A.jsx)(p,{icon:(0,A.jsx)(T,{size:16}),tone:`neutral`,heading:`h2`,title:`#${r} is not linked to this task`,subtitle:`Only the issues and pull requests this task references open here.`,actions:(0,A.jsx)(a,{asChild:!0,variant:`outline`,children:(0,A.jsx)(S,{to:`/tasks/${e.id}`,children:`Back to the session`})})})]})}function P({run:e,kind:t,number:u,repoBase:d,item:f}){let h=o(),g=_({mutationFn:e=>s(t,u,{refresh:!0}),onSuccess:(e,t)=>h.setQueryData(t,e)}),v=t===`pr`&&f.data?.available===!0&&f.data.item!==null,b=l(v?[u]:[],v),S=b.data?.available?b.data.checks:void 0,T=`${j[t]} #${u}`,E=t===`pr`?i:r,D=(0,A.jsx)(a,{variant:`outline`,disabled:g.isPending,onClick:()=>g.mutate(m.githubItem(t,u)),children:`Retry`});if(f.isPending)return(0,A.jsx)(w,{kind:t,number:u,heading:`h2`});if(f.isError){let e=g.error??f.error;return(0,A.jsx)(p,{icon:(0,A.jsx)(n,{size:16}),tone:`danger`,heading:`h2`,title:`Could not load ${j[t].toLowerCase()} #${u}`,subtitle:e.message,actions:D})}let k=f.data;if(!k.available){let n=y(e,d).find(e=>e.kind===`PR`==(t===`pr`)&&e.number===u)?.url;return(0,A.jsx)(p,{icon:(0,A.jsx)(E,{size:16}),tone:`neutral`,heading:`h2`,title:`GitHub is unavailable`,subtitle:g.error?.message??k.reason,actions:(0,A.jsxs)(A.Fragment,{children:[D,n&&c(n)?(0,A.jsx)(a,{asChild:!0,variant:`outline`,children:(0,A.jsxs)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,children:[`open on GitHub`,(0,A.jsx)(x,{"aria-hidden":`true`})]})}):null]})})}return k.item?(0,A.jsx)(`div`,{className:`min-w-0 px-0.5 md:px-2`,children:(0,A.jsx)(O,{item:k.item,colors:k.labelColors??{},checks:t===`pr`?S?.[u]??k.item.checks:k.item.checks,backLink:null,subNav:null,children:t===`issue`?(0,A.jsx)(I,{item:k.item},k.item.url):null})}):(0,A.jsx)(p,{icon:(0,A.jsx)(C,{}),tone:`neutral`,heading:`h2`,title:`${T} was not found in ${F(d)}`,subtitle:`It may have been deleted, or the number points at a different repository.`})}function F(e){if(!e)return`this repository`;try{return new URL(e).pathname.split(`/`).filter(Boolean).slice(0,2).join(`/`)||`this repository`}catch{return`this repository`}}function I({item:e}){let t=k();return(0,A.jsx)(D,{item:e,workflows:t.workflows.data?.workflows??[],skills:t.skillList,workflow:t.workflow,onWorkflowChange:t.setWorkflow,selectedSkills:t.selectedSkills,onSkillsChange:t.setSelectedSkills,engine:t.engine,onEngineChange:t.setEngine,queuedRunId:t.queued.get(e.url)??null,onQueued:t.onQueued},e.url)}export{M as TaskGithubItemRoute};
@@ -0,0 +1,7 @@
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,Ai as i,B as a,Bi as o,Ct as s,E as c,F as l,Gt as u,Hi as d,L as f,M as p,Mt as m,N as h,Nt as g,Oi as _,P as v,Si as y,Sn as b,U as x,V as S,W as C,cn as w,dt as T,en as E,et as D,ft as O,ot as k,pn as A,t as j,ta as M,tn as N,tt as P,yt as F,z as I,zt as L}from"./button-C_rd7CPp.js";import{E as R,F as ee,c as z,j as B,n as te,t as V}from"./utils-JsL3ZsJf.js";import{En as ne,F as re,Ft as ie,Ht as ae,I as oe,K as se,Ln as H,Lt as ce,Ot as le,Rt as ue,St as de,X as U,Xn as fe,Yn as pe,_ as me,b as W,gn as he,j as ge,ot as _e,pt as ve,qn as G,tn as ye,tt as be,v as xe,yn as Se}from"./alert-dialog-BrpNUwMt.js";import{a as Ce,i as we,n as Te,o as Ee,r as De,t as Oe}from"./thread-state-DWcFMrvb.js";import{t as K}from"./createLucideIcon-BHp8sXmF.js";import{n as ke,r as Ae,t as je}from"./run-header-68WHf9wV.js";import{t as Me}from"./status-dot-CqTJHSP9.js";import{a as Ne,s as Pe}from"./popover-BohP6WTx.js";import{A as Fe,D as Ie,E as Le,L as Re,M as ze,O as Be,_ as Ve,j as He,v as Ue,y as We}from"./prompt-templates-Cubdut_C.js";import{d as Ge,o as Ke,u as qe}from"./preview-state-vuMviq6q.js";import{f as q,l as Je,r as J}from"./format-DpNe3S0A.js";import{n as Ye}from"./tab-link-B07Hu4QX.js";import{t as Xe}from"./search-x-I9Q8pgUa.js";import{t as Ze}from"./square-terminal-B6RYYieR.js";import{n as Qe,t as $e}from"./agent-accounts-CFOBMVHc.js";import{t as et}from"./textarea-D20O4Pw0.js";import{$ as tt,A as nt,B as rt,Bt as it,F as at,H as ot,Ht as st,I as ct,L as lt,P as ut,Pt as dt,Q as ft,R as pt,St as mt,V as ht,Xt as gt,Y as _t,Z as vt,at as yt,nt as bt,ot as xt,rt as St,z as Ct,zt as wt}from"./index-DgWWlOLy.js";import{t as Tt}from"./lib-BQXq3kEf.js";import{t as Et}from"./zoomable-image-BJJ64KGc.js";import{t as Dt}from"./run-diff-BpkUW37Z.js";var Ot=K(`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`}]]),kt=K(`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`}]]),At=K(`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`}]]),jt=K(`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`}]]),Mt=K(`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`}]]),Y=e(t(),1),X=n();function Nt({run:e}){let t=M(),n=G({mutationFn:()=>E(e.id),onSuccess:()=>{t.invalidateQueries({queryKey:W.runs.detail(e.id)}),t.invalidateQueries({queryKey:W.runs.list()}),y(`This task will not resume itself`)},onError:e=>y(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 a=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(r);return(0,X.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,X.jsx)(Me,{tone:`neutral`,shape:`ring`}),(0,X.jsxs)(`span`,{children:[`Usage limit reached — this task resumes automatically at`,` `,(0,X.jsx)(`time`,{dateTime:e.autoResumeAt,className:`font-medium text-foreground`,children:a})]}),(0,X.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,X.jsx)(i,{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 Pt=e=>e.kind===`tool`,Ft=e=>e.kind===`conversation`,It=e=>(e.toolKind===`read`||e.toolKind===`search`)&&e.status===`completed`,Lt=(e,t,n)=>`${e} ${e===1?t:n}`;function Rt(e,t){let n=[];return e>0&&n.push(Lt(e,`file`,`files`)),t>0&&n.push(Lt(t,`search`,`searches`)),`Explored ${n.join(` · `)}`}function zt(e){return`${e} earlier tool call${e===1?``:`s`}`}var Bt=[`Web search`,`Ran`,`Edit`,`Write`,`Read`,`Search`,`Fetch`,`Task:`];function Vt(e){for(let t of Bt)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 Ht(e){let t=e.filter(e=>!(e.kind===`tool`&&e.toolKind===`plan`)&&!(e.kind===`reasoning`&&e.text.trim()===``)),n=new Set(t.filter(Pt).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:Rt(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 Ut(c).batches)a.push({kind:`worker-conversation`,id:`worker:${e.messages[0].id}`,batches:[e]});c=[]}};for(let e of i){if(Ft(e)){s(),c.push(e);continue}l(),Pt(e)&&It(e)&&!r.has(e.id)?o.push(e):(s(),Pt(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 Ut(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 Wt=new Map,Gt=(0,Y.createContext)(null);function Kt(){return(0,Y.useContext)(Gt)}function qt({runId:e,children:t}){let n=(0,Y.useMemo)(()=>({get:t=>Wt.get(e)?.get(t),set:(t,n)=>{let r=Wt.get(e)??new Map;r.set(t,n),Wt.set(e,r)}}),[e]);return(0,X.jsx)(Gt.Provider,{value:n,children:t})}var Jt=(0,Y.createContext)({targets:new Map,replies:new Map,navigate:()=>{}});function Yt(e){return e.scrollTop<Math.max(600,e.clientHeight)}function Xt(e,t){let n=t.find(({bottom:t})=>t>e);return n===void 0?void 0:{key:n.key,offset:n.top-e}}function Zt(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 Qt(e,t=24){return e.scrollHeight-e.scrollTop-e.clientHeight<t}function $t(e,t){let n=new URLSearchParams(e).get(`thread`);return n===`flat`||n===`virtual`?n:t>300?`virtual`:`flat`}var en=new Map;function tn(e,t){en.set(e,t)}function nn(e){return en.get(e)}var rn=new Map;function an(e,t){rn.set(e,{...t,...t.rowKeys?{rowKeys:[...t.rowKeys]}:{}})}function on(e){return rn.get(e)}function sn(e,t,n){let r=rn.get(e);if(!r||r.rows!==t)return;let i=r.rowKeys;if(!(n&&i&&(n.length!==t||i.length!==t||!n.every((e,t)=>e===i[t]))))return r.cache}var cn=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}),ln=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`medium`}),un=new Intl.DateTimeFormat(void 0,{weekday:`short`,month:`short`,day:`numeric`}),dn=new Intl.DateTimeFormat(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`}),fn=new Intl.DateTimeFormat(void 0,{dateStyle:`full`});function Z(e){if(typeof e!=`string`||e===``)return;let t=new Date(e);return Number.isFinite(t.getTime())?t:void 0}function pn(e){let t=Z(e);return t===void 0?void 0:cn.format(t)}function mn(e){let t=Z(e);return t===void 0?void 0:ln.format(t)}var hn=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;function gn(e){let t=Z(e);return t===void 0?void 0:hn(t)}function _n(e,t=new Date){let n=Z(e);if(n===void 0)return;let r=hn(n);return r===hn(t)?`Today`:r===hn(new Date(t.getFullYear(),t.getMonth(),t.getDate()-1))?`Yesterday`:(n.getFullYear()===t.getFullYear()?un:dn).format(n)}function vn(e,t){let n=Z(e),r=Z(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 yn({ts:e}){let t=pn(e);return t===void 0?null:(0,X.jsx)(`time`,{"data-slot":`message-time`,dateTime:e,title:mn(e),className:`text-[11px] leading-none text-soft-foreground`,children:t})}function bn({startedAt:e,completedAt:t}){let n=pn(t);if(n===void 0)return null;let r=vn(e,t);return(0,X.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,X.jsx)(`time`,{dateTime:t,title:mn(t),children:n}),r===void 0?null:(0,X.jsxs)(`span`,{title:`Replied in ${r}`,children:[`· `,r]})]})}function xn({ts:e}){let t=_n(e),n=Z(e);if(t===void 0||n===void 0)return null;let r=fn.format(n);return(0,X.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,X.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),(0,X.jsx)(`time`,{dateTime:gn(e),title:r,children:t}),(0,X.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]})}function Sn(e,t){let n={};for(let e of t??[])n[e.id]=e.currentStepBackend??e.runner;return n[e.id]=e.steps.find(t=>t.id===e.currentStepId)?.backend??e.runner,n}function Cn(e,t,n=[]){let r={};for(let e of n)r[e.id]=H(e);for(let e of t??[])r[e.id]=H(e);return r[e.id]=H(e),r}function Q(e,t){return t?.[e]??`Task`}function wn(e,t){return e.senderRunId===t?`outbound`:`inbound`}function Tn(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 En(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 Dn(e){if(e.outcome)return En(e.outcome.status);if(e.delivery===`not-delivered`)return On(`not-delivered`)}function On(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 kn={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:`text-[15px] md:text-[14px]`}};function An({role:e,children:t,className:n,ts:r,...i}){let a=kn[e];return(0,X.jsxs)(`article`,{...i,"data-role":e,"aria-label":a.speaker,className:V(`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,X.jsxs)(`p`,{className:V(`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,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(Ye,{"aria-hidden":`true`,className:`size-4 shrink-0`}),a.label]}),r!==void 0&&pn(r)!==void 0?(0,X.jsx)(`span`,{className:`shrink-0 font-normal tracking-normal normal-case`,children:(0,X.jsx)(yn,{ts:r})}):null]}),(0,X.jsx)(`div`,{className:V(`min-w-0 break-words text-[14px] text-foreground select-text [overflow-wrap:anywhere]`,a.body,`leading-[1.6]`),children:t})]})}function jn({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,Y.useState)(!1),[d,f]=(0,Y.useState)(e),[p,m]=(0,Y.useState)(!1),[h,_]=(0,Y.useState)(),v=()=>{f(e),_(void 0),u(!0)},y=async()=>{let t=d.trim();if(!t||t===e){u(!1);return}m(!0),_(void 0);try{await i?.(t),u(!1)}catch(e){_(e instanceof Error?e.message:`Could not save the message`)}finally{m(!1)}},b=async()=>{m(!0),_(void 0);try{await a?.()}catch(e){_(e instanceof Error?e.message:`Could not remove the message`)}finally{m(!1)}};return l?(0,X.jsxs)(An,{role:`user`,ts:r,"data-slot":`user-bubble`,"data-editing":`true`,children:[(0,X.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,X.jsxs)(`span`,{className:`mt-1.5 flex justify-end gap-1.5`,children:[(0,X.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,X.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,X.jsx)(q,{className:`size-3.5 animate-spin`}):`Save`})]}),h?(0,X.jsx)(`p`,{role:`alert`,className:`mt-1.5 text-xs text-danger`,children:h}):null]}):(0,X.jsxs)(An,{role:`user`,ts:r,"data-slot":`user-bubble`,className:`group`,children:[i||a?(0,X.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,X.jsx)(`button`,{type:`button`,"aria-label":o,onClick:v,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,X.jsx)(Mt,{className:`size-3.5`})}):null,a?(0,X.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,X.jsx)(g,{className:`size-3.5`})}):null]}):null,h?(0,X.jsx)(`p`,{role:`alert`,className:`mb-1 text-xs text-danger`,children:h}):null,(0,X.jsx)(dt,{breaks:!0,children:e}),n.length>0?(0,X.jsx)(`span`,{"data-slot":`user-images`,className:`mt-2 flex flex-wrap items-center justify-end gap-1.5`,children:n.map(e=>R(e.split(`/`).pop()??``)?(0,X.jsx)(Et,{src:e,alt:`attached`,className:`max-h-40 max-w-[220px] rounded-md border border-border object-contain`},e):(0,X.jsxs)(`a`,{href:z(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,X.jsx)(F,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.split(`/`).pop()})]},e))}):null,c>0?(0,X.jsxs)(`span`,{className:`mt-1 block text-xs text-soft-foreground`,children:[c,` image`,c>1?`s`:``,` attached`]}):null]})}var Mn=`inline-flex h-11 min-w-11 items-center justify-center gap-1 rounded-sm px-2 text-xs font-medium 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`,Nn=[`[data-streamdown="code-block-actions"]`,`[data-streamdown="code-copy-button"]`,`[data-streamdown="code-block-copy-button"]`,`[data-streamdown="code-block-header"]`].join(`,`);function Pn(e){let t="`".repeat(3),n=`~`.repeat(3);return e.split(t).filter((e,t)=>t%2==0).join(` `).split(n).filter((e,t)=>t%2==0).join(` `).split("`").filter((e,t)=>t%2==0).join(` `)}function Fn(e){return e.replace(/!\[[^\]]*\]\([^)\s]*(?:\s+"[^"]*")?\)/g,` `)}function In(e){return e.replace(/\*\*/g,``).replace(/\*/g,``).replace(/__/g,``).replace(/~~/g,``).split("`").join(``)}function Ln(e){let t=e.trim();return t===``||t.startsWith(`#`)||/^(https?:|mailto:)/i.test(t)?!0:!/^[a-z][a-z0-9+.-]*:/i.test(t)}function Rn(e){let t=Pn(Fn(e)),n=new Map;for(let e of t.matchAll(/^\s*\[([^\]]+)\]:\s*(\S+)/gm))Ln(e[2])&&n.set(e[1].toLowerCase(),e[2]);let r=t.replace(/^\s*\[[^\]]+\]:\s*\S+.*$/gm,` `),i=[];for(let e of r.matchAll(/(?<!!)\[([^\]]+)\](?:\(((?:[^()\s]|\([^)]*\))+)(?:\s+"[^"]*")?\)|\[([^\]]*)\])|<(https?:\/\/[^>\s]+)>|(https?:\/\/[^\s<]+)/g)){if(e[2]){Ln(e[2])&&i.push({label:In(e[1]),href:e[2]});continue}if(e[1]!==void 0&&e[3]!==void 0){let t=(e[3].length>0?e[3]:e[1]).toLowerCase(),r=n.get(t);r&&i.push({label:In(e[1]),href:r});continue}let t=(e[4]??e[5])?.replace(/[.,;:!?]+$/,``);t&&Ln(t)&&i.push({label:t,href:t})}return i}function zn(e,t){let n=e.cloneNode(!0);n.querySelectorAll(Nn).forEach(e=>e.remove());let r=Rn(t);return[...n.querySelectorAll(`button[data-streamdown="link"]`)].forEach(e=>{let t=e.textContent??``,i=r.findIndex(e=>e.label===t);if(i<0)return;let a=r.splice(i,1)[0];if(!a||!Ln(a.href))return;let o=n.ownerDocument.createElement(`a`);o.setAttribute(`href`,a.href),o.setAttribute(`data-streamdown`,`link`),o.textContent=e.textContent,e.replaceWith(o)}),n.innerHTML}async function Bn(e,t,n){if(e===`markdown`){if(!navigator.clipboard?.writeText)throw Error(`Clipboard unavailable`);await navigator.clipboard.writeText(t);return}if(!navigator.clipboard?.write||typeof ClipboardItem>`u`||!n)throw Error(`Clipboard unavailable`);let r=zn(n,t);await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([r],{type:`text/html`}),"text/plain":new Blob([t],{type:`text/plain`})})])}function Vn({text:e,ts:t}){let n=(0,Y.useRef)(null),[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(null),s=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]);let c=async t=>{s.current!==null&&clearTimeout(s.current),i(null),o(null);try{await Bn(t,e,n.current),i(t),s.current=setTimeout(()=>i(null),2e3)}catch{o(`Couldn't copy to the clipboard`)}};return(0,X.jsxs)(An,{role:`agent`,ts:t,"data-slot":`assistant-message`,className:`group`,children:[(0,X.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 no-hover:opacity-100`,children:[(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Copy reply`,onClick:()=>void c(`html`),className:Mn,children:[(0,X.jsx)(x,{className:`size-3.5`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{"aria-live":`polite`,children:r===`html`?`Copied`:`Copy`})]}),(0,X.jsxs)(`button`,{type:`button`,"aria-label":`Copy reply as markdown`,onClick:()=>void c(`markdown`),className:Mn,children:[(0,X.jsx)(Ge,{className:`size-3.5`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{"aria-live":`polite`,children:r===`markdown`?`Copied`:`Copy markdown`})]})]}),a?(0,X.jsx)(`p`,{role:`alert`,className:`mb-1 text-xs text-danger`,children:a}):null,(0,X.jsx)(`div`,{ref:n,children:(0,X.jsx)(dt,{breaks:!0,children:e})})]})}var Hn={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`}},Un=`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 Wn({block:e,runId:t,taskTitles:n,recipientBackends:r}){return(0,X.jsx)(`div`,{"data-slot":`worker-conversation`,className:`flex min-w-0 flex-col gap-2`,children:e.batches.map(e=>(0,X.jsx)(Gn,{batch:e,runId:t,taskTitles:n,recipientBackends:r},e.id))})}function Gn({batch:e,runId:t,taskTitles:n,recipientBackends:r}){let i=wn(e.messages[0]??{senderRunId:e.senderRunId},t),a=Hn[i],o=Yn(e.messages.map(e=>i===`outbound`?e.recipientRunId:e.senderRunId)),s=i===`outbound`?`SENT to`:`RECEIVED from`,c=`${s} ${o.map(e=>Q(e,n)).join(`, `)}`,l=e.messages[0],u=l?.createdAt??l?.recordedAt,d=l?Dn(l):void 0;return(0,X.jsxs)(`article`,{"data-slot":`worker-conversation-card`,"data-direction":i,"data-kind":e.kind,className:V(`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,X.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-start gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,X.jsxs)(`p`,{className:V(`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,X.jsx)(`span`,{children:s}),o.map((e,t)=>(0,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-x-2 normal-case tracking-normal`,children:[t>0?(0,X.jsx)(`span`,{"aria-hidden":!0,children:`,`}):null,(0,X.jsx)(J,{className:Un,to:`/tasks/${e}`,"aria-label":`${s} ${Q(e,n)}`,children:Q(e,n)})]},e))]}),(0,X.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:Tn(e.kind)}),e.messages.length===1&&d?(0,X.jsx)(`span`,{"data-slot":`conversation-outcome`,className:`text-xs font-medium text-muted-foreground`,children:d}):null]}),u!==void 0&&pn(u)!==void 0?(0,X.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,X.jsx)(yn,{ts:u})]}):null]}),(0,X.jsx)(`div`,{className:`min-w-0 break-words text-[14px] leading-[1.6] text-foreground select-text [overflow-wrap:anywhere]`,children:(0,X.jsx)(dt,{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,X.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,X.jsx)(`ul`,{className:`grid min-w-0 gap-1 text-xs text-muted-foreground`,children:e.messages.map(e=>{let r=Dn(e),i=e.createdAt??e.recordedAt;return(0,X.jsxs)(`li`,{className:`flex min-h-11 min-w-0 flex-wrap items-center gap-2`,children:[(0,X.jsx)(J,{className:Un,to:`/tasks/${e.recipientRunId}`,"aria-label":`${Q(e.recipientRunId,n)}${r?` — ${r}`:``}`,children:Q(e.recipientRunId,n)}),r?(0,X.jsx)(`span`,{"data-slot":`conversation-outcome`,children:r}):null,(0,X.jsx)(Kn,{message:e,runId:t,taskTitles:n}),i!==void 0&&pn(i)!==void 0?(0,X.jsx)(`span`,{className:`ml-auto whitespace-nowrap`,children:(0,X.jsx)(yn,{ts:i})}):null]},e.id)})}):null,e.messages.length===1&&l?(0,X.jsx)(Kn,{message:l,runId:t,taskTitles:n}):null,(0,X.jsx)(qn,{batch:e,heading:c})]})}function Kn({message:e,runId:t,taskTitles:n}){let{targets:r,replies:i,navigate:a}=(0,Y.useContext)(Jt),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,X.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=wn(e.message,t)===`outbound`,i=r?e.message.recipientRunId:e.message.senderRunId;return(0,X.jsxs)(`button`,{type:`button`,"data-slot":`conversation-connector`,className:V(Un,`w-fit gap-1.5 text-xs text-muted-foreground`),onClick:()=>a(e),children:[(0,X.jsx)(`span`,{"aria-hidden":!0,children:`↗`}),`View `,c,` `,r?`to`:`from`,` `,Q(i,n)]},e.message.messageId)})}function qn({batch:e,heading:t}){return(0,X.jsxs)(rt,{"data-slot":`conversation-details`,className:`group/details`,children:[(0,X.jsxs)(ot,{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,X.jsx)(l,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]/details:rotate-90`}),`Details`]}),(0,X.jsx)(ht,{children:(0,X.jsxs)(`dl`,{className:`grid min-w-0 gap-1 break-all px-2 pb-1 font-mono text-[11px] text-muted-foreground`,children:[(0,X.jsx)(`div`,{className:`sr-only`,children:t}),e.messages.flatMap(e=>Jn(e)).map((e,t)=>(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`dt`,{className:`inline font-sans font-medium text-soft-foreground`,children:[e.label,`: `]}),(0,X.jsx)(`dd`,{className:`inline`,children:e.value})]},`${e.label}:${e.value}:${t}`))]})})]})}function Jn(e){let t=[{label:`Message`,value:e.messageId},{label:`Sender`,value:e.senderRunId},{label:`Recipient`,value:e.recipientRunId},{label:`Delivery`,value:On(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 Yn(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function Xn({note:e}){return e.icon===`handoff`?(0,X.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,X.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,X.jsx)(gt,{className:`size-3`})}),(0,X.jsx)(`span`,{className:`min-w-0 break-words`,children:e.text})]}):(0,X.jsxs)(`div`,{"data-slot":`note-line`,"data-tone":e.tone,className:V(`px-0.5 text-xs`,e.tone===`danger`?`text-danger [.light_&]:text-red-700`:`text-soft-foreground`),children:[e.tone===`danger`?`✗ `:`· `,e.text]})}var Zn={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`,cursor:`Cursor`,omp:`OMP`};function Qn({incident:e}){let t=Zn[e.provider];return(0,X.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,X.jsxs)(`p`,{className:`text-[13px] font-semibold text-foreground`,children:[`This run needed `,t,` authorization`]}),(0,X.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[`Review `,t,` settings before retrying.`]}),(0,X.jsx)(J,{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 $n({text:e}){let t=(0,Y.useId)();if(e.trim()===``)return null;let n=e.split(`
2
+ `,1)[0]??``,r=n.length<e.length;return(0,X.jsxs)(rt,{"data-slot":`reasoning`,className:`group/reasoning min-w-0`,children:[(0,X.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,X.jsx)(l,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]/reasoning:rotate-90`}),(0,X.jsx)(`span`,{className:`shrink-0`,children:`Thinking — `}),(0,X.jsx)(`div`,{className:`min-w-0 truncate text-muted-foreground`,children:(0,X.jsx)(dt,{inline:!0,children:n})}),r?(0,X.jsx)(`span`,{"aria-hidden":!0,children:`…`}):null,(0,X.jsx)(ot,{"aria-labelledby":t,className:`absolute inset-0 rounded-md focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`})]}),(0,X.jsx)(ht,{children:(0,X.jsx)(`div`,{className:`px-6 py-1.5 text-[13px] leading-[1.6] text-soft-foreground`,children:(0,X.jsx)(dt,{children:e})})})]})}function er(){return(0,X.jsxs)(`div`,{"data-slot":`working-indicator`,className:`flex items-center gap-2 py-1 text-[13px] text-soft-foreground`,children:[(0,X.jsx)(q,{role:`status`,"aria-label":`Working`,className:`size-3.5 shrink-0 animate-spin`}),(0,X.jsx)(`span`,{className:`shimmer font-medium`,children:`Working…`})]})}var tr={read:Ge,edit:Mt,delete:g,move:At,search:s,execute:Ze,think:Ot,fetch:qe,task:p,plan:O,other:L},nr=e=>e.split(`
3
+ `).length;function rr({text:e,streaming:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null),a=(0,Y.useRef)(!0);(0,Y.useEffect)(()=>{let e=i.current;t&&e&&a.current&&(e.scrollTop=e.scrollHeight)},[e,t]);let o=nr(e),s=!t&&!n&&o>12;return(0,X.jsxs)(`div`,{"data-slot":`tool-output`,"data-clamped":s?`true`:void 0,children:[(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(`div`,{ref:i,onScroll:t?e=>{a.current=Qt(e.currentTarget)}:void 0,className:V(`overflow-x-auto`,t&&`max-h-[216px] overflow-y-auto`,s&&`max-h-[216px] overflow-y-hidden`),children:(0,X.jsx)(`pre`,{className:`px-4 py-3 font-mono text-xs leading-[1.7] whitespace-pre text-muted-foreground`,children:e})}),s?(0,X.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,X.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 ir({diffs:e}){return(0,X.jsx)(X.Fragment,{children:e.map((e,t)=>(0,X.jsxs)(`div`,{"data-slot":`diff-preview`,className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`border-b border-border/50 px-4 py-1.5 font-mono text-[11px] text-soft-foreground`,children:e.path}),(0,X.jsx)(`pre`,{className:`overflow-x-auto py-2 font-mono text-xs leading-[1.7] whitespace-pre`,children:e.unified===void 0?[...ar(e.oldText).map((e,t)=>(0,X.jsxs)(`span`,{className:`block bg-diff-del px-4 text-muted-foreground`,children:[`- `,e]},`old-${t}`)),...ar(e.newText).map((e,t)=>(0,X.jsxs)(`span`,{className:`block bg-diff-add px-4`,children:[`+ `,e]},`new-${t}`))]:e.unified.split(`
4
+ `).map((e,t)=>(0,X.jsx)(or,{text:e},t))})]},`${e.path}:${t}`))})}function ar(e){return e==null||e===``?[]:e.replace(/\n$/,``).split(`
5
+ `)}function or({text:e}){return(0,X.jsx)(`span`,{className:V(`block px-4`,e.startsWith(`+`)&&`bg-diff-add`,e.startsWith(`-`)&&`bg-diff-del text-muted-foreground`,e.startsWith(`@@`)&&`text-soft-foreground`),children:e})}function sr(e){return e.toolKind===`execute`&&e.status===`running`&&e.output!==void 0}function cr({item:e,nested:t=[],cacheKey:n,renderNested:r}){let i=Kt(),[a,o]=(0,Y.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`,u=Vt(e.title),{verb:d,detail:f}=e.toolKind===`execute`&&u.detail===void 0?{verb:`Ran`,detail:e.title}:u,p=e.output!==void 0&&e.output!==``||e.error!==void 0&&e.error!==``||e.diffs!==void 0&&e.diffs.length>0||t.length>0,m=f!==void 0||p,h=m&&(a??(p&&sr(e))),g=tr[e.toolKind]??L;return(0,X.jsxs)(rt,{"data-slot":`tool-card`,"data-status":e.status,"data-kind":e.toolKind,open:h,onOpenChange:s,className:V(`min-w-0 overflow-hidden rounded-md border bg-card`,e.status===`failed`?`border-danger/25`:`border-border`),children:[(0,X.jsxs)(ot,{disabled:!m,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,X.jsx)(l,{"aria-hidden":!0,className:V(`size-3 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`,!m&&`invisible`)}),(0,X.jsx)(g,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,X.jsx)(`span`,{className:V(`shrink-0 font-semibold`,c&&`shimmer`,e.status===`declined`&&`text-muted-foreground`),children:d}),f===void 0?null:(0,X.jsx)(`code`,{title:f,className:`block min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground`,children:f}),(0,X.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2 pl-2`,children:[c?(0,X.jsx)(q,{role:`status`,"aria-label":`Running`,className:`size-3.5 animate-spin text-soft-foreground`}):null,e.status===`failed`?(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`failed`}):null,e.status===`declined`?(0,X.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`declined`}):null,e.toolKind===`execute`&&typeof e.exitCode==`number`?(0,X.jsx)(`span`,{"data-slot":`tool-exit`,className:V(`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,X.jsx)(ht,{children:(0,X.jsxs)(`div`,{className:`border-t border-border bg-card-2`,children:[f===void 0?null:(0,X.jsx)(`pre`,{"data-slot":`tool-command`,className:`px-3 py-2 font-mono text-xs whitespace-pre-wrap break-words [overflow-wrap:anywhere]`,children:f}),e.error!==void 0&&e.error!==``?(0,X.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,X.jsx)(ir,{diffs:e.diffs}):null,e.output!==void 0&&e.output!==``?(0,X.jsx)(rr,{text:e.output,streaming:c}):null,t.length>0?(0,X.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 lr({group:e,scope:t}){return(0,X.jsxs)(rt,{"data-slot":`ctx-group`,className:`min-w-0`,children:[(0,X.jsxs)(ot,{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,X.jsx)(l,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground transition-transform group-data-[state=open]:rotate-90`}),e.label]}),(0,X.jsx)(ht,{children:(0,X.jsx)(`div`,{className:`flex flex-col gap-1.5 pt-1.5 pl-4`,children:e.tools.map(e=>(0,X.jsx)(cr,{item:e,cacheKey:t===void 0?void 0:`${t}:${e.id}`},e.id))})})]})}function ur({count:e,children:t}){return(0,X.jsxs)(rt,{"data-slot":`tool-streak`,className:`min-w-0`,children:[(0,X.jsxs)(ot,{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,X.jsx)(l,{"aria-hidden":!0,className:`size-3.5 shrink-0 transition-transform group-data-[state=open]:rotate-90`}),zt(e)]}),(0,X.jsx)(ht,{children:(0,X.jsx)(`div`,{className:`flex flex-col gap-2 pt-2`,children:t})})]})}function dr({image:e}){return(0,X.jsx)(Et,{"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 fr(e,t=null){let n=ve(),r=ge(),i=tt(e),a=i&&!e.runner,o=_(n.data),s=e.runner??(i?r.data?.defaultRunner:void 0)??`claude`,c=ze(t,o,s),l=o.includes(s),u=(i?B(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 pr(e){let t=M(),n=yt(e).continueRun,r=ge(),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(null),[p,h]=(0,Y.useState)(e.id);p!==e.id&&(h(e.id),a(null),s(null),l(null),f(null));let g=fr(e,i),{runners:_,canContinue:v,currentRunner:y,runner:b}=g,x=ce(b,n),S=r.data?.modelsLocked===!0,T=b!==y,E=!S&&!T&&e.model?{...r.data?.defaultModels,[b]:e.model}:r.data?.defaultModels,O=S?null:o,k=Be(b,x.data,[O,E?.[b]]),A=He(O,b,E,x.data),j=Le(b,A,x.data),N=S?``:c??e.effort??``,P=Fe(N,j),F=!S&&c===null&&N!==``&&P===``,{accounts:I,repoAccount:L}=Qe(),R=[...e.steps].reverse().find(e=>e.sessionId),ee=R?.profileId??e.agentProfile??`default`,z=T?L:{...L,[y]:ee},B=I.some(e=>e.provider===b&&e.id===d)?d:null,te=G({mutationFn:({text:t,images:n})=>v?w(e.id,{text:t.trim()?t:void 0,images:n.length?n:void 0,runner:g.runnerOverride,model:!S&&(o!==null||T)?A:void 0,effort:!S&&(c!==null||T)?P:F?``:void 0,agentProfile:B??void 0}):Promise.reject(Error(g.reason??`Connect an agent provider to continue.`)),onSuccess:()=>t.invalidateQueries({queryKey:W.runs.all}),onError:e=>{e instanceof u&&e.status===409&&t.invalidateQueries({queryKey:W.runs.all})}});return{available:n,canContinue:v,startsNewConversation:!!R&&(b!==(R.backend??y)||(B??e.agentProfile??R.profileId??`default`)!==(R.profileId??`default`)),reason:g.reason,providerPending:g.providerPending,pills:(0,X.jsx)(`div`,{"data-slot":`follow-up-engine`,className:`session-engine-controls`,children:(0,X.jsxs)(Ue,{children:[_.length>1||_.some(e=>$e(I,e))?(0,X.jsx)(We,{icon:(0,X.jsx)(m,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,runners:_,value:b,accounts:I,account:B,repoAccount:z,onPick:(e,t)=>{f(t),e!==b&&(a(e),s(null))}}):(0,X.jsx)(Ve,{icon:(0,X.jsx)(m,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,readOnly:!0,slot:`session-runner-value`,ariaLabel:`Runner`,label:b,value:b,onPick:()=>{},options:[{value:b,label:b}]}),(0,X.jsx)(Ve,{icon:(0,X.jsx)(C,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`follow-up-model-pill`,ariaLabel:`Model`,label:k.find(e=>e.id===A)?.label??`auto`,value:A,readOnly:S,disabledHint:`Model selection is locked to native coding-agent settings.`,onPick:e=>{s(e);let t=Le(b,e,x.data);P!==``&&Fe(P,t)===``&&l(``)},options:k.map(e=>({value:e.id,label:e.label,desc:e.desc})),status:Ie(b,x.data,x.isError,x.isFetching)}),(0,X.jsx)(Ve,{icon:(0,X.jsx)(D,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`follow-up-effort-pill`,ariaLabel:`Effort`,label:j.find(e=>e.value===P)?.label??`auto`,value:P,readOnly:S,disabledHint:`Effort selection is locked to native coding-agent settings.`,onPick:e=>l(e),options:j.map(e=>({value:e.value,label:e.label,desc:e.desc}))})]})}),continueWith:(e,t)=>te.mutateAsync({text:e,images:t})}}var mr=120,hr=e=>e!==`pending`&&e!==`running`,gr=e=>e.kind===`tool`&&e.toolKind===`task`,$=e=>gr(e)&&e.parentItemId===void 0,_r=e=>(e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`)&&!(e.kind===`tool`&&e.toolKind===`plan`);function vr(e,t){for(let n=0;n<e.length;n+=1)if(e[n].items.some(e=>$(e)&&t.has(e.id)))return n;return 0}function yr(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 br(e){if(e.kind===`tool`)return xr(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 xr(n)}}}function xr(e){return e.length>mr?`${e.slice(0,mr-1).trimEnd()}…`:e}function Sr(e,t=!1){let n=Er(e,e=>e.items.some($));if(n===-1)return[];let r=e=>!t&&!hr(e.status),i=[];for(let t=n-1;t>=0;--t){let n=e[t].items.filter($);if(n.length!==0){if(!n.some(r))break;i.unshift(...n)}}let a=[...i,...e[n].items.filter($)];if(n!==e.length-1&&!a.some(r))return[];let o=new Set(a.map(e=>e.id)),s=i.length>0?vr(e,o):n,c=new Map;for(let t=s;t<e.length;t+=1)for(let n of e[t].items){if(!_r(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=>Cr(e,c.get(e.id)??[],t))}function Cr(e,t,n){let r={id:e.id,title:Vt(e.title).detail??e.title,status:e.status,toolCalls:t.filter(e=>e.kind===`tool`).length},i=yr(e);i!==void 0&&(r.agentType=i),n&&!hr(e.status)&&(r.stalled=!0);for(let e=t.length-1;e>=0;--e){let n=br(t[e]);if(n!==void 0){r.activity=n;break}}return r}function wr(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.length}}function Tr(e){return e.activity??(e.stalled===!0?`never finished`:`starting…`)}function Er(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function Dr(e,t,n=!1){for(let r=e.length-1;r>=0;--r){let i=e[r].items.find(e=>e.id===t&&$(e));if(i!==void 0)return Cr(i,Or(e,t),n)}}function Or(e,t){let n=e.findIndex(e=>e.items.some(e=>e.id===t&&$(e)));if(n===-1)return[];let r=[];for(let i=n;i<e.length;i+=1)for(let n of e[i].items)_r(n)&&n.parentItemId===t&&n.id!==t&&r.push(n);return r}function kr(e,t={}){let{surface:n=`document`,onLoadOlder:r,onJumpToLatest:i,rowKeys:a=[]}=t,o=(0,Y.useRef)(e);o.current=e;let s=(0,Y.useRef)(null),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!1),f=(0,Y.useRef)(!0),p=(0,Y.useRef)(0),m=(0,Y.useRef)(null),h=(0,Y.useRef)(null),g=(0,Y.useRef)(null),_=(0,Y.useRef)(null),v=(0,Y.useCallback)(e=>{let t=s.current;if(!t)return;let n=_.current;n?n.scrollTo(e):t.scrollTop=e},[]),y=(0,Y.useCallback)(()=>{let e=s.current;e&&v(e.scrollHeight-e.clientHeight)},[v]),b=(0,Y.useCallback)(()=>{if(s.current){if(g.current!==e){g.current=e;let t=nn(e);t&&!t.atBottom?(f.current=!1,m.current=t.top,h.current=on(e)?.rowKeys?{viewKey:e,top:t.top}:null):(f.current=!0,m.current=null,h.current=null)}m.current===null?f.current&&y():v(m.current)}},[e,v,y]),x=(0,Y.useCallback)(e=>h.current?.viewKey===e,[]),S=(0,Y.useCallback)(e=>{let t=h.current;return!t||!x(e)||e!==o.current?!1:(m.current=t.top,f.current=!1,h.current=null,!0)},[x]),C=(0,Y.useCallback)(e=>{l(e),e&&(s.current=e.closest(n===`panel`?`[data-slot="transcript-viewport"]`:`[data-slot="main"]`),b())},[n,b]),w=(0,Y.useCallback)(()=>{f.current&&y()},[y]),T=(0,Y.useRef)(!1),E=(0,Y.useRef)(0),D=(0,Y.useRef)(!1),O=(0,Y.useRef)(void 0),k=(0,Y.useRef)(!1),A=(0,Y.useRef)(!1),j=(0,Y.useRef)(a);j.current=a;let M=(0,Y.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}}),[]),N=(0,Y.useRef)(null),P=(0,Y.useRef)(0);(0,Y.useEffect)(()=>{if(!ye())return;let e=e=>{m.current=null,h.current=null,P.current+=1,N.current=null,f.current=!1,v(e)};return window.__cezThreadScrollTo=e,()=>{window.__cezThreadScrollTo===e&&delete window.__cezThreadScrollTo}},[v]);let F=(0,Y.useCallback)(()=>{let e=N.current,t=s.current;if(!e||!t)return;N.current=null;let n=e.beforeTop+Math.max(0,t.scrollHeight-e.beforeHeight),r=t.getBoundingClientRect().top,i=e.anchor===void 0?-1:j.current.indexOf(e.anchor.key),a=_.current;a&&i>=0?a.scrollToIndex(i,{align:`start`,offset:-e.anchor.offset}):v(Zt(t.scrollTop,r,e.anchor,M(t),n))},[M,v]),I=(0,Y.useCallback)(()=>{let e=s.current;if(!e||!r||T.current)return;m.current=null,h.current=null,f.current=!1,T.current=!0;let t=E.current+1;E.current=t;let n=e.scrollHeight,i=e.scrollTop,a=e.getBoundingClientRect().top,c=Xt(a,M(e)),l=c===void 0?-1:j.current.indexOf(c.key),u=o.current,d=P.current;r().then(()=>{o.current===u&&P.current===d&&(N.current={beforeHeight:n,beforeTop:i,anchor:c,anchorIndex:l})},()=>{}).finally(()=>{E.current===t&&(T.current=!1)})},[M,r]);(0,Y.useEffect)(()=>()=>clearTimeout(O.current),[]);let L=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>L.current?.disconnect(),[e,c]);let R=(0,Y.useCallback)((t,n)=>{let r=s.current;if(!r||!c)return;m.current=null,h.current=null,P.current+=1,N.current=null,f.current=!1,p.current=0,d(!0),L.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:(L.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()||(L.current=new MutationObserver(()=>{a()}),L.current.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`class`]})),tn(e,{top:r.scrollTop,atBottom:!1})},[c,v,e]),ee=(0,Y.useCallback)(()=>{L.current?.disconnect();let t=s.current;if(!t)return;m.current=null,h.current=null,P.current+=1,N.current=null,f.current=!0,tn(e,{top:t.scrollHeight-t.clientHeight,atBottom:!0});let n=()=>{f.current&&y()};(i?.()??Promise.resolve()).finally(()=>{requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})})},[i,e,y]),z=a.at(-1),B=a.length;return(0,Y.useLayoutEffect)(()=>{P.current+=1,N.current=null,T.current=!1},[e]),(0,Y.useLayoutEffect)(()=>{let e=N.current;e?(e.anchor===void 0?-1:j.current.indexOf(e.anchor.key))>e.anchorIndex?F():N.current=null:f.current&&y()},[z,B,F,y]),(0,Y.useLayoutEffect)(()=>{!s.current||!c||b()},[c,b]),(0,Y.useEffect)(()=>{let t=s.current,n=c;if(!t||!n)return;p.current=0;let r=null,i=!1,a=t.scrollTop,o=()=>{L.current?.disconnect(),m.current=null,h.current=null,P.current+=1,N.current=null,f.current=!1,p.current=0},l=()=>{m.current=null,h.current=null,P.current+=1,N.current=null,p.current=Date.now()},u=e=>{if(e.deltaY<0){o();let e=!D.current;D.current=!0,clearTimeout(O.current),O.current=setTimeout(()=>{D.current=!1},180),e&&Yt(t)&&I()}else l()},g=e=>{[`ArrowUp`,`PageUp`,`Home`].includes(e.key)?(o(),!e.repeat&&Yt(t)&&I()):[`ArrowDown`,`PageDown`,`End`].includes(e.key)&&l()},_=e=>{if(e.target!==t||e.button!==0||e.pointerType===`touch`||e.pointerType===`pen`||t.scrollHeight<=t.clientHeight)return;i=!0,A.current=!1,a=t.scrollTop;let n=t.getBoundingClientRect(),r=getComputedStyle(t),s=parseFloat(r.borderLeftWidth)||0,c=parseFloat(r.borderRightWidth)||0,u=n.left+t.clientLeft,d=u+t.clientWidth;!(e.clientX>=n.left+s&&e.clientX<u||e.clientX>=d&&e.clientX<n.right-c)||e.clientY<n.top+t.clientTop||e.clientY>=n.top+t.clientTop+t.clientHeight||(m.current=null,h.current=null,Qt(t,80)||(o(),l()))},b=()=>{i=!1},S=e=>{k.current=!1,r=e.touches[0]?.clientY??null},C=e=>{let n=e.touches[0]?.clientY;n!==void 0&&(r!==null&&n>r+1?(o(),!k.current&&Yt(t)&&(k.current=!0,I())):r!==null&&n<r-1&&l(),r=n)},w=()=>{i&&t.scrollTop!==a&&(t.scrollTop<a?o():l()),i&&!A.current&&t.scrollTop<a&&Yt(t)&&(A.current=!0,I()),a=t.scrollTop;let n=Qt(t,80);n&&m.current===null&&(f.current||Date.now()-p.current<2e3)&&(f.current=!0),d(!n),m.current===null&&!x(e)&&tn(e,{top:t.scrollTop,atBottom:n})};t.addEventListener(`scroll`,w,{passive:!0}),t.addEventListener(`wheel`,u,{passive:!0}),t.addEventListener(`touchstart`,S,{passive:!0}),t.addEventListener(`touchmove`,C,{passive:!0}),t.addEventListener(`pointerdown`,_,{passive:!0}),window.addEventListener(`pointerup`,b,{passive:!0}),window.addEventListener(`pointercancel`,b,{passive:!0}),t.addEventListener(`keydown`,g);let T;if(typeof ResizeObserver<`u`){T=new ResizeObserver(()=>{let e=m.current;if(e!==null){let n=t.scrollHeight-t.clientHeight;v(Math.min(e,n)),n>=e&&(m.current=null)}else f.current&&y()}),T.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&&T.observe(r),i&&T.observe(i)}return()=>{t.removeEventListener(`scroll`,w),t.removeEventListener(`wheel`,u),t.removeEventListener(`touchstart`,S),t.removeEventListener(`touchmove`,C),t.removeEventListener(`pointerdown`,_),window.removeEventListener(`pointerup`,b),window.removeEventListener(`pointercancel`,b),t.removeEventListener(`keydown`,g),T?.disconnect()}},[e,c,I,v,y,x]),{attachContent:C,scrollElRef:s,virtualizerRef:_,restoreMeasurements:S,ownsMeasurementRestore:x,pillVisible:u,jumpToLatest:ee,jumpToRow:R,loadOlder:I,restickIfStuck:w}}function Ar({runId:e,rows:t,mode:n,controls:r}){return n===`virtual`?(0,X.jsx)(jr,{runId:e,rows:t,controls:r}):(0,X.jsx)(`div`,{ref:r.attachContent,"data-slot":`thread-rows`,"data-virtualized":`false`,className:`[overflow-anchor:none]`,children:t.map(e=>(0,X.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 jr({runId:e,rows:t,controls:n}){return(0,X.jsx)(Mr,{runId:e,rows:t,controls:n},e)}function Mr({runId:e,rows:t,controls:n}){let r=(0,Y.useRef)(null),i=(0,Y.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,Y.useLayoutEffect)(()=>{i.current=t},[t]);let[c]=(0,Y.useState)(()=>on(e)),[l,u]=(0,Y.useState)(()=>({cache:sn(e,t.length,t.map(e=>e.key)),generation:0})),d=(0,Y.useRef)(l.cache===void 0&&c?.rowKeys?.length===c?.rows&&c!==void 0);(0,Y.useLayoutEffect)(()=>{let r=c?.rowKeys;if(!d.current){n.restoreMeasurements(e);return}if(!(!c||!r)){if(t.length>c.rows||t.some((e,t)=>e.key!==r[t])){d.current=!1,n.restoreMeasurements(e);return}t.length===c.rows&&(d.current=!1,n.restoreMeasurements(e)&&u({cache:c.cache,generation:1}))}},[c,t,n.restoreMeasurements,e]);let f=(0,Y.useRef)(t.length);f.current=t.length;let p=(0,Y.useRef)(t.map(e=>e.key));p.current=t.map(e=>e.key);let m=(0,Y.useRef)(null),h=(0,Y.useCallback)(t=>{n.virtualizerRef.current=t,t?m.current=t:m.current&&=(d.current&&c?.rowKeys&&f.current<c.rows&&n.ownsMeasurementRestore(e)||an(e,{rows:f.current,cache:m.current.cache,rowKeys:p.current}),null)},[e,n.virtualizerRef,n.ownsMeasurementRestore,c]),[g,_]=(0,Y.useState)(0);return(0,Y.useLayoutEffect)(()=>{let e=()=>{let e=r.current,t=n.scrollElRef.current;!e||!t||_(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,X.jsx)(`div`,{ref:e=>{r.current=e,n.attachContent(e)},"data-slot":`thread-rows`,"data-virtualized":`true`,className:`[overflow-anchor:none]`,children:(0,X.jsx)(Tt,{ref:h,scrollRef:n.scrollElRef,startMargin:g,shift:s,...l.cache===void 0?{}:{cache:l.cache},children:t.map(e=>(0,X.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))},l.generation)})}function Nr({onJump:e}){return(0,X.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,X.jsx)(c,{"aria-hidden":!0,className:`size-3.5`}),`Jump to latest`]})}function Pr(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 Fr(e,t){return[{id:`agent:${e}`,entries:t}]}function Ir(e){if(e.inDaySequence!==!1)return e.userMessage?.ts??e.startedAt??e.completedAt}function Lr(e,t){let n=[],r;for(let t of e){let e=Ir(t),i=gn(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 Ht([...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 Rr({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,Y.useMemo)(()=>Lr(n,e),[n,e]),f=kr(`${e}:${t}`,{surface:r}),p=s??f,m=(0,Y.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,Y.useMemo)(()=>d.map(t=>({key:t.key,node:zr(t,o?.[t.key],a,e,l,u)})),[o,a,d,e,l,u]),g=c??$t(``,h.length),_=h.length===0?i??null:(0,X.jsx)(Ar,{runId:`${e}:${t}`,rows:h,mode:g,controls:p});return(0,X.jsx)(ke,{runId:e,children:(0,X.jsx)(qt,{runId:e,children:(0,X.jsx)(Jt.Provider,{value:m,children:r===`panel`?(0,X.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,X.jsx)(`div`,{"data-slot":`subagent-stream`,className:`flex flex-col px-5 py-4`,children:_}),p.pillVisible?(0,X.jsx)(`div`,{className:`pointer-events-none sticky inset-x-0 bottom-4 flex justify-center`,children:(0,X.jsx)(Nr,{onJump:p.jumpToLatest})}):null]}):_})})})}function zr(e,t,n,r,i,a){switch(e.content.kind){case`user-message`:return(0,X.jsx)(Br,{message:e.content.message,actions:t});case`day-separator`:return(0,X.jsx)(xn,{ts:e.content.ts});case`turn-time`:return(0,X.jsx)(bn,{completedAt:e.content.completedAt,...e.content.startedAt===void 0?{}:{startedAt:e.content.startedAt}});case`block`:return(0,X.jsx)(Vr,{block:e.content.block,scope:e.scope,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a});default:return Gr(e.content)}}function Br({message:e,actions:t}){return(0,X.jsx)(jn,{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 Vr({block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){switch(e.kind){case`entry`:return(0,X.jsx)(Ur,{entry:e.entry,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a});case`tool-card`:return(0,X.jsx)(cr,{item:e.item,nested:e.children,cacheKey:`${t}:${e.id}`,renderNested:(e,t)=>(0,X.jsx)(Hr,{entries:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a})});case`context-group`:return(0,X.jsx)(lr,{group:e,scope:t});case`streak`:return(0,X.jsx)(ur,{count:e.count,children:e.blocks.map(e=>(0,X.jsx)(Vr,{block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a},e.id))});case`worker-conversation`:return(0,X.jsx)(Wn,{block:e,runId:r,taskTitles:i,recipientBackends:a});default:return Gr(e)}}function Hr({entries:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){return Ht([...e]).map(e=>(0,X.jsx)(Vr,{block:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a},e.id))}function Ur({entry:e,scope:t,renderAsk:n,runId:r,taskTitles:i,recipientBackends:a}){switch(e.kind){case`message`:return e.role===`assistant`?(0,X.jsx)(Vn,{text:e.text,ts:e.ts}):(0,X.jsx)(jn,{text:e.text,ts:e.ts});case`reasoning`:return(0,X.jsx)($n,{text:e.text});case`tool`:return(0,X.jsx)(cr,{item:e,cacheKey:`${t}:${e.id}`});case`note`:return e.attribution?(0,X.jsxs)(`div`,{className:`min-w-0 rounded-md border border-border px-4 py-3 text-sm`,children:[(0,X.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,X.jsx)(Xn,{note:e})]}):(0,X.jsx)(Xn,{note:e});case`conversation`:return(0,X.jsx)(Wn,{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,X.jsx)(dr,{image:e});case`ask`:return n===void 0?(0,X.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,X.jsx)(Qn,{incident:e});case`preview-server`:return(0,X.jsx)(Wr,{entry:e});default:return Gr(e)}}function Wr({entry:e}){let t=Ke(),n=se().data?.capabilities?.preview===!0;return(0,X.jsx)(Ee,{entry:t?.worktreeRemoved?{kind:`preview-server`,id:e.id,server:e.server,state:`unavailable`}:e,inPreview:t!==null&&t.open&&t.port===e.server.port,onOpen:t!==null&&n?t.openPane:void 0})}function Gr(e){throw Error(`Unhandled transcript variant: ${JSON.stringify(e)}`)}function Kr({runId:e,renderAsk:t,agent:n,entries:r,onClose:i,taskTitles:a,recipientBackends:o}){return(0,X.jsx)(ut,{open:n!==void 0,onOpenChange:e=>{e||i()},children:(0,X.jsx)(at,{"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,X.jsx)(qr,{runId:e,renderAsk:t,agent:n,entries:r,taskTitles:a,recipientBackends:o})})})}function qr({runId:e,renderAsk:t,agent:n,entries:r,taskTitles:i,recipientBackends:a}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(lt,{className:`gap-1.5 border-b border-border px-5 py-4`,children:[(0,X.jsxs)(pt,{className:`flex min-w-0 items-center gap-2 pr-8 text-[16px]`,children:[(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:n.title}),n.agentType===void 0?null:(0,X.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,X.jsxs)(ct,{"data-slot":`subagent-meta`,className:`flex items-center gap-2 text-xs`,children:[(0,X.jsx)(Jr,{status:n.status}),(0,X.jsxs)(`span`,{className:`tabular-nums`,children:[n.toolCalls,` `,n.toolCalls===1?`tool call`:`tool calls`]})]})]}),(0,X.jsx)(Rr,{runId:e,viewId:`agent:${n.id}`,sections:Fr(n.id,r),mode:`panel`,renderAsk:t,taskTitles:i,recipientBackends:a,empty:(0,X.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 Jr({status:e}){let t=e===`completed`?`Completed`:e===`failed`?`Failed`:e===`declined`?`Declined`:e===`pending`?`Pending`:`Running`;return(0,X.jsx)(`span`,{"data-slot":`subagent-status`,"data-status":e,className:V(`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 Yr(e){let t=M();return G({mutationFn:()=>b(e),onSuccess:()=>t.invalidateQueries({queryKey:W.runs.all}),onError:e=>y(e.message,{tone:`danger`})})}function Xr({run:e}){return(0,X.jsxs)(`section`,{"data-slot":`review-panel`,"aria-label":`Review the changes`,className:`flex flex-col gap-3`,children:[(0,X.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,X.jsx)(Re,{className:`size-4 shrink-0 text-accent-icon`,"aria-hidden":`true`}),(0,X.jsxs)(`p`,{className:`min-w-0 text-[13px]`,children:[(0,X.jsx)(`span`,{className:`font-semibold`,children:`Review the changes before anything lands.`}),` `,(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:`Read the diff, send notes back, draft a PR — or accept. Nothing merges on its own.`})]})]}),(0,X.jsx)(Dt,{runId:e.id}),(0,X.jsx)(Zr,{run:e})]})}function Zr({run:e}){let t=M(),n=(0,Y.useRef)(null),[r,i]=(0,Y.useState)(``),[a,o]=(0,Y.useState)(null),s=Yr(e.id),c=fr(e),l=()=>t.invalidateQueries({queryKey:W.runs.all}),d=G({mutationFn:async t=>c.canContinue?w(e.id,{text:`Review feedback:\n${t}`,runner:c.runnerOverride}):null,onSuccess:e=>{e!==null&&(i(``),l())},onError:e=>y(e.message,{tone:`danger`})}),f=G({mutationFn:()=>A(e.id),onSuccess:e=>{y(`Draft PR created — ${e.url}`),l()},onError:e=>{e instanceof u&&e.manual!==void 0&&o(e.manual),y(e.message,{tone:`danger`})}}),p=()=>{let e=r.trim();if(e.length===0){y(`Write what to change first.`),n.current?.focus();return}d.mutate(e)};return(0,X.jsxs)(`div`,{"data-slot":`review-actions`,className:`flex flex-col gap-2`,children:[(0,X.jsx)(et,{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=>{it({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(),p())},className:`min-h-[52px] text-[13px]`}),c.canContinue?null:(0,X.jsxs)(`p`,{id:`review-provider-guidance`,className:`flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,X.jsx)(`span`,{children:c.reason}),c.providerPending?null:(0,X.jsx)(J,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsxs)(j,{"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:d.isPending||!c.canContinue,onClick:p,children:[(0,X.jsx)(kt,{"aria-hidden":`true`}),`Send back`]}),te(e.pullRequestUrl)?(0,X.jsx)(j,{asChild:!0,variant:`outline`,size:`sm`,children:(0,X.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,X.jsx)(Pe,{"aria-hidden":`true`}),`PR ↗`]})}):(0,X.jsxs)(j,{"data-slot":`review-draft-pr`,variant:`outline`,size:`sm`,title:`Push the branch and open a draft PR`,disabled:f.isPending,onClick:()=>f.mutate(),children:[(0,X.jsx)(k,{"aria-hidden":`true`}),`Draft PR`]}),e.finishBlocked===null?(0,X.jsxs)(j,{"data-slot":`review-accept`,variant:`primary`,size:`sm`,className:`ml-auto`,title:vt(`review`),disabled:s.isPending,onClick:()=>s.mutate(),children:[(0,X.jsx)(h,{"aria-hidden":`true`}),`Accept`]}):null]}),a===null?null:(0,X.jsx)(Qr,{command:a})]})}function Qr({command:e}){return(0,X.jsxs)(`button`,{type:`button`,"data-slot":`review-manual`,title:`Copy the command`,onClick:()=>{navigator.clipboard.writeText(e).then(()=>y(`Command copied to clipboard.`)).catch(()=>y(`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,X.jsx)(x,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,X.jsxs)(`span`,{className:`truncate`,children:[`manual path: `,e]})]})}function $r(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var ei=1500;function ti({status:e}){let t=(0,Y.useRef)(e),[n,r]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{let n=t.current;if(t.current=e,n!==`review`||e!==`done`||$r())return;r(!0);let i=setTimeout(()=>r(!1),ei);return()=>clearTimeout(i)},[e]),n?(0,X.jsxs)(`div`,{"data-slot":`accept-celebration`,"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 isolate z-40`,children:[(0,X.jsx)(xe,{}),(0,X.jsx)(`div`,{className:`flex justify-center pt-24`,children:(0,X.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 ni(e){let t=M(),[n,r]=(0,Y.useState)(),i=ft(e.status);(0,Y.useEffect)(()=>{(!i||n&&n!==e.id)&&r(void 0)},[i,e.id,n]);let a=G({mutationFn:async()=>{r(e.id);try{if(!(await N(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:W.runs.all})});return{stopping:!!e.stopping||a.isPending||i&&n===e.id,stop:()=>a.mutateAsync()}}function ri({agents:e,onSelect:t}){return e.length===0?null:(0,X.jsx)(`ul`,{"data-slot":`agents-list`,className:`flex min-w-0 flex-col gap-[7px]`,children:e.map(e=>(0,X.jsx)(ii,{agent:e,onSelect:t},e.id))})}function ii({agent:e,onSelect:t}){let n=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ai,{status:e.status,stalled:e.stalled===!0}),(0,X.jsx)(`span`,{className:`min-w-0 shrink truncate font-medium`,children:e.title}),e.agentType===void 0?null:(0,X.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,X.jsx)(`span`,{"data-slot":`agent-activity`,className:`min-w-0 flex-1 truncate text-muted-foreground`,children:Tr(e)}),(0,X.jsxs)(`span`,{"data-slot":`agent-tools`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[e.toolCalls,` `,e.toolCalls===1?`tool`:`tools`]})]});return(0,X.jsx)(`li`,{"data-slot":`agent-item`,"data-status":e.status,className:`min-w-0 text-[13px]`,children:t?(0,X.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,X.jsx)(`div`,{className:`flex min-h-5 min-w-0 items-center gap-2.5`,children:n})})}function ai({status:e,stalled:t=!1}){return t?(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})}):e===`completed`?(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,X.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`failed`||e===`declined`?(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,X.jsx)(`path`,{d:`m9 9 6 6M15 9l-6 6`})]}):(0,X.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,X.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,X.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]})}function oi(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.filter(e=>e.status!==`cancelled`).length}}function si({entries:e}){return e.length===0?null:(0,X.jsx)(`ul`,{"data-slot":`plan-list`,className:`flex min-w-0 flex-col gap-[7px]`,children:e.map((e,t)=>(0,X.jsx)(ci,{entry:e},`${t}:${e.content}`))})}function ci({entry:e}){return(0,X.jsxs)(`li`,{"data-slot":`plan-item`,"data-status":e.status,className:V(`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,X.jsx)(li,{status:e.status}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:e.content}),e.status===`in_progress`?(0,X.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 li({status:e}){return e===`cancelled`?(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`,opacity:`.5`}),(0,X.jsx)(`path`,{d:`m8.5 15.5 7-7`})]}):e===`completed`?(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,X.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`in_progress`?(0,X.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,X.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,X.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]}):(0,X.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,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})})}function ui(e){switch(e){case`done`:return`done`;case`running`:case`waiting`:case`review`:return`active`;case`failed`:case`cancelled`:return`failed`;case`pending`:case`skipped`:return`pending`}}function di(e){if(e.length===0)return 0;let t=new Set([`done`,`failed`,`cancelled`,`skipped`]),n=new Set([`running`,`waiting`,`review`]),r=0;for(let i of e)t.has(i.status)?r+=1:n.has(i.status)&&(r+=.5);return r/e.length}function fi({steps:e}){if(e.length===0)return null;let t=di(e)*100;return(0,X.jsxs)(`div`,{"data-slot":`step-rail`,className:`flex min-w-0 flex-col gap-1`,children:[e.map((t,n)=>(0,X.jsxs)(`div`,{"data-slot":`step-row`,"data-visual":ui(t.status),className:`flex min-h-[22px] min-w-0 items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,X.jsx)(pi,{visual:ui(t.status)}),(0,X.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground`,children:t.name}),t.iterations>1?(0,X.jsxs)(`span`,{"data-slot":`step-iterations`,className:`shrink-0 text-xs text-soft-foreground tabular-nums`,children:[`×`,t.iterations]}):null,(0,X.jsxs)(`span`,{className:`ml-auto shrink-0 pl-2 text-[11px] text-soft-foreground tabular-nums`,children:[t.kind,` · step `,n+1,` of `,e.length]})]},t.id)),(0,X.jsx)(`div`,{"data-slot":`step-progress`,className:`mt-1 h-0.5 overflow-hidden rounded-full bg-muted`,children:(0,X.jsx)(`div`,{className:`h-full rounded-full bg-pending`,style:{width:`${t}%`}})})]})}function pi({visual:e}){let t=`size-[13px] shrink-0`;switch(e){case`done`:return(0,X.jsx)(f,{"aria-hidden":!0,className:V(t,`text-success`)});case`active`:return(0,X.jsx)(q,{role:`status`,"aria-label":`Step running`,className:V(t,`animate-spin stroke-pending motion-reduce:animate-none`)});case`failed`:return(0,X.jsx)(S,{"aria-hidden":!0,className:V(t,`text-danger`)});case`pending`:return(0,X.jsx)(I,{"aria-hidden":!0,className:V(t,`text-soft-foreground`)})}}function mi(e){let t=e.findIndex(e=>ui(e.status)===`active`);if(t>=0)return t;let n=e.findIndex(e=>ui(e.status)===`pending`);return n>=0?n:Math.max(0,e.length-1)}function hi(e,t,n,r){return n?r===`step`?`Step ${e} of ${t}`:`${e} of ${t} complete`:`${e} / ${t}`}function gi({slot:e,icon:t,title:n,meta:r,open:i,onToggle:a,children:o}){return(0,X.jsxs)(`div`,{"data-slot":`run-activity-${e}`,"data-state":i?`open`:`collapsed`,className:`min-w-0 border-t border-border first:border-t-0`,children:[(0,X.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:a,className:`flex min-h-11 w-full min-w-0 items-center gap-2.5 px-3.5 py-2 text-left hover:bg-muted/40`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`flex size-4 shrink-0 items-center justify-center text-accent-text`,children:t}),(0,X.jsx)(`span`,{className:`min-w-0 shrink truncate text-[14px] font-semibold text-foreground`,children:n}),(0,X.jsx)(`span`,{"data-slot":`run-activity-meta`,className:`min-w-0 shrink-[2] truncate text-[13px] text-muted-foreground tabular-nums`,children:r}),(0,X.jsx)(v,{"aria-hidden":!0,className:V(`ml-auto size-4 shrink-0 text-soft-foreground transition-transform`,i&&`rotate-180`)})]}),i?(0,X.jsx)(`div`,{"data-slot":`run-activity-body`,className:`min-w-0 border-t border-border/60 bg-muted/30 px-3.5 py-2.5`,children:o}):null]})}var _i=`flex min-h-11 min-w-0 items-center rounded-md px-2 text-sm text-foreground hover:bg-muted break-words focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`;function vi(e,t){let n=e?.role===`root`?e.receipts.map(e=>e.workerId):[];return[...new Set([...n,...(t?.workers??[]).map(e=>e.workerId)])]}function yi(e){let t=e.delegation,n=t!==void 0&&t.role!==`invalid`,r=ie(e.id,{enabled:n});if(!n||!t)return`complete`;if(!r.isSuccess)return r.isError||r.fetchStatus===`paused`?`unknown`:`pending`;let i=new Map(r.data.workers.map(e=>[e.workerId,e])),a=vi(t,r.data).map(e=>{let t=i.get(e)?.status;return t===`done`||t===`cancelled`?`complete`:t===void 0||t===`failed`?`issue`:`pending`});return a.includes(`pending`)?`pending`:a.includes(`issue`)?`issue`:`complete`}function bi({run:e,open:t,onToggle:n}){let i=ie(e.id),a=ue(),o=nt(),s=e.delegation,c=s?.role===`worker`?s.parentRunId:i.data?.parentRunId,l=new Map(i.data?.workers.map(e=>[e.workerId,e])),u=vi(s,i.data),d=s&&s.role!==`invalid`?s.wait:void 0,f=pe(s);return(0,X.jsx)(gi,{slot:`workers`,icon:(0,X.jsx)(P,{className:`size-4`}),title:`Workers`,meta:xi({ids:u,workers:l,parentId:c,desktop:o,query:i}),open:t,onToggle:n,children:(0,X.jsxs)(`div`,{"aria-label":`Task relationships`,className:`min-w-0 text-[13px] text-muted-foreground`,role:`group`,children:[s?.role===`worker`&&s.destroy?(0,X.jsx)(Ai,{state:s.destroy}):null,d?(0,X.jsx)(Ti,{wait:d,dependencyLabel:f}):null,i.data?.capacity?(0,X.jsx)(Di,{capacity:i.data.capacity}):null,c?(0,X.jsx)(Ei,{id:c}):null,u.length>0?(0,X.jsx)(`ul`,{className:`grid max-h-64 min-w-0 gap-0.5 overflow-y-auto`,children:u.map(t=>{let n=l.get(t),o=a.data?.find(e=>e.id===t)??i.data?.titles?.find(e=>e.id===t),s=n?Ci(n.status):i.isSuccess?`Record unavailable or deleted`:`Status unavailable`;return(0,X.jsxs)(`li`,{"data-slot":`worker-item`,"data-status":n?.status,className:`min-w-0`,children:[(0,X.jsxs)(J,{to:`/tasks/${t}`,"aria-label":`Worker task ${t}`,className:`group flex min-h-11 min-w-0 items-center gap-2.5 rounded-md px-1 text-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,X.jsx)(Si,{status:n?.status}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:o?H(o):`Worker ${t.slice(0,8)}`}),(0,X.jsx)(`span`,{className:V(`max-w-[45%] shrink-0 truncate text-xs`,wi(n?.status)),children:s}),(0,X.jsx)(r,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground`})]}),n?(0,X.jsx)(ki,{parentRunId:e.id,worker:n}):null,n?.destroy?(0,X.jsx)(Ai,{state:n.destroy}):null]},t)})}):s?.role===`root`&&i.isSuccess?(0,X.jsx)(`p`,{className:`px-1 py-1`,children:`No workers`}):null,i.fetchStatus===`paused`?(0,X.jsx)(`p`,{role:`status`,className:`px-1 py-1`,children:`Offline — relationship details will refresh when connected.`}):i.isPending?(0,X.jsx)(`p`,{role:`status`,className:`px-1 py-1`,children:`Loading relationships…`}):null,i.isError?(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-1 py-1`,children:[(0,X.jsx)(`p`,{role:`status`,children:`Could not load relationships. Known task links are retained.`}),(0,X.jsx)(j,{variant:`outline`,className:`min-h-11`,onClick:()=>void i.refetch(),children:`Retry relationships`})]}):null]})})}function xi({ids:e,workers:t,parentId:n,desktop:r,query:i}){if(e.length===0)return i.isError?`Unavailable`:i.isPending?`Linking…`:n?`Parent linked`:`No workers`;let a=`${e.length} linked`;if(!r)return a;let o=new Map;for(let n of e){let e=t.get(n)?.status;e!==void 0&&o.set(e,(o.get(e)??0)+1)}return[a,...[...o.entries()].map(([e,t])=>`${t} ${e}`)].join(` · `)}function Si({status:e}){let t=`size-[15px] shrink-0`;return e===`done`?(0,X.jsx)(f,{"aria-hidden":!0,className:V(t,`text-success`)}):e===`failed`?(0,X.jsx)(S,{"aria-hidden":!0,className:V(t,`text-danger`)}):e===`cancelled`?(0,X.jsx)(a,{"aria-hidden":!0,className:V(t,`text-soft-foreground`)}):e===`running`||e===`waiting`||e===`review`?(0,X.jsx)(q,{role:`status`,"aria-label":`Worker running`,className:V(t,`animate-spin stroke-pending motion-reduce:animate-none`)}):(0,X.jsx)(I,{"aria-hidden":!0,className:V(t,`text-soft-foreground`)})}function Ci(e){return`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function wi(e){return e===`done`?`text-success`:e===`failed`?`text-danger`:`text-muted-foreground`}function Ti({wait:e,dependencyLabel:t}){return(0,X.jsxs)(`p`,{className:`px-2 break-words`,children:[e.phase===`parked`&&t?`${t.charAt(0).toUpperCase()}${t.slice(1)}`:e.requestIds?e.phase===`parked`?`Waiting on request replies`:e.phase===`wake-pending`?`Conversation update queued for this task`:`Request wait registered — the agent is finishing its turn`:e.phase===`parked`?`Waiting on workers`:e.phase===`wake-pending`?`Worker update queued for the parent`:`Worker wait registered — the agent is finishing its turn`,`.`,` `,`Deadline: `,(0,X.jsx)(`time`,{dateTime:e.deadline,children:e.deadline})]})}function Ei({id:e}){let t=le(e);return(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2`,children:[(0,X.jsx)(J,{to:`/tasks/${e}`,"aria-label":`Parent task ${e}`,className:_i,children:t.data?`Parent · ${H(t.data)}`:`Parent task ${e}`}),t.isError?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`px-2 text-xs`,children:`Parent record unavailable or deleted`}),(0,X.jsx)(j,{variant:`outline`,className:`min-h-11`,onClick:()=>void t.refetch(),children:`Retry parent task`})]}):null]})}function Di({capacity:e}){let t=e.outstanding>=e.limit;return(0,X.jsx)(`p`,{role:`status`,className:V(`px-2 break-words`,t&&`text-foreground`),children:t?`All ${e.limit} worker slots are in use. Clean up finished workers to free a slot.`:`Capacity ${e.outstanding} of ${e.limit} in use`})}var Oi=new Set([`review`,`done`,`failed`,`cancelled`]);function ki({parentRunId:e,worker:t}){let n=re(e),[r,i]=(0,Y.useState)(!1);if(!Oi.has(t.status)||t.destroy?.phase===`complete`&&t.destroy.remaining.length===0)return null;let a=t.workerId.slice(0,8),o=!!t.destroy&&t.destroy.phase!==`complete`;return(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2 px-1`,children:[r?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`break-words text-xs`,children:`Removes this worker's worktree and branch. Its result is saved first.`}),(0,X.jsx)(j,{variant:`danger-ghost`,size:`sm`,className:`min-h-11`,"aria-label":`Confirm clean up of worker ${a}`,onClick:()=>{i(!1),n.mutate(t.workerId)},children:`Clean up`}),(0,X.jsx)(j,{variant:`outline`,size:`sm`,className:`min-h-11`,onClick:()=>i(!1),children:`Cancel`})]}):(0,X.jsx)(j,{variant:`outline`,size:`sm`,className:`min-h-11`,"aria-label":o?`Retry clean up of worker ${a}`:`Clean up worker ${a}`,disabled:n.isPending,onClick:()=>i(!0),children:n.isPending?`Cleaning up…`:o?`Retry clean up`:`Clean up`}),n.isError&&!r?(0,X.jsxs)(`span`,{role:`status`,className:`break-words text-xs`,children:[`Cleanup did not finish: `,n.error.message]}):null]})}function Ai({state:e}){if(e.phase===`complete`&&e.remaining.length===0&&e.error===void 0)return null;let t=e.phase===`complete`?void 0:e.retry,n=t&&(0,X.jsx)(ji,{at:t.nextAt});return(0,X.jsxs)(`p`,{className:`px-2 pb-2 break-words`,children:[t?.needsAttention?`Cleanup needs attention`:e.phase===`incomplete`?`Cleanup incomplete`:e.phase===`complete`?`Cleanup complete`:`Cleanup ${e.phase}`,e.remaining.length?` — remaining: ${e.remaining.join(`, `)}`:``,e.error?` — ${t?e.error.replace(/\.$/,``):e.error}`:``,t?.needsAttention?(0,X.jsxs)(X.Fragment,{children:[`. Nothing changed after `,t.attempts,` automatic attempts; checking hourly, next check `,n,`. Retry clean up to try now.`]}):t?(0,X.jsxs)(X.Fragment,{children:[`. Retrying automatically, next attempt `,n,`.`]}):null]})}function ji({at:e}){let t=st(3e4);return(0,X.jsx)(`time`,{dateTime:e,title:new Date(e).toLocaleString(),children:Ct(t,Date.parse(e))})}var Mi=new Map,Ni=new Map;function Pi({run:e,currentThread:t,onOpenWorker:n}){let r=nt(),[i,a]=(0,Y.useState)(()=>Mi.get(e.id)??r),[o,s]=(0,Y.useState)({}),c=!(e.status===`running`||e.status===`waiting`)&&e.status!==`queued`,l=e.steps,u=(0,Y.useMemo)(()=>Sr(t.turns,c),[t.turns,c]),d=Oe(t)??[],m=e.delegation!==void 0&&e.delegation.role!==`invalid`,h=yi(e),g=l.length===0||l.every(e=>e.status===`done`||e.status===`skipped`),_=wr(u),y=oi(d),b=[l.length>0?`workflow`:void 0,u.length>0?`subagents`:void 0,m?`workers`:void 0,d.length>0?`plan`:void 0].filter(e=>e!==void 0);if(b.length===0)return null;let x=t=>o[t]??Ni.get(`${e.id}:${t}`)??t===`workers`,S=t=>{let n=!x(t);Ni.set(`${e.id}:${t}`,n),s(e=>({...e,[t]:n}))},C=e.status===`done`&&g&&h===`complete`&&_.done===_.total&&y.done===y.total,w=h===`pending`,E=C?`All complete`:e.status===`failed`?`Failed`:e.status===`cancelled`?`Cancelled`:e.status===`running`?`Working`:e.status===`done`?h===`unknown`?`Workers unavailable`:w?`In progress`:`Incomplete`:`In progress`,D=e.status===`failed`||e.status===`cancelled`;return(0,X.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,X.jsxs)(`button`,{type:`button`,"aria-expanded":i,onClick:()=>{Mi.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,X.jsx)(T,{"aria-hidden":!0,className:`size-4 shrink-0 text-accent-text`}),(0,X.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Run activity`}),(0,X.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,X.jsxs)(`span`,{"data-slot":`run-activity-status`,className:V(`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,X.jsx)(f,{"aria-hidden":!0,className:`size-3.5 shrink-0`}):null,(0,X.jsx)(`span`,{className:`truncate`,children:E})]}),(0,X.jsx)(v,{"aria-hidden":!0,className:V(`size-4 shrink-0 text-soft-foreground transition-transform`,i&&`rotate-180`)})]}),i?(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[l.length>0?(0,X.jsx)(gi,{slot:`workflow`,icon:(0,X.jsx)(Fi,{steps:l}),title:l[mi(l)].name,meta:hi(mi(l)+1,l.length,r,`step`),open:x(`workflow`),onToggle:()=>S(`workflow`),children:(0,X.jsx)(fi,{steps:l})}):null,u.length>0?(0,X.jsx)(gi,{slot:`subagents`,icon:(0,X.jsx)(p,{className:`size-4`}),title:`Subagents`,meta:hi(_.done,_.total,r),open:x(`subagents`),onToggle:()=>S(`subagents`),children:(0,X.jsx)(ri,{agents:u,onSelect:n})}):null,m?(0,X.jsx)(bi,{run:e,open:x(`workers`),onToggle:()=>S(`workers`)}):null,d.length>0?(0,X.jsx)(gi,{slot:`plan`,icon:(0,X.jsx)(O,{className:`size-4`}),title:`Plan`,meta:hi(y.done,y.total,r),open:x(`plan`),onToggle:()=>S(`plan`),children:(0,X.jsx)(si,{entries:d})}):null]}):null]})}function Fi({steps:e}){let t=ui(e[mi(e)].status),n=`size-4 shrink-0`;switch(t){case`active`:return(0,X.jsx)(q,{role:`status`,"aria-label":`Step running`,"data-slot":`workflow-glyph`,"data-visual":t,className:V(n,`animate-spin stroke-pending motion-reduce:animate-none`)});case`failed`:return(0,X.jsx)(S,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:V(n,`text-danger`)});case`pending`:return(0,X.jsx)(I,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:V(n,`text-soft-foreground`)});case`done`:return(0,X.jsx)(f,{"aria-hidden":!0,"data-slot":`workflow-glyph`,"data-visual":t,className:V(n,`text-success`)})}}function Ii(e,t,n){return`${e.header}: ${n?.trim()||t.join(`, `)}`}function Li({ask:e,run:t}){return e.resolved?(0,X.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,X.jsx)(`span`,{className:`text-soft-foreground`,children:e.answeredBy===`parent`?`Answered by parent`:`Answered`}),e.answer?(0,X.jsx)(`span`,{className:`ml-1.5 break-words whitespace-pre-line text-foreground`,children:e.answer}):null]}):e.routedToParent?(0,X.jsx)(Ri,{ask:e}):(0,X.jsx)(zi,{ask:e,run:t})}function Ri({ask:e}){return(0,X.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,X.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,X.jsx)(`span`,{className:`text-xs font-medium text-link-foreground`,children:`The agent is asking its parent`})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,X.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,X.jsx)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:(0,X.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,X.jsx)(`p`,{className:`mb-1.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,X.jsx)(`ul`,{className:`flex list-disc flex-col gap-0.5 pl-5 text-[13px] text-muted-foreground`,children:e.options.map(e=>(0,X.jsxs)(`li`,{className:`break-words`,children:[(0,X.jsx)(`span`,{className:`text-foreground`,children:e.label}),e.description?(0,X.jsxs)(`span`,{children:[`: `,e.description]}):null]},e.label))})]},e.id??t))}),(0,X.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,X.jsx)(J,{to:`/tasks/${e.parentRunId}`,className:`font-medium text-foreground underline underline-offset-4`,children:`parent task`}):`parent task`,`.`]})]})}function zi({ask:e,run:t}){let n=_t(t),r=n.blockedBy!==void 0,i=e.questions,a=i.length===1&&i[0]?.multiSelect!==!0,[o,s]=(0,Y.useState)({}),[c,l]=(0,Y.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)=>Ii(e,o[t]??[],c[t])).join(`
7
+ `)),g=n.mode===`resume`;return(0,X.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,X.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,X.jsx)(`span`,{className:`text-xs font-medium text-link-foreground`,children:`The agent is asking`})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-4`,children:i.map((e,t)=>(0,X.jsx)(Bi,{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(Ii(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,X.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,X.jsxs)(`div`,{className:`mt-3 flex items-center gap-2.5`,children:[(0,X.jsx)(j,{size:`sm`,className:`min-h-11`,disabled:n.isPending||r||!m,onClick:h,children:g?`Send answer & reopen`:`Send answer`}),(0,X.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,X.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,X.jsx)(`span`,{children:n.reason}),(0,X.jsx)(J,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}):null,n.blockedBy===`no-session`?(0,X.jsx)(`p`,{"data-slot":`ask-no-session`,className:`mt-3 text-xs text-muted-foreground`,children:n.reason}):null,n.error?(0,X.jsx)(`p`,{"data-slot":`ask-error`,role:`alert`,className:`mt-3 text-xs text-danger`,children:n.error}):null]})}function Bi({question:e,disabled:t,selected:n,isOther:r,otherAnswer:i,onSelect:a,onOtherToggle:o,onOtherChange:s}){let c=(0,Y.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,X.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,X.jsxs)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:[(0,X.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,X.jsx)(`span`,{className:`ml-auto text-[11px] text-soft-foreground`,children:`select all that apply`}):null]}),(0,X.jsx)(`p`,{className:`mb-2.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,X.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.options.map(e=>{let r=n.includes(e.label);return(0,X.jsxs)(`button`,{type:`button`,disabled:t,"aria-pressed":r,onClick:()=>u(e.label),className:V(`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,X.jsxs)(`span`,{className:`flex min-w-0 items-start gap-2 text-[14px] font-semibold text-foreground`,children:[l?(0,X.jsx)(`span`,{"aria-hidden":!0,className:V(`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,X.jsx)(`span`,{className:`min-w-0 break-words`,children:e.label})]}),e.description?(0,X.jsx)(`span`,{className:`min-w-0 break-words text-xs text-muted-foreground`,children:e.description}):null]},e.label)})}),(0,X.jsxs)(`div`,{className:`mt-2`,children:[(0,X.jsx)(j,{type:`button`,variant:`outline`,"aria-pressed":r,"aria-expanded":r,"aria-controls":r?c:void 0,disabled:t,onClick:o,className:V(`w-full justify-start text-left`,r&&`border-accent-strong/60 bg-accent-strong/[0.06]`),children:`Other`}),r?(0,X.jsxs)(`div`,{className:`mt-2.5`,children:[(0,X.jsx)(`label`,{htmlFor:c,className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Your answer`}),(0,X.jsx)(et,{id:c,rows:2,value:i,disabled:t,onChange:e=>s(e.target.value),className:`bg-card`})]}):null]})]})}var Vi=2e3;function Hi(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 Ui(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 Wi(e,t){let n=M(),r=(0,Y.useMemo)(()=>Hi(t),[t]),i=(0,Y.useMemo)(()=>Ui(t),[t]),a=e?.id,o=e?.status,s=e?.activity;(0,Y.useEffect)(()=>{if(!(r!==0&&(o===`running`||o===`waiting`))&&!(i!==0&&o===`running`&&s!==`monitoring`)||a===void 0)return;let e=setTimeout(()=>{n.invalidateQueries({queryKey:W.runs.detail(a)}),n.invalidateQueries({queryKey:W.runs.list()})},Vi);return()=>clearTimeout(e)},[r,i,a,o,s,n])}function Gi(){let{id:e}=d(),t=le(e),n=Ce(e),r=t.data?.status,i=(0,Y.useMemo)(()=>Te(n.visibleEvents,{activeTurn:r===`running`}),[n.visibleEvents,r]),a=(0,Y.useMemo)(()=>Te(n.currentEvents,{activeTurn:r===`running`}),[n.currentEvents,r]),o=(0,Y.useRef)(void 0),s=(0,Y.useCallback)(e=>{o.current=e},[]),{mutate:c}=U();if((0,Y.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]),Wi(t.data,n.visibleEvents),t.isPending)return(0,X.jsx)(mt,{});if(t.isError){let e=t.error instanceof u&&t.error.status===404;return(0,X.jsx)(`div`,{"data-route":`task-thread`,className:`flex min-h-full flex-col`,children:(0,X.jsx)(me,{icon:e?(0,X.jsx)(Xe,{}):(0,X.jsx)(jt,{}),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,X.jsx)(j,{asChild:!0,variant:`outline`,children:(0,X.jsx)(J,{to:`/`,children:`Back to tasks`})})})})}return n.isPending?(0,X.jsx)(mt,{}):(0,X.jsx)(Ki,{run:t.data,thread:i,currentThread:a,history:n,onMarkedUnread:s})}function Ki({run:e,thread:t,currentThread:n=t,history:r,onMarkedUnread:i}){Je();let a=ue(),s=r?ee(r.currentEvents)!==void 0:n.turns.some(e=>e.items.some(e=>e.kind===`ask`&&!e.resolved)),c=fe(e,s),l=we(e.status,e.error),u=e.status===`running`||e.status===`waiting`,d=!u&&e.status!==`queued`,f=e.status===`queued`,p=pr(e),m=ni(e),h=Yr(e.id),g=s||e.hasPendingHumanAsk===!0,_=!u&&!f&&p.available,v=_&&p.canContinue,[y,b]=(0,Y.useState)(void 0),[x,S]=(0,Y.useState)(e.id);x!==e.id&&(S(e.id),b(void 0));let C=(0,Y.useMemo)(()=>y===void 0?void 0:Dr(n.turns,y,d),[n.turns,y,d]),w=(0,Y.useMemo)(()=>y===void 0?[]:Or(n.turns,y),[n.turns,y]),T=ae(e.id),E=_t(e),D=xt(e),O=u&&!D.usable,k=_&&!p.canContinue,A=O||k,j=O?D.reason:p.reason,{mutateAsync:M}=be(e.id),{mutateAsync:N}=oe(e.id),{mutateAsync:P}=de(e.id),F=(0,Y.useMemo)(()=>f?{onEditTask:async e=>{await M({task:e})},onEditMessage:(e,t)=>N({msgId:e,message:{text:t}}).then(()=>void 0),onRemoveMessage:e=>P(e).then(()=>void 0)}:void 0,[f,M,N,P]),I=(0,Y.useMemo)(()=>Pr(e,t),[e,t]),L=(0,Y.useMemo)(()=>Lr(I,e.id),[I,e.id]),R=e.delegation?.role===`root`||e.delegation?.role===`worker`,z=ie(e.id,{enabled:R}),B=(0,Y.useMemo)(()=>Cn(e,a.data,z.data?.titles),[e,a.data,z.data]),ne=(0,Y.useMemo)(()=>Sn(e,a.data),[e,a.data]),re=(0,Y.useCallback)(t=>(0,X.jsx)(Li,{ask:t,run:e}),[e]),se=(0,Y.useMemo)(()=>{if(F===void 0)return;let t={task:{onEdit:F.onEditTask,editLabel:`Edit the prompt`}};for(let n of e.queuedMessages??[])t[`queued:${n.id}`]={onEdit:e=>F.onEditMessage(n.id,e),onRemove:()=>F.onRemoveMessage(n.id)};return t},[F,e.queuedMessages]),H=he(e,_e()),{search:ce}=o(),le=$t(ce,L.length),U=kr(`${e.id}:main`,{onLoadOlder:r?.hasOlder?r.loadOlder:void 0,onJumpToLatest:r?.jumpToLatest,rowKeys:L.map(({key:e})=>e)});return Ne(U.restickIfStuck),(0,X.jsxs)(`div`,{"data-route":`task-thread`,"data-run-id":e.id,className:`flex min-h-full flex-col`,children:[(0,X.jsx)(je,{run:e,hasPendingHumanAsk:s,onMarkedUnread:()=>i?.(e.id)}),(0,X.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:[r?(0,X.jsx)(qi,{hasOlder:r.hasOlder,loading:r.isFetchingOlder,error:r.olderError,fallback:r.fallback,retainedPages:r.retainedPages,onLoad:U.loadOlder}):null,(0,X.jsx)(Rr,{runId:e.id,viewId:`main`,sections:I,mode:`document`,renderAsk:re,messageActions:se,scrollControls:U,renderMode:le,taskTitles:B,recipientBackends:ne}),t.turns.length===0?e.status===`queued`?(0,X.jsx)(Ji,{run:e}):(0,X.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,X.jsx)(er,{}):null,l&&l.state===`closed`?(0,X.jsxs)(`div`,{"data-slot":`thread-footer`,"data-state":l.state,className:V(`mt-auto flex items-center gap-2 border-t border-border pt-3 text-xs`,l.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[l.label,te(Se(e))?(0,X.jsx)(`a`,{"data-slot":`pr-link`,href:Se(e),target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`PR ↗`}):null,te(H)?(0,X.jsx)(`a`,{"data-slot":`issue-link`,href:H,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`Issue ↗`}):null]}):null,e.status===`review`?(0,X.jsx)(Xr,{run:e}):null]}),(0,X.jsx)(ti,{status:e.status}),(0,X.jsx)(Kr,{runId:e.id,renderAsk:re,agent:C,entries:w,taskTitles:B,recipientBackends:ne,onClose:()=>b(void 0)}),(0,X.jsxs)(`div`,{"data-slot":`thread-dock`,className:`relative z-10 bg-background pt-1 pb-2 md:pt-1.5 md:pb-4`,children:[U.pillVisible?(0,X.jsx)(`div`,{className:`pointer-events-none fixed right-6 bottom-[calc(24px+env(safe-area-inset-bottom))] z-30 flex justify-center`,children:(0,X.jsx)(Nr,{onJump:U.jumpToLatest})}):null,(0,X.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,X.jsx)(Pi,{run:e,currentThread:n,onOpenWorker:b},e.id),(0,X.jsx)(Nt,{run:e}),e.status===`waiting`?(0,X.jsxs)(`div`,{"data-slot":`paused-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,X.jsx)(Me,{tone:c.tone,shape:c.shape,pulse:c.pulse}),c.bucket===`waiting`?`The agent is paused, waiting for your reply`:`${c.label.charAt(0).toUpperCase()}${c.label.slice(1)} — you can send a message to resume`]}):null,f?(0,X.jsxs)(`div`,{"data-slot":`queued-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,X.jsx)(Me,{tone:`neutral`,shape:`ring`}),`Messages you add now are folded into the prompt before the run starts.`]}):null,v&&p.startsNewConversation?(0,X.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,role:`status`,children:`Starts a new agent conversation.`}):null,(0,X.jsx)(wt,{onStop:yt(e).cancel?m.stop:void 0,onFinish:bt(e,s)?()=>h.mutateAsync().catch(()=>void 0):void 0,finishing:h.isPending,secondaryAction:yt(e).archive?(0,X.jsx)(Ae,{run:e,compactOnMobile:!0}):void 0,stopOnEmpty:e.status===`queued`||e.status===`running`||e.status===`waiting`&&c.bucket===`none`&&!g,stopping:m.stopping,retainDraftUntilSuccess:!0,compactFeedback:!0,pendingLabel:v?`Continuing…`:`Sending…`,failureHint:`Your draft is kept. Check the task status and connection, then retry.`,sessionControls:v?p.pills:void 0,onSubmit:v?(e,t)=>p.continueWith(e,t):f?(e,t)=>T.mutateAsync({text:e,images:t}):async(e,t)=>{let n=await E.send(e,t);if(n!==void 0)throw Error(n)},disabled:A||!u&&!f&&!v,disabledReason:A?j:`Session closed — no session to resume.`,footerEnd:A&&!p.providerPending?(0,X.jsx)(J,{to:`/settings/agents#providers`,className:`text-xs font-medium text-foreground underline underline-offset-4`,children:`Configure providers`}):void 0,allowEmptySubmit:v&&!g,emptySubmitLabel:v&&!g?`Continue`:void 0,placeholder:f?`Add to the prompt — sent when the run starts…`:v?`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:()=>De(t)})]})]}),(0,X.jsx)(`div`,{"data-slot":`thread-tail-anchor`,"aria-hidden":`true`,className:`h-px shrink-0 md:hidden`})]})}function qi({hasOlder:e,loading:t,error:n,fallback:r,retainedPages:i,onLoad:a}){return r?(0,X.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,X.jsxs)(`div`,{"data-slot":`history-start`,className:`flex items-center gap-3 text-[11px] text-soft-foreground`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`Start of session`,(0,X.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):(0,X.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,X.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,X.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:t?`Loading earlier session history`:n||``})]})}function Ji({run:e}){let t=St(ue().data??[],e.id);return(0,X.jsxs)(`div`,{"data-slot":`queued-state`,className:`flex flex-col items-center gap-1.5 py-10 text-center`,children:[(0,X.jsx)(Me,{tone:`neutral`,shape:`ring`}),(0,X.jsxs)(`p`,{className:`text-[13px] font-medium`,children:[`Waiting for a free agent slot`,t===void 0?``:` — #${t} in queue`]}),(0,X.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[e.workflow,` · starts automatically when a slot frees up`]})]})}export{Gi as TaskThreadRoute};
@@ -1 +1 @@
1
- .session-composer [data-slot=composer-editor]{border-color:var(--ring);border-radius:12px}.session-composer [data-slot=session-controls]{padding:0 12px 10px}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr) max-content;gap:8px;min-width:0;display:grid}.session-engine-controls [data-slot$=pill]{width:100%;min-width:0}.session-engine-controls [data-slot$=pill]>svg:last-child{margin-left:auto}.session-engine-controls [data-slot=session-runner-value]{width:100%;min-width:0}.session-composer [data-slot=composer-toolbar]{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 12px 12px;display:grid}.session-composer [data-slot=composer-toolbar]>[data-slot=session-controls]{grid-area:1/1/auto/-1;min-width:0;padding:0}.session-composer [data-slot=composer-footer-start]{flex-wrap:nowrap;grid-area:2/1;gap:8px}.session-composer [aria-label=Attach\ files],.session-composer [aria-label=Start\ dictation]{border:1px solid var(--border);border-radius:9px;width:44px;height:44px}.session-composer [data-slot=follow-up-model-pill]{min-height:44px}.session-composer [data-slot=follow-up-model-pill]>svg:last-child{margin-left:auto}.session-composer [data-slot=composer-submit-row]{flex:none;grid-area:2/2;margin:0}[data-slot=run-actions-menu] [role^=menuitem]{min-height:44px}[data-route=task-thread] [data-slot=thread-dock]{container:thread-dock/inline-size}@media (width>=768px){@container thread-dock (width<=680px){[data-slot=thread-dock]>div{padding-inline:8px}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr) max-content}.session-engine-controls :is([data-slot=runner-pill],[data-slot=session-runner-value],[data-slot=follow-up-effort-pill]){gap:6px;padding-inline:8px}.session-engine-controls :is([data-slot=runner-pill],[data-slot=follow-up-effort-pill])>svg:last-child{display:none}}@container thread-dock (width<=400px){.session-composer [data-slot=archive-action]{width:44px;min-width:44px;padding-inline:0}.session-composer [data-slot=archive-action]>span{display:none}}}@media (width<=767px){[data-slot=run-title-row]>.group{max-width:calc(100% - 52px)}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr)}.session-engine-controls [data-slot=follow-up-model-pill]{grid-area:2/1/auto/-1}.session-engine-controls [data-slot=follow-up-effort-pill]{grid-area:1/2}.task-open-targets{flex-direction:column;align-items:flex-start}}[data-route=task-thread] [data-slot=assistant-message] :is(h1,h2,h3,h4,strong,[data-streamdown=strong]){color:var(--foreground)}[data-route=task-thread] [data-slot=assistant-message] h2{font-size:20px;line-height:1.4}@media (width<=767px){[data-route=task-thread] [data-slot=assistant-message] h2{letter-spacing:-.4px;font-size:18px}}[data-route=task-thread] .session-composer [data-slot=composer-editor]{border-color:var(--composer-border)}[data-route=task-thread] [data-slot=session-conversation]{overflow-anchor:none}@media (width<=767px){[data-route=task-thread] [data-slot=thread-dock]{overflow-anchor:none}[data-route=task-thread] [data-slot=thread-tail-anchor]{overflow-anchor:auto}}[data-route=task-thread] [data-slot=session-conversation]{padding-block:calc(var(--spacing) * 5.5) calc(var(--spacing) * 4);gap:calc(var(--spacing) * 4)}[data-route=task-thread] [data-slot=thread-row]{padding-bottom:calc(var(--spacing) * 4)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:is(p,ul,ol,table,blockquote){margin-block:calc(var(--spacing) * 3)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:first-child,[data-route=task-thread] [data-slot=user-bubble] .thread-markdown>:first-child{margin-top:0}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:last-child,[data-route=task-thread] [data-slot=user-bubble] .thread-markdown>:last-child{margin-bottom:0}@media (width<=767px){[data-route=task-thread] [data-slot=session-conversation]{padding-block:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 3.5)}[data-route=task-thread] [data-slot=thread-row]{padding-bottom:calc(var(--spacing) * 3.5)}}[data-route=task-thread] [data-slot=thread-footer][data-state=closed]{border-top:0;margin-top:0;padding-top:0}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>p:has(>:is(strong,[data-streamdown=strong]):only-child){margin-bottom:calc(var(--spacing) * 1)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>p:has(>:is(strong,[data-streamdown=strong]):only-child)+p{margin-top:calc(var(--spacing) * 1)}[data-route=task-thread] [data-slot=tool-card]{background:var(--task-brand-bg);border-radius:7px}[data-route=task-thread] [data-slot=tool-card]>button{padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 3)}[data-route=task-thread] [data-slot=tool-card]>[data-slot=collapsible-content]>div{background:0 0;border-top:0}[data-route=task-thread] [data-slot=tool-output] pre,[data-route=task-thread] [data-slot=tool-error]{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3) calc(var(--spacing) * 2.5)}[data-route=task-thread] [data-slot=tool-output-fade]{--tw-gradient-to:var(--task-brand-bg)}
1
+ .session-composer [data-slot=composer-editor]{border-color:var(--ring);border-radius:12px}.session-composer [data-slot=session-controls]{padding:0 12px 10px}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr) max-content;gap:8px;min-width:0;display:grid}.session-engine-controls [data-slot$=pill]{width:100%;min-width:0}.session-engine-controls [data-slot$=pill]>svg:last-child{margin-left:auto}.session-engine-controls [data-slot=session-runner-value]{width:100%;min-width:0}.session-composer [data-slot=composer-toolbar]{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 12px 12px;display:grid}.session-composer [data-slot=composer-toolbar]>[data-slot=session-controls]{grid-area:1/1/auto/-1;min-width:0;padding:0}.session-composer [data-slot=composer-footer-start]{flex-wrap:nowrap;grid-area:2/1;gap:8px}.session-composer [aria-label=Attach\ files],.session-composer [aria-label=Start\ dictation]{border:1px solid var(--border);border-radius:9px;width:44px;height:44px}.session-composer [data-slot=follow-up-model-pill]{min-height:44px}.session-composer [data-slot=follow-up-model-pill]>svg:last-child{margin-left:auto}.session-composer [data-slot=composer-submit-row]{flex:none;grid-area:2/2;margin:0}[data-slot=run-actions-menu] [role^=menuitem]{min-height:44px}[data-route=task-thread] [data-slot=thread-dock]{container:thread-dock/inline-size}@media (width>=768px){@container thread-dock (width<=680px){[data-slot=thread-dock]>div{padding-inline:8px}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr) max-content}.session-engine-controls :is([data-slot=runner-pill],[data-slot=session-runner-value],[data-slot=follow-up-effort-pill]){gap:6px;padding-inline:8px}.session-engine-controls :is([data-slot=runner-pill],[data-slot=follow-up-effort-pill])>svg:last-child{display:none}}@container thread-dock (width<=400px){.session-composer [data-slot=archive-action]{width:44px;min-width:44px;padding-inline:0}.session-composer [data-slot=archive-action]>span{display:none}}}@media (width<=767px){[data-slot=run-title-row]>.group{max-width:calc(100% - 52px)}.session-engine-controls{grid-template-columns:max-content minmax(0,1fr)}.session-engine-controls [data-slot=follow-up-model-pill]{grid-area:2/1/auto/-1}.session-engine-controls [data-slot=follow-up-effort-pill]{grid-area:1/2}.task-open-targets{flex-direction:column;align-items:flex-start}}[data-route=task-thread] [data-slot=assistant-message] :is(h1,h2,h3,h4,strong,[data-streamdown=strong]){color:var(--foreground)}[data-route=task-thread] [data-slot=assistant-message] h2{font-size:20px;line-height:1.4}@media (width<=767px){[data-route=task-thread] [data-slot=assistant-message] h2{letter-spacing:-.4px;font-size:18px}}[data-route=task-thread] .session-composer [data-slot=composer-editor]{border-color:var(--composer-border)}[data-route=task-thread] [data-slot=session-conversation]{overflow-anchor:none}@media (width<=767px){[data-route=task-thread] [data-slot=thread-dock]{overflow-anchor:none}[data-route=task-thread] [data-slot=thread-tail-anchor]{overflow-anchor:auto}}[data-route=task-thread] [data-slot=session-conversation]{padding-block:calc(var(--spacing) * 5.5) calc(var(--spacing) * 4);gap:calc(var(--spacing) * 4)}[data-route=task-thread] [data-slot=thread-row]{padding-bottom:calc(var(--spacing) * 4)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:is(p,ul,ol,table,blockquote){margin-block:calc(var(--spacing) * 3)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:first-child,[data-route=task-thread] [data-slot=user-bubble] .thread-markdown>:first-child{margin-top:0}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>:last-child,[data-route=task-thread] [data-slot=user-bubble] .thread-markdown>:last-child{margin-bottom:0}@media (width<=767px){[data-route=task-thread] [data-slot=session-conversation]{padding-block:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 3.5)}[data-route=task-thread] [data-slot=thread-row]{padding-bottom:calc(var(--spacing) * 3.5)}}[data-route=task-thread] [data-slot=thread-footer][data-state=closed]{border-top:0;margin-top:0;padding-top:0}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>p:has(>:is(strong,[data-streamdown=strong]):only-child){margin-bottom:calc(var(--spacing) * 1)}[data-route=task-thread] [data-slot=assistant-message] .thread-markdown>p:has(>:is(strong,[data-streamdown=strong]):only-child)+p{margin-top:calc(var(--spacing) * 1)}[data-route=task-thread] [data-slot=tool-card]{background:var(--task-brand-bg);border-radius:7px}[data-route=task-thread] [data-slot=tool-card]>button{padding:calc(var(--spacing) * 2.5) calc(var(--spacing) * 3)}[data-route=task-thread] [data-slot=tool-card]>[data-slot=collapsible-content]>div{background:0 0;border-top:0}[data-route=task-thread] [data-slot=tool-output] pre,[data-route=task-thread] [data-slot=tool-error]{padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3) calc(var(--spacing) * 2.5)}[data-route=task-thread] [data-slot=tool-output-fade]{--tw-gradient-to:var(--task-brand-bg)}[data-slot=task-split][data-pane=open] [data-route=task-thread] [data-slot=session-conversation],[data-slot=task-split][data-pane=open] [data-route=task-thread] [data-slot=thread-dock]>div{padding-inline:18px}
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{Bt as n,t as r}from"./button-C_rd7CPp.js";import{t as i}from"./utils-JsL3ZsJf.js";import{d as a,f as o,h as s,l as c,m as l,p as u,u as d}from"./alert-dialog-BrpNUwMt.js";e();var f=t();function p({...e}){return(0,f.jsx)(c,{"data-slot":`dialog`,...e})}function m({...e}){return(0,f.jsx)(l,{"data-slot":`dialog-portal`,...e})}function h({className:e,...t}){return(0,f.jsx)(u,{"data-slot":`dialog-overlay`,className:i(`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:r=!0,...o}){return(0,f.jsxs)(m,{"data-slot":`dialog-portal`,children:[(0,f.jsx)(h,{}),(0,f.jsxs)(a,{"data-slot":`dialog-content`,className:i(`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),...o,children:[t,r&&(0,f.jsxs)(d,{"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)(n,{}),(0,f.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function _({className:e,...t}){return(0,f.jsx)(`div`,{"data-slot":`dialog-header`,className:i(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function v({className:e,showCloseButton:t=!1,children:n,...a}){return(0,f.jsxs)(`div`,{"data-slot":`dialog-footer`,className:i(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...a,children:[n,t&&(0,f.jsx)(d,{asChild:!0,children:(0,f.jsx)(r,{variant:`outline`,children:`Close`})})]})}function y({className:e,...t}){return(0,f.jsx)(s,{"data-slot":`dialog-title`,className:i(`text-lg leading-none font-semibold`,e),...t})}function b({className:e,...t}){return(0,f.jsx)(o,{"data-slot":`dialog-description`,className:i(`text-sm text-muted-foreground`,e),...t})}function x({className:e,...t}){return(0,f.jsx)(`textarea`,{"data-slot":`textarea`,className:i(`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};
@@ -0,0 +1,4 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Gi as r,Wi as i,fr as a,pr as o,t as s,ta as c}from"./button-C_rd7CPp.js";import{I as l,L as u,N as d,P as f,R as p,i as m,s as h,t as g}from"./utils-JsL3ZsJf.js";import{t as _}from"./createLucideIcon-BHp8sXmF.js";import{t as v}from"./app-window-CSHwDX9N.js";import{t as y}from"./status-dot-CqTJHSP9.js";import{a as b,d as x,i as S}from"./preview-state-vuMviq6q.js";import{n as C}from"./format-DpNe3S0A.js";import{t as w}from"./play-CmVAj_fu.js";import{t as T}from"./square-terminal-B6RYYieR.js";var E=120;function D(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function O(e){let t=e.replace(/\s+/g,` `).trim();return t.length>E?`${t.slice(0,E-1)}…`:t}function k(e,...t){if(D(e))for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim()!==``)return O(t)}}function ee(e){if(!D(e))return;let t=e.command;if(typeof t==`string`&&t.trim()!==``)return O(t);if(Array.isArray(t)){let e=t.filter(e=>typeof e==`string`);if(e.length>0)return O(e.join(` `))}}function A(e){if(!D(e)||!Array.isArray(e.changes))return[];let t=[];for(let n of e.changes)D(n)&&typeof n.path==`string`&&n.path.trim()!==``&&t.push(n.path);return t}function j(e){return k(e,`description`,`query`,`url`,`filePath`,`file_path`,`path`,`pattern`,`name`)}function M(e,t){return t?`${e} ${t}`:e}function N(e,t){let n=typeof e==`string`?e.toLowerCase():``;switch(n){case`bash`:case`commandexecution`:return{toolKind:`execute`,title:M(`Ran`,ee(t)),subtitle:k(t,`description`)};case`edit`:case`multiedit`:return{toolKind:`edit`,title:M(`Edit`,k(t,`file_path`,`filePath`,`path`))};case`write`:return{toolKind:`edit`,title:M(`Write`,k(t,`file_path`,`filePath`,`path`))};case`notebookedit`:return{toolKind:`edit`,title:M(`Edit`,k(t,`notebook_path`,`notebookPath`,`file_path`,`filePath`,`path`))};case`filechange`:{let e=A(t);return{toolKind:`edit`,title:M(`Edit`,e.length===1?e[0]:e.length>1?`${e.length} files`:void 0)}}case`read`:return{toolKind:`read`,title:M(`Read`,k(t,`file_path`,`filePath`,`path`))};case`imageview`:return{toolKind:`read`,title:M(`View image`,k(t,`path`))};case`glob`:case`grep`:return{toolKind:`search`,title:M(`Search`,k(t,`pattern`,`query`)),subtitle:k(t,`path`)};case`webfetch`:return{toolKind:`fetch`,title:M(`Fetch`,k(t,`url`))};case`websearch`:return{toolKind:`fetch`,title:M(`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:j(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()!==``?O(e):`Tool`,subtitle:j(t)}}var P=_(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),F=_(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),I=n();function te(e){let{text:t,...n}=b(e),r={...n,status:t};switch(e.state){case`registered`:return e.server.answeredAtRegistration?{...r,action:{label:`Open`,run:!1}}:{...r,action:{label:`Run and open`,run:!0}};case`adopted`:case`starting`:case`up`:return{...r,action:{label:`Open`,run:!1}};case`stalled`:return{...r,action:{label:`View`,run:!1}};case`exited`:case`stopped`:return{...r,action:{label:`Start again`,run:!0}};case`unavailable`:return r}}var ne={"Run and open":w,Open:v,View:x,"Start again":P};function L({entry:e,inPreview:t,onOpen:n}){let{server:r}=e,i=te(e),a=e.state===`unavailable`,o=n?i.action:void 0,c=t&&o!==void 0&&!o.run,l=c?`In preview`:o?.label,u=c?v:o?ne[o.label]:null,d=S(r.command),f=C(r.registeredAt);return(0,I.jsxs)(`div`,{"data-slot":`preview-server-card`,"data-state":e.state,className:g(`min-w-0 rounded-lg border border-border bg-card px-3.5 py-3 text-sm`,a&&`text-muted-foreground`),children:[(0,I.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2 text-xs text-soft-foreground`,children:[(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 font-mono`,children:[(0,I.jsx)(F,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,I.jsx)(`span`,{className:`truncate`,children:`cezar_preview_serve`})]}),a?(0,I.jsx)(`span`,{children:`worktree removed`}):f?(0,I.jsxs)(`span`,{children:[f,` ago`]}):null]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-2`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,I.jsx)(y,{tone:i.tone,shape:i.ring?`ring`:`filled`,pulse:i.pulse===!0,"aria-hidden":`true`}),(0,I.jsx)(`span`,{className:`font-semibold text-foreground`,children:r.label}),(0,I.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[`:`,r.port]}),(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:i.status})]}),o&&l&&u?(0,I.jsxs)(s,{variant:c||o.label===`View`||o.label===`Open`&&e.state===`starting`?`outline`:`contrast`,size:`sm`,className:`max-md:h-11 max-md:px-3.5`,onClick:()=>n?.({port:r.port,run:o.run}),children:[(0,I.jsx)(u,{"aria-hidden":`true`}),l]}):null]}),(0,I.jsxs)(`div`,{className:`mt-2.5 min-w-0 rounded-md bg-muted px-3 py-2 font-mono text-xs`,children:[(0,I.jsx)(`p`,{className:`break-words whitespace-pre-wrap text-foreground`,children:r.command}),r.cwd?(0,I.jsxs)(`p`,{className:`mt-1 flex gap-3 text-soft-foreground`,children:[(0,I.jsx)(`span`,{children:`cwd`}),(0,I.jsx)(`span`,{className:`break-all`,children:r.cwd})]}):null]}),o?.run?(0,I.jsx)(R,{icon:(0,I.jsx)(T,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),children:`${o.label===`Start again`?`Starting again`:`Opening`} runs ${d} in this task's worktree, on the host.`}):null,a?(0,I.jsx)(R,{children:`The worktree this server ran in is gone. Register it again from a new task.`}):null]})}function R({icon:e,children:t}){return(0,I.jsxs)(`p`,{className:`mt-2.5 flex items-start gap-2 text-xs text-muted-foreground`,children:[e,(0,I.jsx)(`span`,{children:t})]})}var z=e(t(),1),B=[`run-event`,`ui-event`];function V(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 H(e,t={}){let[n,r]=(0,z.useState)([]),{cursor:i,afterSeq:a=0,maxEvents:o,compactAt:s,onCompact:c}=t;return(0,z.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(),h,g=[],_,v,y=()=>{if(_!==void 0&&globalThis.cancelAnimationFrame?.(_),clearTimeout(v),_=void 0,v=void 0,d||g.length===0)return;let e=g;g=[],r(t=>{let n=[...t,...e];return!f&&s!==void 0&&n.length>=s&&(f=!0,queueMicrotask(()=>{d||c?.()})),o===void 0||n.length<=o?n:n.slice(-o)})},b=()=>{v===void 0&&(v=setTimeout(y,50),typeof globalThis.requestAnimationFrame==`function`&&(_=globalThis.requestAnimationFrame(y)))},x=e=>{p=Date.now();let t=V(e.data);!t||!(t.seq>n)||(n=t.seq,g.push(t),b())},S=()=>{p=Date.now()},C=()=>{d||u!==void 0||(u=setTimeout(()=>{u=void 0,d||w()},1500))},w=()=>{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(m(`/runs/${encodeURIComponent(e)}/events${o}`),{withCredentials:!0});for(let e of B)l.addEventListener(e,x);l.addEventListener(`ping`,S),l.addEventListener(`error`,()=>{l?.readyState===2&&C()})},T=()=>{document.visibilityState===`visible`&&(!l||l.readyState===2)&&(clearTimeout(u),u=void 0,w())},E=()=>{clearTimeout(u),u=void 0,l?.close()},D=e=>{e.persisted&&w()};return h=setInterval(()=>{d||document.visibilityState!==`visible`||Date.now()-p<=4e4||(clearTimeout(u),u=void 0,w())},1e4),document.addEventListener(`visibilitychange`,T),window.addEventListener(`pagehide`,E),window.addEventListener(`pageshow`,D),w(),()=>{d=!0,_!==void 0&&globalThis.cancelAnimationFrame?.(_),clearTimeout(v),clearTimeout(u),clearInterval(h),document.removeEventListener(`visibilitychange`,T),window.removeEventListener(`pagehide`,E),window.removeEventListener(`pageshow`,D),l?.close()}},[e,i,a,o,s,c]),n}var U=5,W=200,G=5e3;function K(...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 q(e,t,n){e.setQueryData(t,e=>{if(!e)return{pages:[n],pageParams:[void 0]};let t=[...e.pages],r=[...e.pageParams],i=-1;for(let e=0;e<t.length;e+=1)(i===-1||t[e].asOfSeq>t[i].asOfSeq)&&(i=e);if(i>=0&&t[i].asOfSeq>n.asOfSeq)return e;for(i>=0&&t[i].newerCursor===void 0?(t[i]=n,r[i]=void 0):(t.push(n),r.push(void 0));t.length>U;)t.shift(),r.shift();return{pages:t,pageParams:r}})}function J(e){let t=h(),n=c(),s=[`run-history`,t,e],l=[`run-history-context`,t,e],u=i({queryKey:s,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>a(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:U,staleTime:1/0,retry:1}),d=r({queryKey:l,enabled:e!==void 0,queryFn:({signal:t})=>o(e,{signal:t}),retry:1}),f=u.isError||d.isError,p=H(f?e:void 0),m=u.data?.pages??[],g=m.reduce((e,t)=>t.newerCursor===void 0?t:e??t,void 0),_=(0,z.useRef)(!1),v=(0,z.useCallback)(()=>{e===void 0||_.current||(_.current=!0,a(e,void 0).then(r=>q(n,[`run-history`,t,e],r)).catch(()=>{}).finally(()=>{_.current=!1}))},[n,e,t]),y=e=>e!==void 0&&n.getQueryData([`run-history`,t,e])!==void 0,[b,x]=(0,z.useState)(()=>({runId:e,pending:y(e)})),S=b.pending;b.runId!==e&&(S=y(e),x({runId:e,pending:S})),(0,z.useEffect)(()=>{if(!S||e===void 0)return;let r=!1,i=new AbortController;return a(e,void 0,{signal:i.signal}).then(r=>q(n,[`run-history`,t,e],r)).catch(()=>{}).finally(()=>{r||x({runId:e,pending:!1})}),()=>{r=!0,i.abort()}},[n,S,e,t]);let C=H(!f&&g&&!S?e:void 0,{cursor:g?.liveCursor,afterSeq:g?.asOfSeq,maxEvents:G,compactAt:W,onCompact:v}),w=(0,z.useRef)(0);w.current=C.length,(0,z.useEffect)(()=>()=>{w.current>0&&v()},[v]);let T=(0,z.useMemo)(()=>K(...m.map(e=>e.events)),[m]),E=(0,z.useMemo)(()=>f?p:K(T,C),[f,p,T,C]),D=(0,z.useMemo)(()=>{if(f)return p;let e=d.data?.contextEvents??[],t=d.data?.asOfSeq??0;return K(e,E.filter(({seq:e})=>e>t))},[d.data,f,p,E]),O=(0,z.useCallback)(async()=>{await u.fetchPreviousPage()},[u.fetchPreviousPage]),k=(0,z.useCallback)(async()=>{f||await n.resetQueries({queryKey:s,exact:!0})},[f,s,n]);return{visibleEvents:E,currentEvents:D,isPending:!f&&u.isPending,contextPending:!f&&d.isPending,fallback:f,hasOlder:!f&&!!u.hasPreviousPage,isFetchingOlder:u.isFetchingPreviousPage,olderError:u.isFetchPreviousPageError?u.error instanceof Error?u.error.message:`Could not load earlier items`:void 0,loadOlder:O,jumpToLatest:k,retainedPages:m.length}}var Y={"not-delivered":0,queued:1,delivered:2,consumed:3};function re(e){for(let t=e.turns.length-1;t>=0;--t){let n=e.turns[t].planEntries;if(n!==void 0)return n}}function ie(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 ae(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 X(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oe(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 Z(e){return typeof e==`string`?e:void 0}function Q(e){if(!(typeof e!=`string`||e===``))return Number.isFinite(new Date(e).getTime())?e:void 0}function se(e){return e===`claude`||e===`codex`||e===`opencode`||e===`pi`||e===`cursor`||e===`omp`?e:void 0}function $(e,t){let n=e.replace(/\s*CEZ:DONE\s*$/,``).replace(/\s*CEZ:MONITORING\s*$/,``);if(t){let e=n.trimEnd(),t=e.lastIndexOf(`
2
+ `)+1;/^CEZ:ASK[ \t]+.+$/.test(e.slice(t))&&(n=e.slice(0,t).trimEnd())}return n.includes(`CEZ:`)?n.split(`
3
+ `).filter(e=>!/^CEZ:(?:PR=\d+|ISSUE=\d+|TITLE=.+)\s*$/.test(e)).join(`
4
+ `):n}function ce(e){let t=e=>$(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 le(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}var ue=e=>e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`,de=new Set([`pending`,`in_progress`,`completed`,`cancelled`]);function fe(e){if(!X(e)||!Array.isArray(e.todos))return;let t=[];for(let n of e.todos){if(!X(n)||typeof n.content!=`string`)return;t.push({content:n.content,status:de.has(n.status)?n.status:`pending`,...typeof n.activeForm==`string`?{activeForm:n.activeForm}:{}})}return t}function pe(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(),m=(e,t)=>{let n=Z(e.stepId);return n===void 0?t:`${n}:${t}`},h=(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})},g=new Map,_=new Map,v=new Set,y=e=>{if(e.messageKind!==`request`)return;let t=_.get(e.messageId);t&&(e.outcome={status:t.status,...t.replyId===void 0?{}:{replyId:t.replyId},observedAt:t.observedAt})},b=(e,t,n)=>{let r=g.get(e.id);if(r)return(Y[r.delivery]<Y.delivered||Y[t]>Y[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),y(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 y(i),g.set(e.id,i),c().entries.push({origin:`meta`,entry:i}),i},x=new Map,S=!1;for(let t of e)switch(t.type){case`handoff`:{let e=oe(t.ts),n=Z(t.message),r=t.notify===!1?`Stopped notifying the webhook${e}`:`${S?`Note sent to webhook`:`Handed off to webhook`}${e}${n?` — ${n}`:``}`;S=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${Z(t.event)?` (${Z(t.event)})`:``}${e?` after ${e} attempt${e===1?``:`s`}`:``}: ${Z(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): ${Z(t.event)??`delivery`}${Z(e.status)?` · ${Z(e.status)}`:``}`;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:n,tone:`dim`}});break}case`preview.server-registered`:{let e=d.safeParse(t.server);if(!e.success)break;let n=x.get(e.data.port);n&&(n.turn.entries=n.turn.entries.filter(e=>e!==n.draft));let r=c(),i={origin:`meta`,entry:{kind:`preview-server`,id:`preview-server:${e.data.port}`,server:e.data,state:`registered`,stateAt:t.ts}};r.entries.push(i),x.set(e.data.port,{turn:r,draft:i});break}case`preview.server-state`:{let e=f.safeParse(t.state),n=typeof t.port==`number`?x.get(t.port):void 0;if(!e.success||!n||n.draft.entry.kind!==`preview-server`)break;let{server:r,id:i}=n.draft.entry;n.draft.entry={kind:`preview-server`,id:i,server:r,state:e.data,stateAt:t.ts,...typeof t.exitCode==`number`?{exitCode:t.exitCode}:{},...t.reason===`user`||t.reason===`idle`?{reason:t.reason}:{}};break}case`conversation-message`:{let e=u.safeParse(t);if(!e.success)break;b(e.data.message,e.data.delivery,{deliveredAt:e.data.deliveredAt,consumedAt:e.data.consumedAt,recordedAt:e.data.ts});break}case`request-outcome`:{let e=p.safeParse(t);if(!e.success||_.has(e.data.outcome.requestId))break;let{outcome:n}=e.data;_.set(n.requestId,n);let r=g.get(n.requestId);r&&y(r);break}case`agent-input`:{let e=l.safeParse(t);if(!e.success)break;let{input:n}=e.data;if(v.has(n.id))break;if(v.add(n.id),n.conversation){b({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=Z(t.text)??``;o&&!o.resolved&&(o.resolved=!0,o.answeredBy=`human`,e!==``&&(o.answer=e),o=void 0);let n=s(t.seq),r=Q(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=Z(t.turnId),r=n.at(-1),i=r&&r.turnId===void 0&&!r.v2Items?r:s(t.seq);i.turnId=e;let a=Q(t.ts);i.startedAt===void 0&&a!==void 0&&(i.startedAt=a);break}case`turn.completed`:{let e=Z(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=Q(t.ts);i.completed={stopReason:Z(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(!X(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=m(t,i.id);h(r.get(a)?.turn??c(),i,a,t.type===`item.completed`?Q(t.ts):void 0);break}case`item.delta`:{let e=Z(t.itemId)??``,n=r.get(m(t,e)),i=Z(t.delta)??``;if(!n||i===``||!ue(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=Z(t.text)??``;if(n===``)break;let r=Q(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=Z(t.tool)??`Tool`;if(me.has(n))break;let i=N(n,t.input);if(i.toolKind===`plan`){let n=fe(t.input);n!==void 0&&(e.planEntries=n)}let a={kind:`tool`,id:Z(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(Z(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=le(t.result);break}case`note`:case`lifecycle`:{let e=Z(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=Z(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=Z(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=Z(t.error)?` — ${Z(t.error)}`:``;c().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:`step ${Z(t.stepId)??`?`} failed${e}`,tone:`danger`}});break}case`check-output`:{let e=Z(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:Z(t.text)??``,exitCode:n};c().entries.push({origin:`meta`,entry:r});break}case`provider-auth-required`:{let e=se(t.provider),n=Z(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=Z(t.url);if(e===void 0)break;let n={kind:`image`,id:`v1:${t.seq}`,url:e},r=Z(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:Z(t.reason)??`end_turn`,...Z(t.message)===void 0?{}:{message:Z(t.message)}};break;case`ask.requested`:{let e=Z(t.requestId);if(e===void 0||!Array.isArray(t.questions))break;let n=t.questions.filter(e=>X(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=Z(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($(r.text,!0).trim());t.size!==0&&(e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`message`&&t.has($(e.entry.text,!0).trim()))),ce(e))}for(let e of g.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:$(e.text,i||a)}:e)}}),...i===void 0?{}:{sessionEnded:i}}}var me=new Set([`subAgentActivity`,`collabAgentToolCall`,`collabToolCall`]);export{J as a,P as c,ae as i,pe as n,L as o,ie as r,F as s,re as t};
@@ -0,0 +1 @@
1
+ [data-route=github]{width:100%}[data-slot=gh-workspace][data-stacked=true]{height:auto}[data-slot=gh-workspace][data-stacked=true] [data-slot=gh-panes]{flex-direction:column;flex:none;overflow:visible}[data-slot=gh-workspace][data-stacked=true] :is([data-slot=gh-list],[data-slot=gh-detail]){flex:none;width:100%;overflow:visible}[data-slot=gh-workspace][data-stacked=true] [data-slot=gh-list-resize-handle]{display:none}[data-slot=gh-hand]{border-color:color-mix(in srgb, var(--accent-strong) 24%, var(--border));background:var(--background);border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex}[data-slot=gh-hand]>h3{margin:0}.gh-handoff-settings{flex-direction:column;gap:16px;display:flex}.gh-field{flex-direction:column;gap:6px;min-width:0;display:flex}.gh-field>span{color:var(--muted-foreground);font-size:11px}.gh-field>button,.gh-field>select{border:1px solid var(--border);background:var(--card);width:100%;min-height:44px;color:var(--foreground);text-align:left;border-radius:8px;padding:0 12px;font-size:12px}.gh-field>button>svg:last-child{margin-left:auto}[data-slot=gh-custom-prompt]{min-height:150px;margin-top:0;padding:16px;font-size:14px}[data-slot=gh-merge-box]{border-radius:12px;margin-block:22px;padding:24px}[data-slot=gh-merge-box] select{flex:none;min-height:44px}@media (width<=767px){[data-slot=gh-panes]{flex-direction:column;display:flex}[data-slot=gh-list]{width:100%}[data-slot=gh-hand],[data-slot=gh-merge-box]{padding:16px}}[data-slot=gh-tabs]>a,.gh-utility{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:inline-flex}[data-slot=gh-tabs]>a[aria-current=page]{background:var(--accent-strong);color:var(--accent-strong-foreground);border-color:var(--accent-strong)}.gh-utility:disabled{opacity:.5}@media (width<=767px){[data-slot=gh-tabs]{flex-direction:column;align-items:flex-start}}[data-slot=gh-hand]>[data-slot=prompt-template-trigger]{border-radius:8px;align-self:flex-start;min-height:44px;padding:0 12px}@media (width<=767px){[data-slot=gh-list][data-mobile-preview] [data-slot=gh-rows]>li[data-compact-hidden]{display:none}}[data-slot=gh-merge-box]>div>svg{display:none}[data-slot=gh-merge-box] h3{font-size:18px;font-weight:400}[data-slot=gh-merge-box] ul{margin-top:20px;font-size:13px}[data-slot=gh-merge-box] ul>li+li{margin-top:16px}[data-slot=gh-merge-box] select+button{background:var(--accent-strong);color:var(--accent-strong-foreground)}[data-route=github] [data-slot=gh-tabs]>a{color:var(--muted-foreground);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding-inline:0}[data-route=github] [data-slot=gh-tabs]>a[aria-current=page]{color:var(--accent-text);border-color:var(--accent-strong)}[data-route=github] [data-slot=gh-tabs]{flex-flow:wrap}[data-slot=gh-merge-confirm] [data-variant=primary]{background:var(--accent-strong);color:var(--accent-strong-foreground)}[data-slot=gh-merge-box]:not([data-eligibility=ready]) h3{color:var(--pending-strong)}[data-slot=gh-tabs] .gh-utility:first-of-type{margin-left:auto}[data-route=github] [data-slot=gh-tabs]{border-bottom:1px solid var(--border);gap:24px}[data-slot=gh-header]>div:first-child{row-gap:8px}[data-slot=gh-search]{border-radius:8px;padding-left:36px;font-size:12px}[data-slot=gh-rows]{gap:0}[data-slot=gh-rows]>li+li{border-top:1px solid var(--border)}[data-slot=gh-row]{border-radius:8px;padding:14px 12px}[data-slot=gh-row][data-kind=issue]>span:first-child>svg{display:none}[data-slot=gh-row][data-kind=issue]>span{padding-left:0}[data-slot=gh-row]>span:first-child>span{white-space:normal;font-weight:400}[data-slot=gh-row]>span:nth-child(2){font-family:inherit;font-size:11px}[data-slot=gh-detail-inner]{padding:24px}[data-slot=gh-hand]{border-color:color-mix(in srgb, var(--accent-strong) 24%, var(--border))}.gh-prompt-field{gap:8px}.gh-prompt-field [data-slot=gh-custom-prompt]{border:1px solid var(--border);background:var(--card);border-radius:8px;min-height:96px;padding:12px}.gh-field [data-slot=account-pill]{width:100%}@media (width<=767px){[data-slot=gh-tabs] .gh-utility:first-of-type{margin-left:0}[data-slot=gh-detail-inner]{padding:16px}}[data-slot=gh-row][data-kind=issue]>span:first-child{color:var(--foreground)}[data-slot=gh-row-labels]{order:1}[data-slot=gh-row-labels]>span+span:before{content:"·";margin-right:4px}[data-slot=gh-row]>span:nth-child(2){order:2}[data-slot=gh-merge-box] [data-variant=primary]{background:var(--accent-strong);color:var(--accent-strong-foreground)}[data-slot=gh-merge-box][data-conflicting=true] h3{color:var(--conflict)}[data-slot=gh-bypass-warning]{color:var(--pending-strong)}@media (width<=767px){[data-route=github] [data-slot=gh-tabs]{gap:12px}[data-route=github] [data-slot=gh-filter-toolbar]>div:first-child{flex-basis:auto;width:100%}}@media (width>=768px){[data-route=github] [data-slot=gh-tabs]{gap:22px;min-height:0;margin-inline:-28px;padding-inline:28px}[data-route=github] [data-slot=gh-tabs]>a:not(.gh-utility){min-height:0;margin-bottom:-1px;padding:0 0 10px;font-size:13px;font-weight:600}[data-route=github] [data-slot=gh-tabs]>a:not([aria-current=page]){color:var(--muted-foreground);font-weight:500}[data-route=github] [data-slot=gh-tabs]>a[aria-current=page]{color:var(--foreground);border-color:var(--foreground)}[data-route=github] [data-slot=gh-tabs] .gh-utility{border-radius:7px;min-height:28px;margin-bottom:8px;padding:0 10px;font-size:12px}[data-route=github] [data-slot=gh-filter-toolbar]{gap:8px}[data-route=github] [data-slot=gh-filter-toolbar] :is(input,button,select){border-radius:7px;height:32px;min-height:32px;padding-block:0;font-size:12.5px}[data-route=github] [data-slot=gh-filter-toolbar] :is(button,select):not([aria-pressed=true]){color:var(--muted-foreground)}[data-route=github] [data-slot=gh-filter-toolbar] [data-slot=gh-search]{color:var(--foreground);padding-left:32px}}
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Ar as r,Bn as i,Bt as a,D as o,F as s,Gi as c,It as l,N as u,Ot as d,P as f,Pt as p,Rt as m,Si as h,St as g,V as _,Vn as v,Wt as y,fn as b,qr as ee,t as x,ta as S,z as C}from"./button-C_rd7CPp.js";import{n as w,t as T,y as E}from"./utils-JsL3ZsJf.js";import{U as D,Ut as O,V as k,Xt as A,b as j,gt as M,qn as N,qt as te}from"./alert-dialog-BrpNUwMt.js";import{i as P,r as F,s as I,t as L}from"./popover-BohP6WTx.js";import{L as ne,_ as re,a as ie,c as ae,d as R,f as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,u as pe,x as me}from"./prompt-templates-Cubdut_C.js";import{f as he,n as z,r as B}from"./format-DpNe3S0A.js";import{n as ge,t as _e}from"./tab-link-B07Hu4QX.js";import{t as ve}from"./play-CmVAj_fu.js";import{a as ye,i as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./textarea-D20O4Pw0.js";import{d as Ee,f as De,i as Oe,s as ke,t as Ae,u as je}from"./skills-DFBiAuJG.js";import{Bt as Me,Gt as Ne,Kt as Pe,Mt as Fe,Pt as Ie,Ut as Le,Vt as Re,Wt as ze,a as Be,l as V,sn as Ve}from"./index-DgWWlOLy.js";import{t as He}from"./diff-DrEARXTV.js";var H=e(t(),1),U=n();function W({className:e,...t}){return(0,U.jsx)(`div`,{"data-slot":`skeleton`,className:T(`animate-pulse rounded-md bg-accent`,e),...t})}function Ue(e){let t=new Set;for(let n of e)for(let e of n.labels)t.add(e);return[...t].sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase()))}function We(e,t={}){let n=(t.query??``).trim().toLowerCase(),r=t.labels??[],i=n.replace(/^#/,``),a=i!==``&&/^\d+$/.test(i);return e.filter(e=>r.length>0&&!r.every(t=>e.labels.includes(t))||t.assignees?.length&&!e.assignees?.some(e=>t.assignees.some(t=>t.toLowerCase()===e.toLowerCase()))||t.author!==void 0&&e.author.toLowerCase()!==t.author.toLowerCase()||t.includeNumbers&&!t.includeNumbers.has(e.number)||t.excludeNumbers?.has(e.number)||t.projectId&&e.projectIds!==void 0&&!e.projectIds.includes(t.projectId)?!1:n===``?!0:a?String(e.number).includes(i):`#${e.number} ${e.title} ${e.author} ${e.body}`.toLowerCase().includes(n))}function Ge(e,t){let n=e.trim();if(n===``)return!1;let r=n.replace(/^#/,``);return/^\d+$/.test(r)?!t.some(e=>e.number===Number(r)):t.length===0}function G(e){if(!e||!/^[0-9a-fA-F]{6}$/.test(e))return{borderColor:`var(--border)`,color:`var(--muted-foreground)`};let t=`#${e}`;return{backgroundColor:`${t}22`,borderColor:`${t}66`,color:`color-mix(in srgb, ${t} 50%, var(--foreground))`}}function Ke({label:e,color:t,plain:n=!1}){return(0,U.jsx)(`span`,{"data-slot":`gh-label`,"data-label":e,style:n?void 0:G(t),className:n?`text-[11px] font-normal text-muted-foreground`:`rounded-full border px-1.5 py-px text-[12px] font-medium`,children:e})}function qe({item:e,colors:t,checks:n,backLink:r,subNav:i,onRunAgent:a,afterHeading:s,children:c}){let l=i?.changes??!1,u=e.kind===`pr`?`pull request`:`issue`,d=e.kind===`pr`&&!!(e.additions||e.deletions);return(0,U.jsxs)(`article`,{"data-slot":`gh-detail-inner`,className:`min-w-0 px-4 py-4 md:px-7 md:py-5`,children:[r?(0,U.jsxs)(B,{to:r.to,"data-slot":`gh-back`,className:`mb-3 inline-flex items-center gap-1.5 text-xs font-medium text-muted-foreground hover:text-foreground md:hidden`,children:[(0,U.jsx)(o,{size:16,"aria-hidden":`true`,className:`size-3.5`}),`Back to the list`]}):null,(0,U.jsxs)(`div`,{"data-slot":`gh-description-card`,className:e.kind===`pr`?`rounded-xl border border-border bg-card p-6`:void 0,children:[e.kind===`pr`?(0,U.jsxs)(`h2`,{className:`mb-4 text-[22px] leading-snug font-normal`,children:[`#`,e.number,` `,e.title]}):null,(0,U.jsxs)(`p`,{"data-slot":`gh-meta`,className:`flex flex-wrap items-center gap-x-1.5 font-mono text-[11px] text-soft-foreground`,children:[(0,U.jsxs)(`span`,{children:[`#`,e.number]}),`·`,(0,U.jsx)(`span`,{children:u}),`·`,(0,U.jsxs)(`span`,{children:[`opened by `,e.author]}),`·`,(0,U.jsxs)(`span`,{children:[z(e.createdAt),` ago`]}),e.comments?(0,U.jsxs)(U.Fragment,{children:[`·`,(0,U.jsx)(ot,{count:e.comments})]}):null,d?(0,U.jsxs)(U.Fragment,{children:[`·`,(0,U.jsxs)(`span`,{"data-slot":`gh-diffstat`,children:[(0,U.jsxs)(`span`,{className:`text-success`,children:[`+`,e.additions??0]}),` `,(0,U.jsxs)(`span`,{className:`text-danger`,children:[`−`,e.deletions??0]})]})]}):null,`·`,w(e.url)?(0,U.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"data-slot":`gh-open-link`,className:`inline-flex items-center gap-0.5 text-muted-foreground hover:text-foreground hover:underline`,children:[`open on GitHub`,(0,U.jsx)(I,{"aria-hidden":`true`,className:`size-2.5`})]}):(0,U.jsx)(`span`,{"data-slot":`gh-open-link`,className:`text-muted-foreground`,children:`open on GitHub`})]}),e.kind===`pr`?null:(0,U.jsx)(`h2`,{className:`mt-2 text-[22px] leading-snug font-normal`,children:e.title}),s,e.kind===`pr`&&i?(0,U.jsxs)(`nav`,{"aria-label":`Pull request detail`,className:`mt-4 flex border-b border-border`,children:[(0,U.jsx)(_e,{to:V(`prs`,i.filter,e.number),active:!l,children:`Conversation`}),(0,U.jsx)(_e,{to:V(`prs`,i.filter,e.number,`/changes`),active:l,children:`Changes`})]}):e.kind===`pr`?(0,U.jsx)(B,{to:V(`prs`,null,e.number,`/changes`),"data-slot":`gh-files-changed`,className:`mt-3 inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:underline`,children:`Files changed`}):null,e.labels.length>0||n?(0,U.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-1.5`,children:[e.labels.map(e=>(0,U.jsx)(Ke,{label:e,color:t[e]},e)),n?(0,U.jsx)(st,{checks:n,url:e.url}):null]}):null,l&&e.kind===`pr`?(0,U.jsx)(Ye,{item:e}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{"data-slot":`gh-body`,className:`mt-5 text-sm`,children:e.body?(0,U.jsx)(Ie,{children:e.body}):(0,U.jsx)(`p`,{className:`text-soft-foreground`,children:`(no description)`})}),(0,U.jsx)(Xe,{item:e,colors:t})]})]}),e.kind===`pr`?(0,U.jsx)(Je,{number:e.number,onRunAgent:a}):null,c]})}var K={squash:`Squash and merge`,merge:`Create a merge commit`,rebase:`Rebase and merge`};function q({state:e}){let t=`size-4 shrink-0`;return e===`passing`?(0,U.jsx)(u,{size:16,"aria-hidden":`true`,"data-slot":`gh-merge-status-passing`,className:T(t,`text-success`)}):e===`failing`?(0,U.jsx)(_,{size:16,"aria-hidden":`true`,"data-slot":`gh-merge-status-failing`,className:T(t,`text-danger`)}):e===`pending`?(0,U.jsx)(he,{"aria-hidden":`true`,"data-slot":`gh-merge-status-pending`,className:T(t,`animate-spin text-warning`)}):(0,U.jsx)(C,{size:16,"aria-hidden":`true`,"data-slot":`gh-merge-status-unknown`,className:T(t,`text-soft-foreground`)})}function Je({number:e,onRunAgent:t}){let n=S(),i=M(),a=c({queryKey:j.githubMergeState(e),queryFn:({signal:t})=>v(e,{},{signal:t}),retry:!1}),o=a.data?.available?a.data.mergeState:null,[s,l]=(0,H.useState)(null),[d,f]=(0,H.useState)(!1),[m,_]=(0,H.useState)(!1),y=N({mutationFn:t=>v(e,{refresh:!0}),onSuccess:(e,t)=>n.setQueryData(t,e),onError:e=>h(e instanceof Error?e.message:String(e),{tone:`danger`})}),b=s&&o?.methods.includes(s)?s:o?.defaultMethod??o?.methods[0]??null,ee=()=>({mergeState:j.githubMergeState(e),list:j.github({limit:Be}),comments:j.githubComments(`pr`,e),item:j.githubItem(`pr`,e),refStatus:i===void 0?void 0:j.githubRefStatusOf(i)}),C=N({mutationFn:t=>{if(!o||!b)throw Error(`No merge method is available.`);return r(e,{method:b,expectedHeadSha:o.headSha,...m&&o.canOverride?{overrideRules:!0}:{}})},onSuccess:(t,r)=>{f(!1),h(`Pull request #${e} merged`),n.invalidateQueries({queryKey:r.mergeState}),n.invalidateQueries({queryKey:r.list}),n.invalidateQueries({queryKey:r.comments}),n.invalidateQueries({queryKey:r.item}),r.refStatus&&n.invalidateQueries({queryKey:r.refStatus})},onError:(e,t)=>{h(e instanceof Error?e.message:String(e),{tone:`danger`}),n.invalidateQueries({queryKey:t.mergeState})}});if(a.isPending)return(0,U.jsx)(W,{"data-slot":`gh-merge-loading`,className:`mt-6 h-32 w-full`});if(!o)return(0,U.jsxs)(`section`,{"data-slot":`gh-merge-unavailable`,className:`mt-6 rounded-lg border border-border bg-card p-4 text-sm`,children:[(0,U.jsx)(`p`,{className:`font-medium`,children:`Merge status unavailable`}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-soft-foreground`,children:a.data?.available===!1?a.data.reason:`GitHub could not load merge requirements.`})]});let E=o.state===`merged`?`Merged`:o.state===`closed`?`Closed`:o.isDraft?`Draft`:o.mergeable===`conflicting`?`Conflicts must be resolved`:o.canMerge?`Ready to merge`:o.eligibility===`unknown`?`Merge blocked · Requirements unknown`:`Merge blocked`,D=o.reviewDecision===`approved`?`passing`:o.reviewDecision===`unknown`?`unknown`:`failing`,O=o.mergeable===`mergeable`?`passing`:o.mergeable===`conflicting`?`failing`:`unknown`,k=!!(b&&(o.canMerge||o.canOverride&&m));return(0,U.jsxs)(`section`,{"data-slot":`gh-merge-box`,"data-eligibility":o.eligibility,"data-conflicting":o.mergeable===`conflicting`?`true`:void 0,"aria-live":`polite`,className:`mt-6 rounded-lg border border-border bg-card p-4`,children:[(0,U.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o.canMerge?(0,U.jsx)(u,{size:16,"aria-hidden":`true`,className:`mt-0.5 size-5 shrink-0 text-success`}):(0,U.jsx)(p,{size:16,"aria-hidden":`true`,className:`mt-0.5 size-5 shrink-0 text-warning`}),(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsx)(`h3`,{className:`font-semibold`,children:E}),(0,U.jsxs)(x,{type:`button`,variant:`ghost`,size:`sm`,disabled:y.isPending,onClick:()=>y.mutate(j.githubMergeState(e)),children:[(0,U.jsx)(g,{size:16,"aria-hidden":`true`,className:T(`size-3.5`,y.isPending&&`animate-spin`)}),`Refresh`]})]}),(0,U.jsxs)(`p`,{className:`mt-1 font-mono text-[11px] text-soft-foreground`,children:[o.headRef,` (`,o.headSha.slice(0,7),`) → `,o.baseRef]}),(0,U.jsxs)(`ul`,{className:`mt-3 space-y-2 text-xs`,children:[(0,U.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(q,{state:D}),(0,U.jsxs)(`span`,{children:[`Reviews: `,o.reviewDecision.replaceAll(`-`,` `)]})]}),(0,U.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(q,{state:O}),(0,U.jsxs)(`span`,{children:[`Conflicts: `,o.mergeable===`conflicting`?`present`:o.mergeable===`mergeable`?`none`:`unknown`]})]}),o.checks.length===0?(0,U.jsx)(`li`,{children:`No checks configured`}):o.checks.map(e=>(0,U.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,U.jsx)(q,{state:e.state}),(0,U.jsxs)(`span`,{children:[e.name,` · `,e.state,e.required===!0?` · required`:e.required===null?` · requiredness unknown`:``]})]}),e.url&&w(e.url)?(0,U.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`text-muted-foreground underline`,children:`details`}):null]},e.name)),o.blockers.map(e=>(0,U.jsx)(`li`,{className:`text-soft-foreground`,children:e.message},e.code))]}),o.mergeable===`conflicting`&&t?(0,U.jsx)(x,{className:`mt-4`,onClick:t,children:`Run agent on this PR`}):null,o.canOverride?(0,U.jsxs)(`label`,{className:`mt-4 flex cursor-pointer items-start gap-2 rounded-md border border-warning/40 bg-warning/5 p-3 text-xs`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>_(e.target.checked),className:`mt-0.5 size-4 accent-accent-strong`}),(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-medium`,children:`Merge without waiting for requirements`}),(0,U.jsx)(`span`,{className:`mt-0.5 block text-soft-foreground`,children:`GitHub will allow this only if your permissions can bypass the repository rules.`})]})]}):null,o.eligibility===`unknown`?(0,U.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`GitHub could not confirm review and branch-protection requirements. Passing checks do not establish merge readiness.`}):null,o.state===`open`&&o.methods.length>0?(0,U.jsxs)(`div`,{className:`mt-4 flex flex-col flex-wrap gap-2 sm:flex-row`,children:[(0,U.jsx)(`select`,{"aria-label":`Merge method`,value:b??``,onChange:e=>l(e.target.value),className:`h-9 min-w-0 flex-1 rounded-md border border-input bg-background px-3 text-sm`,children:o.methods.map(e=>(0,U.jsx)(`option`,{value:e,children:K[e]},e))}),(0,U.jsx)(x,{disabled:!k,onClick:()=>f(!0),children:b?K[b]:`Merge`})]}):null]})]}),(0,U.jsx)(xe,{open:d,onOpenChange:f,children:(0,U.jsxs)(Ce,{"data-slot":`gh-merge-confirm`,showCloseButton:!1,children:[(0,U.jsxs)(Se,{children:[(0,U.jsxs)(we,{children:[b?K[b]:`Merge`,` pull request #`,e,`?`]}),(0,U.jsx)(be,{asChild:!0,children:(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`p`,{children:[`This will merge “`,o.title,`” into `,o.baseRef,`. GitHub will re-check the exact reviewed head before changing the repository.`]}),m&&o.canOverride?(0,U.jsx)(`p`,{"data-slot":`gh-bypass-warning`,className:`mt-4 text-sm text-warning`,children:`You are asking GitHub to bypass unmet repository requirements; GitHub may refuse if your permissions do not allow it.`}):null]})})]}),C.error?(0,U.jsx)(`p`,{className:`text-sm text-danger`,children:C.error.message}):null,(0,U.jsxs)(ye,{children:[(0,U.jsx)(x,{variant:`outline`,disabled:C.isPending,onClick:()=>f(!1),children:`Cancel`}),(0,U.jsx)(x,{disabled:C.isPending,onClick:()=>C.mutate(ee()),children:C.isPending?`Merging…`:b?K[b]:`Merge`})]})]})})]})}function Ye({item:e}){let t=S(),n=D(e.number),[r,a]=(0,H.useState)(``),[o,c]=(0,H.useState)(null),l=n.data,u=l?.available?l.files.filter(e=>e.path.toLowerCase().includes(r.toLowerCase())):[],d=u.findIndex(e=>e.path===o);(0,H.useEffect)(()=>{u.length>0&&!u.some(e=>e.path===o)&&c(u[0].path)},[l?.available?l.headSha:``,r]);let f=async()=>{let n=l?.available?l.headSha:null,r=j.githubPrChanges(e.number),a=await i(e.number,{refresh:!0});t.setQueryData(r,a),a.available&&n&&n!==a.headSha&&(c(a.files[0]?.path??null),h(`The reviewed revision changed.`))};if(n.isPending)return(0,U.jsx)(`p`,{"aria-live":`polite`,className:`mt-6 text-sm text-muted-foreground`,children:`Loading changed files…`});if(n.isError||!l)return(0,U.jsx)(`p`,{className:`mt-6 text-sm text-danger`,children:`Changed files could not be loaded.`});if(!l.available)return(0,U.jsx)(`p`,{className:`mt-6 text-sm text-muted-foreground`,children:l.reason});let p=u.map(e=>({path:e.path,...e.previousPath?{oldPath:e.previousPath}:{},status:e.status===`removed`?`deleted`:e.status===`changed`?`modified`:e.status,adds:e.additions,dels:e.deletions,binary:e.patchUnavailableReason===`binary`,patch:e.patch??``})),m=w(e.url)?`${e.url}/files`:null,g=u.find(e=>e.path===o);return(0,U.jsxs)(`section`,{"data-slot":`gh-pr-changes`,className:`mt-5 min-w-0`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs`,children:[(0,U.jsxs)(`strong`,{children:[l.files.length,` changed files`]}),(0,U.jsxs)(`span`,{className:`text-success`,children:[`+`,l.additions]}),(0,U.jsxs)(`span`,{className:`text-danger`,children:[`−`,l.deletions]}),(0,U.jsxs)(`span`,{className:`font-mono text-muted-foreground`,title:l.headSha,children:[`head `,l.headSha.slice(0,8)]}),(0,U.jsx)(x,{type:`button`,variant:`outline`,size:`sm`,className:`ml-auto min-h-11`,onClick:()=>void f(),children:`Refresh`})]}),l.truncated?(0,U.jsxs)(`p`,{role:`status`,className:`mt-3 rounded-md border border-warning/40 bg-warning/10 p-3 text-xs`,children:[l.reason??`This response is incomplete.`,` `,m?(0,U.jsx)(`a`,{href:m,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:`Open all files on GitHub`}):null]}):null,(0,U.jsxs)(`div`,{className:`mt-4 grid min-w-0 gap-4 lg:grid-cols-[240px_minmax(0,1fr)]`,children:[(0,U.jsxs)(`aside`,{className:`min-w-0`,children:[(0,U.jsx)(`input`,{"aria-label":`Filter changed files`,value:r,onChange:e=>a(e.target.value),placeholder:`Filter files…`,className:`min-h-11 w-full rounded-md border border-input bg-background px-3 text-sm`}),(0,U.jsx)(`select`,{"aria-label":`Select changed file`,value:o??``,onChange:e=>c(e.target.value),className:`mt-2 min-h-11 w-full rounded-md border border-input bg-background px-2 text-sm lg:hidden`,children:u.map(e=>(0,U.jsx)(`option`,{children:e.path},e.path))}),(0,U.jsx)(`ul`,{className:`mt-2 hidden max-h-[60vh] overflow-auto lg:block`,children:u.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>c(e.path),className:T(`min-h-11 w-full truncate rounded px-2 text-left text-xs`,o===e.path&&`bg-muted font-medium`),title:e.path,children:[e.status,` · `,e.path,` `,(0,U.jsxs)(`span`,{className:`text-success`,children:[`+`,e.additions]}),` `,(0,U.jsxs)(`span`,{className:`text-danger`,children:[`−`,e.deletions]})]})},e.path))})]}),(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsxs)(`div`,{className:`mb-2 flex justify-end gap-1`,children:[(0,U.jsx)(x,{"aria-label":`Previous file`,variant:`outline`,size:`icon`,className:`min-h-11 min-w-11`,disabled:d<=0,onClick:()=>c(u[d-1]?.path??null),children:(0,U.jsx)(Ve,{})}),(0,U.jsx)(x,{"aria-label":`Next file`,variant:`outline`,size:`icon`,className:`min-h-11 min-w-11`,disabled:d<0||d>=u.length-1,onClick:()=>c(u[d+1]?.path??null),children:(0,U.jsx)(s,{size:16})})]}),u.length===0?(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No changed files match this filter.`}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(He,{files:p.filter(e=>e.path===o),wrap:!0,className:`min-w-0`}),g&&!g.patch?(0,U.jsxs)(`p`,{className:`rounded-b border border-border p-3 text-xs text-muted-foreground`,children:[`Patch unavailable: `,g.patchUnavailableReason??`not-provided`,`.`]}):null]})]})]})]})}function Xe({item:e,colors:t}){let n=k(e.kind,e.number),r=n.data,i=(0,H.useMemo)(()=>{let e=[...(r?.comments??[]).map(e=>({row:`comment`,comment:e})),...(r?.events??[]).map(e=>({row:`event`,event:e}))],t=e=>{let t=Date.parse(Ze(e));return Number.isNaN(t)?-1/0:t};return e.sort((e,n)=>t(e)-t(n))},[r?.comments,r?.events]);return n.isPending?(0,U.jsxs)(`section`,{"data-slot":`gh-thread-loading`,className:`mt-6 border-t border-border pt-5`,children:[(0,U.jsx)(W,{className:`mb-3 h-3 w-24`}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(W,{className:`h-14 w-full`}),(0,U.jsx)(W,{className:`h-14 w-full`})]})]}):!r||!r.available?(0,U.jsxs)(`section`,{"data-slot":`gh-thread-error`,className:`mt-6 border-t border-border pt-5 text-xs text-soft-foreground`,children:[(0,U.jsxs)(`span`,{children:[`Couldn’t load comments — `,r?.reason??(n.error instanceof Error?n.error.message:`could not load comments`),`. `]}),(0,U.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-0.5 text-muted-foreground hover:text-foreground hover:underline`,children:[`open on GitHub`,(0,U.jsx)(I,{"aria-hidden":`true`,className:`size-2.5`})]})]}):i.length===0?null:(0,U.jsxs)(`section`,{"data-slot":`gh-thread`,className:`mt-6 border-t border-border pt-5`,children:[(0,U.jsxs)(`h3`,{"data-slot":`gh-thread-header`,className:`mb-4 text-[11px] font-semibold tracking-wide text-soft-foreground uppercase`,children:[`Activity · `,r.comments.length,` comment`,r.comments.length===1?``:`s`]}),(0,U.jsx)(`ul`,{className:`flex flex-col gap-5`,children:Qe(i).map(e=>e.group===`commits`?(0,U.jsx)($e,{commits:e.commits,colors:t},e.commits[0].id):e.entry.row===`comment`?(0,U.jsx)(it,{comment:e.entry.comment},`${e.entry.comment.kind}-${e.entry.comment.id}`):(0,U.jsx)(et,{event:e.entry.event,colors:t},e.entry.event.id))}),r.truncated?(0,U.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"data-slot":`gh-thread-truncated`,className:`mt-4 inline-flex items-center gap-0.5 text-xs text-soft-foreground hover:text-foreground hover:underline`,children:[`thread truncated — open on GitHub`,(0,U.jsx)(I,{"aria-hidden":`true`,className:`size-2.5`})]}):null]})}var Ze=e=>e.row===`comment`?e.comment.createdAt:e.event.createdAt;function Qe(e){let t=[],n=[],r=()=>{n.length!==0&&(n.length===1?t.push({group:`single`,entry:{row:`event`,event:n[0]}}):t.push({group:`commits`,commits:n}),n=[])};for(let i of e){if(i.row===`event`&&i.event.kind===`committed`&&i.row===`event`){let e=n[n.length-1];e&&e.actor!==i.event.actor&&r(),n.push(i.event);continue}r(),t.push({group:`single`,entry:i})}return r(),t}function $e({commits:e,colors:t}){let[n,r]=(0,H.useState)(!1),i=e[0]?.actor??`?`;return n?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`li`,{"data-slot":`gh-commit-group`,"data-open":`true`,className:`min-w-0`,children:(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":!0,onClick:()=>r(!1),className:`flex items-center gap-1.5 font-mono text-[11px] text-soft-foreground hover:text-foreground`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:J.committed}),(0,U.jsx)(`span`,{className:`font-sans font-medium text-foreground`,children:i}),(0,U.jsxs)(`span`,{children:[`added `,e.length,` commits`]})]})}),e.map(e=>(0,U.jsx)(et,{event:e,colors:t},e.id))]}):(0,U.jsx)(`li`,{"data-slot":`gh-commit-group`,"data-open":`false`,className:`min-w-0`,children:(0,U.jsxs)(`button`,{type:`button`,"aria-expanded":!1,onClick:()=>r(!0),className:`flex items-center gap-1.5 font-mono text-[11px] text-soft-foreground hover:text-foreground`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:J.committed}),(0,U.jsx)(`span`,{className:`font-sans font-medium text-foreground`,children:i}),(0,U.jsxs)(`span`,{children:[`added `,e.length,` commits`]}),(0,U.jsx)(`span`,{className:`shrink-0`,children:z(e[e.length-1].createdAt)})]})})}var J={committed:`⚙`,labeled:`◆`,unlabeled:`◇`,assigned:`◍`,unassigned:`◌`,merged:`⑃`,closed:`⊘`,reopened:`⊙`,head_ref_force_pushed:`↻`,"cross-referenced":`↗`,renamed:`✎`};function et({event:e,colors:t}){return(0,U.jsxs)(`li`,{"data-slot":`gh-event-row`,"data-kind":e.kind,className:T(`flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-soft-foreground`,e.kind===`merged`&&`text-accent-foreground`),children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0`,children:J[e.kind]}),(0,U.jsx)(`span`,{className:`font-sans font-medium text-foreground`,children:e.actor}),(0,U.jsx)(tt,{event:e,colors:t}),(0,U.jsx)(`span`,{className:`shrink-0`,children:z(e.createdAt)}),e.url?(0,U.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`open ${e.kind} on GitHub`,className:`ml-auto shrink-0 text-muted-foreground hover:text-foreground`,children:(0,U.jsx)(I,{"aria-hidden":`true`,className:`size-2.5`})}):null]})}function tt({event:e,colors:t}){switch(e.kind){case`committed`:return(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,U.jsx)(`span`,{className:`shrink-0`,children:`committed`}),e.sha?(0,U.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.sha.slice(0,7)}):null,e.message?(0,U.jsx)(`span`,{className:`truncate font-sans text-foreground`,children:e.message}):null,(0,U.jsx)(nt,{checks:e.checks})]});case`labeled`:case`unlabeled`:return(0,U.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,U.jsx)(`span`,{className:`shrink-0`,children:e.kind===`labeled`?`added the`:`removed the`}),e.label?(0,U.jsx)(`span`,{"data-slot":`gh-event-label`,style:G(e.label.color??t[e.label.name]),className:`max-w-[12rem] truncate rounded-full border px-1.5 py-px font-sans text-[12px]`,children:e.label.name}):null,(0,U.jsx)(`span`,{className:`shrink-0`,children:`label`})]});case`assigned`:case`unassigned`:return(0,U.jsxs)(`span`,{className:`truncate`,children:[e.kind===`assigned`?`assigned`:`unassigned`,` `,e.subject??`someone`]});case`merged`:return(0,U.jsx)(`span`,{children:`merged this`});case`closed`:return(0,U.jsx)(`span`,{children:`closed this`});case`reopened`:return(0,U.jsx)(`span`,{children:`reopened this`});case`head_ref_force_pushed`:return(0,U.jsx)(`span`,{children:`force-pushed`});case`renamed`:return(0,U.jsxs)(`span`,{className:`truncate`,children:[`renamed this to `,e.subject??`—`]});case`cross-referenced`:return(0,U.jsxs)(`span`,{className:`truncate`,children:[`referenced this in `,e.refNumber?`#${e.refNumber}`:`another thread`,e.refTitle?` ${e.refTitle}`:``]})}}function nt({checks:e}){return e?(0,U.jsx)(`span`,{"data-slot":`gh-commit-checks`,"data-checks":e,"aria-label":`checks ${e}`,className:T(`shrink-0`,X[e]),children:Y[e]}):null}var rt={approved:{label:`approved`,tone:`border-success/40 text-success`},changes_requested:{label:`changes requested`,tone:`border-danger/40 text-danger`},commented:{label:`commented`,tone:`border-border text-muted-foreground`},dismissed:{label:`dismissed`,tone:`border-border text-muted-foreground`}};function it({comment:e}){let t=e.reviewState?rt[e.reviewState]:null;return(0,U.jsxs)(`li`,{"data-slot":`gh-thread-entry`,"data-kind":e.kind,className:`min-w-0`,children:[(0,U.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 font-mono text-[11px] text-soft-foreground`,children:[(0,U.jsx)(at,{url:e.avatarUrl,login:e.author}),(0,U.jsx)(`span`,{className:`font-sans font-medium text-foreground`,children:e.author}),(0,U.jsx)(`span`,{children:z(e.createdAt)}),t?(0,U.jsx)(`span`,{"data-slot":`gh-review-chip`,"data-review-state":e.reviewState,className:T(`rounded-full border px-1.5 py-px font-sans text-[12px] font-medium`,t.tone),children:t.label}):null,(0,U.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`open comment on GitHub`,className:`ml-auto shrink-0 text-muted-foreground hover:text-foreground`,children:(0,U.jsx)(I,{"aria-hidden":`true`,className:`size-2.5`})})]}),(0,U.jsx)(`div`,{"data-slot":`gh-thread-body`,className:`text-sm`,children:e.body?(0,U.jsx)(Ie,{children:e.body}):(0,U.jsx)(`p`,{className:`text-soft-foreground`,children:`(no body)`})})]})}function at({url:e,login:t}){let[n,r]=(0,H.useState)(!1);return e&&!n?(0,U.jsx)(`img`,{src:e,alt:``,width:16,height:16,loading:`lazy`,onError:()=>r(!0),"data-slot":`gh-avatar`,className:`size-4 shrink-0 rounded-full`}):(0,U.jsx)(`span`,{"data-slot":`gh-avatar-fallback`,"aria-hidden":`true`,className:`flex size-4 shrink-0 items-center justify-center rounded-full bg-muted text-[8px] font-semibold text-muted-foreground uppercase`,children:t.slice(0,1)||`?`})}var Y={passing:`✓`,failing:`✗`,pending:`○`},X={passing:`text-success`,failing:`text-danger`,pending:`text-muted-foreground`};function ot({count:e}){return e?(0,U.jsxs)(`span`,{"data-slot":`gh-comment-count`,"data-count":e,"aria-label":`${e} comment${e===1?``:`s`}`,className:`inline-flex shrink-0 items-center gap-0.5`,children:[(0,U.jsx)(ge,{"aria-hidden":`true`,className:`size-3`}),e]}):null}function st({checks:e,url:t}){let n=T(`text-[11px] font-medium`,X[e],t&&`hover:underline`),r=`${Y[e]} checks ${e}`;return t?(0,U.jsx)(`a`,{href:`${t}/checks`,target:`_blank`,rel:`noopener noreferrer`,"data-slot":`gh-checks`,"data-checks":e,className:n,children:r}):(0,U.jsx)(`span`,{"data-slot":`gh-checks`,"data-checks":e,className:n,children:r})}function ct({checks:e}){return(0,U.jsx)(`span`,{"data-slot":`gh-row-checks`,"data-checks":e,title:`checks ${e}`,"aria-label":`checks ${e}`,className:T(`shrink-0 font-sans text-[11px] font-semibold`,X[e]),children:Y[e]})}function Z(e){return`${e.kind===`pr`?`Address GitHub pull request`:`Fix GitHub issue`} #${e.number}: ${e.title}\n\n${e.url}`}function lt(e,t=[]){let n=Z(e);return e.body?.trim()&&(n+=`\n\n---\n\n${e.body.trim()}`),t.length&&(n+=ut(t)),n}function ut(e){return`\n\nUse these skills where relevant: ${e.join(`, `)}.`}function dt(e,t){return e.replace(/\{\{\s*number\s*\}\}/gi,()=>`#${t.number}`).replace(/\{\{\s*title\s*\}\}/gi,()=>t.title).replace(/\{\{\s*url\s*\}\}/gi,()=>t.url)}function ft(e,t){if(e.includes(t.url))return!0;let n=t.kind===`pr`?String.raw`(?:pull\s+request|pr)`:String.raw`issue`;return new RegExp(String.raw`\b${n}\s*#?\s*${t.number}\b`,`i`).test(e)}function Q(e,t,n){let r=(n??``).trim();if(!r)return lt(e,t);let i=Z(e),a=r.startsWith(i)?i+dt(r.slice(i.length),e):dt(r,e),o=ft(a,e)?a:`${i}\n\n${a}`;return t.length?o+ut(t):o}function pt(e){let t=[];for(let n of e.slice(0,8)){let e=new Set(t.map(e=>e.id)),r=n;for(let t=2;e.has(r);t++)r=`${n}-${t}`;t.push({id:r,name:n,skill:n,prompt:`{{task}}`})}return t}function mt(e,t,n,r,i={}){return t?{...i,workflow:t,task:Q(e,n,r)}:n.length?{...i,steps:pt(n),task:Q(e,[],r)}:{...i,workflow:`quick-task`,task:Q(e,[],r)}}var ht={workflow:null,skills:[]},gt=`cez-followup-selection`;function _t(e){let t=e&&typeof e==`object`?e:{};return{workflow:typeof t.workflow==`string`?t.workflow:null,skills:Array.isArray(t.skills)?t.skills.filter(e=>typeof e==`string`):[]}}function vt(){try{let e=localStorage.getItem(gt);return e?_t(JSON.parse(e)):{...ht}}catch{return{...ht}}}function yt(e){try{localStorage.setItem(gt,JSON.stringify(e))}catch{}}var $=`cez-followup-prompt:`;function bt(e){try{return localStorage.getItem($+e)??``}catch{return``}}function xt(e,t){try{t===``?localStorage.removeItem($+e):localStorage.setItem($+e,t)}catch{}}function St({item:e,workflows:t,skills:n,workflow:r,onWorkflowChange:i,selectedSkills:o,onSkillsChange:s,engine:c,onEngineChange:l,queuedRunId:d,onQueued:f}){let p=S(),m=te(),g=e.kind===`pr`?`PR`:`issue`,_=o.filter(e=>n.some(t=>t.name===e)),[v]=(0,H.useState)(()=>Z(e)),[y,C]=(0,H.useState)(()=>bt(e.url)||v),T=Pe(c),E=(0,H.useRef)(null),D=(0,H.useRef)(null);(0,H.useEffect)(()=>{xt(e.url,y===v?``:y)},[e.url,y,v]);let O=(0,H.useMemo)(()=>ie(m.data?.promptTemplates),[m.data?.promptTemplates]),k=e=>{let t=E.current,n=fe({prompt:y,base:v,selectionStart:t?.selectionStart??null,focused:document.activeElement===t,remembered:D.current}),r=de(y,n,e);C(r.text),D.current=r.caret,requestAnimationFrame(()=>{E.current?.focus(),E.current?.setSelectionRange(r.caret,r.caret)})},A=ce(O,_),M=(0,H.useRef)(y);M.current=y;let P=(0,H.useRef)(``);(0,H.useEffect)(()=>{let e=le(M.current,P.current,A,v);P.current=e.applied,e.text!==M.current&&C(e.text)},[A,v]);let F=N({mutationFn:async()=>T.canRun?b(mt(e,r,_,y,Ne(T))):null,onSuccess:t=>{if(t===null)return;let n=`runs`in t?t.runs[0]:t;n&&f(e.url,n.id),h(`Added to the queue — ${g} #${e.number}`),_.length>0&&m.data!==void 0&&ee({skillUsage:_.reduce((e,t)=>Ae(e,t),m.data.skillUsage)}).then(()=>p.invalidateQueries({queryKey:j.uiState})).catch(()=>{}),xt(e.url,``),C(v),P.current=``,p.invalidateQueries({queryKey:j.runs.all})},onError:e=>h(e.message,{tone:`danger`})}),I=e=>{Me({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.isPending&&T.canRun&&F.mutate())},L=e=>s(o.includes(e)?o.filter(t=>t!==e):[...o,e]);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`section`,{"data-slot":`gh-hand`,className:`mt-7 rounded-lg border border-border bg-card p-4`,children:[(0,U.jsx)(`h3`,{className:`text-xl font-normal text-foreground`,children:`Hand this to the agent`}),(0,U.jsxs)(`label`,{className:`gh-field gh-prompt-field`,children:[(0,U.jsx)(`span`,{children:`Instructions for the agent`}),(0,U.jsx)(Te,{ref:E,"data-slot":`gh-custom-prompt`,"aria-label":`Custom prompt`,"aria-keyshortcuts":`Control+Enter Meta+Enter`,value:y,onChange:e=>C(e.target.value),onSelect:e=>{D.current=e.currentTarget.selectionStart},onKeyDown:I,placeholder:`Instructions for the agent… (#${e.number} and its link are always sent)`,className:`mt-3 min-h-20 text-[13px]`})]}),(0,U.jsx)(Le,{templates:O,onInsert:k}),(0,U.jsxs)(`div`,{className:`gh-handoff-settings`,children:[(0,U.jsxs)(`div`,{className:`gh-field`,children:[(0,U.jsx)(`span`,{children:`Workflow`}),(0,U.jsx)(Ct,{workflows:t,value:r,onChange:i})]}),(0,U.jsxs)(`div`,{className:`gh-field`,children:[(0,U.jsx)(`span`,{children:`Skills · select one or more`}),(0,U.jsx)(Tt,{skills:n,skillUsage:m.data?.skillUsage,selected:_,onToggle:L})]}),_.length>0?(0,U.jsx)(`div`,{"data-slot":`gh-skill-chips`,className:`mt-2.5 flex flex-wrap gap-1.5`,children:_.map(e=>(0,U.jsxs)(`button`,{type:`button`,"data-slot":`gh-skill-chip`,"data-skill":e,onClick:()=>L(e),title:`Remove this skill`,className:`inline-flex min-h-11 items-center gap-2 rounded-lg border border-border bg-card px-3 text-xs font-medium text-foreground transition-colors hover:bg-danger/10 hover:text-danger`,children:[e,(0,U.jsx)(a,{size:16,"aria-hidden":`true`,className:`size-3`})]},e))}):null,(0,U.jsx)(ze,{layout:`row`,pick:c,onChange:l,disabled:F.isPending||!T.canRun,accounts:!0}),(0,U.jsxs)(`div`,{className:`gh-field`,children:[(0,U.jsx)(`span`,{children:`Account`}),(0,U.jsx)(wt,{resolved:T,disabled:F.isPending||!T.canRun,onPick:e=>l({...c,account:e})})]}),!T.providerPending&&!T.canRun?(0,U.jsxs)(`span`,{"data-slot":`gh-provider-gate`,className:`inline-flex flex-wrap items-center gap-1 text-xs text-muted-foreground`,children:[T.providerError?`Provider authentication could not be verified.`:`Connect an agent provider to run this item.`,(0,U.jsx)(B,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}):null]}),(0,U.jsxs)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:[e.kind===`pr`?`PR`:`Issue`,` number and link remain attached to the task. Edit the prompt before starting. Cmd/Ctrl+Enter submits; Enter adds a new line.`]})]}),(0,U.jsxs)(`div`,{"data-slot":`gh-handoff-actions`,className:`mt-[22px] flex flex-wrap items-center gap-2.5`,children:[w(e.url)?(0,U.jsx)(x,{asChild:!0,variant:`outline`,children:(0,U.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,children:`Open in GitHub`})}):null,(0,U.jsxs)(x,{variant:`primary`,"data-action":`gh-run`,disabled:F.isPending||!T.canRun,onClick:()=>F.mutate(),children:[(0,U.jsx)(ve,{"aria-hidden":`true`,className:`size-3.5`}),`Run agent on this `,g]}),(0,U.jsx)(`kbd`,{"aria-hidden":`true`,className:`rounded-[5px] border border-b-2 border-border bg-card px-[5px] py-px font-mono text-[11px] font-medium text-muted-foreground`,children:Re()}),d?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`span`,{"data-slot":`gh-queued`,className:`flex items-center gap-1 text-xs font-medium text-success`,children:[(0,U.jsx)(u,{size:16,"aria-hidden":`true`,className:`size-3.5`}),`queued`]}),(0,U.jsx)(B,{to:`/tasks/${d}`,"data-slot":`gh-view-run`,className:`text-xs font-semibold text-accent-text hover:underline`,children:`View task →`})]}):null]})]})}function Ct({workflows:e,value:t,onChange:n}){let[r,i]=(0,H.useState)(!1),[a,o]=(0,H.useState)(``),s=(0,H.useRef)(null),c=Ee(e,a);return(0,U.jsxs)(L,{open:r,onOpenChange:e=>{i(e),e||o(``)},children:[(0,U.jsx)(P,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"data-slot":`gh-workflow-trigger`,"aria-label":`Choose a workflow`,className:T(me,t&&`border-foreground/60 font-mono text-[11px] font-semibold text-foreground`),children:[(0,U.jsx)(m,{size:16,"aria-hidden":`true`,className:`size-3 shrink-0 text-accent-icon`}),(0,U.jsx)(`span`,{className:`min-w-0 max-w-44 truncate`,children:t??`workflow`}),(0,U.jsx)(f,{size:16,"aria-hidden":`true`,className:`size-2.5 shrink-0 text-soft-foreground`})]})}),(0,U.jsx)(F,{align:`start`,sideOffset:8,className:`w-[320px] max-w-[calc(100vw-2rem)] p-0`,children:(0,U.jsxs)(ae,{shouldFilter:!1,children:[(0,U.jsx)(oe,{placeholder:`search workflows…`,value:a,onValueChange:o,onInput:()=>s.current?.scrollTo(0,0)}),(0,U.jsxs)(se,{ref:s,"data-slot":`gh-workflow-menu`,className:`max-h-[min(16rem,calc(var(--radix-popover-content-available-height)-3rem))]`,children:[c.length===0?(0,U.jsx)(pe,{children:`Nothing matches.`}):null,(0,U.jsx)(R,{children:c.map(e=>{let r=t===e.name;return(0,U.jsxs)(ue,{value:`workflow ${e.name}`,keywords:De(e.name,e.description),"data-slot":`gh-workflow-option`,"data-workflow":e.name,onSelect:()=>{n(r?null:e.name),i(!1)},children:[(0,U.jsx)(`span`,{className:`shrink-0 font-mono text-xs`,children:e.name}),e.description?(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:e.description}):null,r?(0,U.jsx)(u,{size:16,"aria-hidden":`true`,className:`ml-auto size-3.5 shrink-0 text-link-foreground`}):null]},e.name)})})]})]})})]})}function wt({resolved:e,disabled:t,onPick:n}){let r=e.accounts.filter(t=>t.provider===e.runner),i=[...r.some(e=>e.id==="default")?[]:[{value:E,label:`Default`}],...r.map(e=>({value:e.id,label:e.label,desc:e.configDir}))],a=e.account??e.repoAccount?.[e.runner]??`default`;return(0,U.jsx)(re,{icon:(0,U.jsx)(l,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),slot:`account-pill`,ariaLabel:`Account`,label:i.find(e=>e.value===a)?.label??`Default`,value:a,options:i,disabled:t,onPick:n})}function Tt({skills:e,skillUsage:t,selected:n,onToggle:r}){let[i,a]=(0,H.useState)(!1),[o,s]=(0,H.useState)(``),[c,l]=(0,H.useState)(null),p=(0,H.useRef)(null),{mostUsed:m,project:h,global:g,ranked:_}=je(e,o,t),v=(e,t)=>{let i=n.includes(e.name);return(0,U.jsxs)(ue,{value:`skill ${e.name} ${e.path}`,keywords:De(e.name,e.description),"data-slot":`gh-skill-option`,"data-skill":e.name,"data-selected":i?`true`:void 0,onSelect:()=>r(e.name),children:[(0,U.jsx)(`span`,{className:T(`shrink-0 font-mono text-xs`,t&&`font-semibold`),children:e.name}),e.description?(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:e.description}):null,(0,U.jsx)(`button`,{type:`button`,"data-slot":`gh-skill-view`,"aria-label":`View skill ${e.name}`,title:`View skill`,onClick:t=>{t.preventDefault(),t.stopPropagation(),l(e)},className:`ml-auto shrink-0 rounded-sm p-0.5 text-soft-foreground transition-colors hover:text-foreground`,children:(0,U.jsx)(ne,{"aria-hidden":`true`,className:`size-3.5`})}),i?(0,U.jsx)(u,{size:16,"aria-hidden":`true`,className:`size-3.5 shrink-0 text-link-foreground`}):null]},e.path)};return e.length===0?null:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Fe,{skill:c,onClose:()=>l(null)}),(0,U.jsxs)(L,{open:i,onOpenChange:e=>{a(e),e||s(``)},children:[(0,U.jsx)(P,{asChild:!0,children:(0,U.jsxs)(`button`,{type:`button`,"data-slot":`gh-skills-trigger`,"aria-label":`Choose skills`,className:T(me,n.length>0&&`border-foreground/60 font-semibold text-foreground`),children:[(0,U.jsx)(d,{size:16,"aria-hidden":`true`,className:`size-3 shrink-0 text-accent-icon`}),`skills`,n.length>0?` · ${n.length}`:``,(0,U.jsx)(f,{size:16,"aria-hidden":`true`,className:`size-2.5 shrink-0 text-soft-foreground`})]})}),(0,U.jsx)(F,{align:`start`,sideOffset:8,className:`w-[336px] max-w-[calc(100vw-2rem)] p-0`,children:(0,U.jsxs)(ae,{shouldFilter:!1,children:[(0,U.jsx)(oe,{placeholder:`search skills…`,value:o,onValueChange:s,onInput:()=>p.current?.scrollTo(0,0)}),(0,U.jsxs)(se,{ref:p,"data-slot":`gh-skill-menu`,className:`max-h-[min(16rem,calc(var(--radix-popover-content-available-height)-3rem))]`,children:[(_?_.length===0:m.length===0&&h.length===0&&g.length===0)?(0,U.jsx)(pe,{children:`Nothing matches.`}):null,_?_.length>0?(0,U.jsx)(R,{children:_.map(e=>v(e,Oe(e)))}):null:(0,U.jsxs)(U.Fragment,{children:[m.length>0?(0,U.jsx)(R,{heading:`Most used`,children:m.map(e=>v(e,Oe(e)))}):null,h.length>0?(0,U.jsx)(R,{heading:`Project skills`,children:h.map(e=>v(e,!0))}):null,g.length>0?(0,U.jsx)(R,{heading:`Global`,children:g.map(e=>v(e,!1))}):null]})]})]})})]})]})}var Et=new WeakMap;function Dt(){let e=vt(),t={workflow:e.workflow,selectedSkills:e.skills,engine:{runner:null,model:null,effort:null,account:null},queued:new Map},n=new Set;return{snapshot:()=>t,subscribe:e=>(n.add(e),()=>{n.delete(e)}),update:e=>{t={...t,...e},(e.workflow!==void 0||e.selectedSkills!==void 0)&&yt({workflow:t.workflow,skills:[...t.selectedSkills]}),n.forEach(e=>e())}}}function Ot(){let e=S(),{projectId:t}=y(),n=Et.get(e);n||Et.set(e,n=new Map);let r=n.get(t);r||n.set(t,r=Dt());let{snapshot:i,subscribe:a,update:o}=r,s=(0,H.useSyncExternalStore)(a,i,i),c=A(),l=O(),u=te(),d=c.data?.workflows;(0,H.useEffect)(()=>{d&&s.workflow!==null&&!d.some(e=>e.name===s.workflow)&&o({workflow:null})},[o,d,s.workflow]);let f=(0,H.useMemo)(()=>ke(l.data??[],u.data?.skillUsage),[l.data,u.data?.skillUsage]);return{...s,workflows:c,skillList:f,setWorkflow:e=>o({workflow:e}),setSelectedSkills:e=>o({selectedSkills:e}),setEngine:e=>o({engine:e}),onQueued:(e,t)=>o({queued:new Map(i().queued).set(e,t)})}}export{ot as a,Qe as c,G as d,Ge as f,ct as i,Ue as l,St as n,qe as o,lt as r,Ke as s,Ot as t,We as u};