@wjarka/cezarion 0.16.0 → 0.17.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 (907) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +594 -207
  3. package/dist/agent-config/account-identity.d.ts +3 -19
  4. package/dist/agent-config/account-identity.js +8 -5
  5. package/dist/agent-config/account-identity.js.map +1 -1
  6. package/dist/agent-config/catalog.d.ts +3 -14
  7. package/dist/agent-config/catalog.js.map +1 -1
  8. package/dist/agent-config/files.d.ts +2 -6
  9. package/dist/agent-config/files.js +2 -6
  10. package/dist/agent-config/files.js.map +1 -1
  11. package/dist/agent-config/model-settings/types.d.ts +1 -1
  12. package/dist/agent-config/seed.d.ts +11 -3
  13. package/dist/agent-config/seed.js +52 -48
  14. package/dist/agent-config/seed.js.map +1 -1
  15. package/dist/agent-config/service.js +3 -2
  16. package/dist/agent-config/service.js.map +1 -1
  17. package/dist/agent-config/validate.d.ts +1 -4
  18. package/dist/agent-config/validate.js.map +1 -1
  19. package/dist/application-update/helper.d.ts +2 -2
  20. package/dist/application-update/helper.js +7 -12
  21. package/dist/application-update/helper.js.map +1 -1
  22. package/dist/application-update/launcher.d.ts +4 -0
  23. package/dist/application-update/launcher.js +18 -12
  24. package/dist/application-update/launcher.js.map +1 -1
  25. package/dist/application-update/service.d.ts +3 -3
  26. package/dist/application-update/service.js +1 -1
  27. package/dist/application-update/service.js.map +1 -1
  28. package/dist/archive-on-merge-setting.d.ts +15 -0
  29. package/dist/archive-on-merge-setting.js +14 -0
  30. package/dist/archive-on-merge-setting.js.map +1 -0
  31. package/dist/artifacts/cli.d.ts +8 -0
  32. package/dist/artifacts/cli.js +21 -2
  33. package/dist/artifacts/cli.js.map +1 -1
  34. package/dist/artifacts/resolve.js +2 -1
  35. package/dist/artifacts/resolve.js.map +1 -1
  36. package/dist/artifacts/store.js.map +1 -1
  37. package/dist/automations/automation-cli.d.ts +59 -0
  38. package/dist/automations/automation-cli.js +509 -0
  39. package/dist/automations/automation-cli.js.map +1 -0
  40. package/dist/automations/builtin-skill.d.ts +7 -0
  41. package/dist/automations/builtin-skill.js +14 -0
  42. package/dist/automations/builtin-skill.js.map +1 -0
  43. package/dist/automations/github-baseline.d.ts +3 -0
  44. package/dist/automations/github-baseline.js +17 -0
  45. package/dist/automations/github-baseline.js.map +1 -0
  46. package/dist/automations/github-poller.d.ts +23 -4
  47. package/dist/automations/github-poller.js +157 -88
  48. package/dist/automations/github-poller.js.map +1 -1
  49. package/dist/automations/prompts.d.ts +12 -0
  50. package/dist/automations/prompts.js +160 -0
  51. package/dist/automations/prompts.js.map +1 -0
  52. package/dist/automations/schedule-runner.d.ts +43 -24
  53. package/dist/automations/schedule-runner.js +207 -20
  54. package/dist/automations/schedule-runner.js.map +1 -1
  55. package/dist/automations/scheduler.d.ts +10 -2
  56. package/dist/automations/scheduler.js +200 -54
  57. package/dist/automations/scheduler.js.map +1 -1
  58. package/dist/automations/service.d.ts +777 -0
  59. package/dist/automations/service.js +444 -0
  60. package/dist/automations/service.js.map +1 -0
  61. package/dist/automations/store.d.ts +17 -7
  62. package/dist/automations/store.js +88 -17
  63. package/dist/automations/store.js.map +1 -1
  64. package/dist/automations/task-template.d.ts +7 -2
  65. package/dist/automations/task-template.js +93 -44
  66. package/dist/automations/task-template.js.map +1 -1
  67. package/dist/automations/tool-adapter.d.ts +6 -0
  68. package/dist/automations/tool-adapter.js +108 -0
  69. package/dist/automations/tool-adapter.js.map +1 -0
  70. package/dist/automations/types.d.ts +1 -405
  71. package/dist/automations/types.js +1 -218
  72. package/dist/automations/types.js.map +1 -1
  73. package/dist/autosave-cleanup.d.ts +26 -0
  74. package/dist/autosave-cleanup.js +87 -0
  75. package/dist/autosave-cleanup.js.map +1 -0
  76. package/dist/autosave-git.d.ts +3 -0
  77. package/dist/autosave-git.js +67 -35
  78. package/dist/autosave-git.js.map +1 -1
  79. package/dist/autosave-group.d.ts +8 -0
  80. package/dist/autosave-group.js +61 -0
  81. package/dist/autosave-group.js.map +1 -0
  82. package/dist/autosave-holders.d.ts +31 -4
  83. package/dist/autosave-holders.js +92 -7
  84. package/dist/autosave-holders.js.map +1 -1
  85. package/dist/autosave-windows.d.ts +14 -0
  86. package/dist/autosave-windows.js +36 -2
  87. package/dist/autosave-windows.js.map +1 -1
  88. package/dist/ci-wait/client.d.ts +20 -3
  89. package/dist/ci-wait/client.js +40 -44
  90. package/dist/ci-wait/client.js.map +1 -1
  91. package/dist/ci-wait/controller.d.ts +622 -36
  92. package/dist/ci-wait/controller.js +152 -20
  93. package/dist/ci-wait/controller.js.map +1 -1
  94. package/dist/ci-wait/errors.d.ts +19 -0
  95. package/dist/ci-wait/errors.js +180 -2
  96. package/dist/ci-wait/errors.js.map +1 -1
  97. package/dist/ci-wait/github.d.ts +25 -1
  98. package/dist/ci-wait/github.js +76 -9
  99. package/dist/ci-wait/github.js.map +1 -1
  100. package/dist/ci-wait/mcp.d.ts +0 -1
  101. package/dist/ci-wait/mcp.js +0 -2
  102. package/dist/ci-wait/mcp.js.map +1 -1
  103. package/dist/ci-wait/supervisor.d.ts +7 -0
  104. package/dist/ci-wait/supervisor.js +113 -17
  105. package/dist/ci-wait/supervisor.js.map +1 -1
  106. package/dist/ci-wait/tools.d.ts +536 -16
  107. package/dist/ci-wait/tools.js +165 -20
  108. package/dist/ci-wait/tools.js.map +1 -1
  109. package/dist/config.d.ts +3 -17
  110. package/dist/config.js +4 -60
  111. package/dist/config.js.map +1 -1
  112. package/dist/contract/active-provider.d.ts +12 -0
  113. package/dist/contract/agent-profiles.d.ts +2 -10
  114. package/dist/contract/ask-schema.d.ts +22 -4
  115. package/dist/contract/ask.d.ts +6 -4
  116. package/dist/contract/attachments.d.ts +35 -0
  117. package/dist/contract/attention.d.ts +46 -37
  118. package/dist/contract/automation-requests.d.ts +308 -0
  119. package/dist/contract/automation-schedule.d.ts +40 -11
  120. package/dist/contract/automation-storage.d.ts +512 -0
  121. package/dist/contract/automations.d.ts +421 -40
  122. package/dist/contract/ci-wait.d.ts +41 -4
  123. package/dist/contract/config-requests.d.ts +36 -0
  124. package/dist/contract/conversations.d.ts +24 -10
  125. package/dist/contract/defined.d.ts +8 -0
  126. package/dist/contract/delegation.d.ts +312 -8
  127. package/dist/contract/events.d.ts +24 -3
  128. package/dist/contract/github-requests.d.ts +26 -0
  129. package/dist/contract/github.d.ts +60 -27
  130. package/dist/contract/handoff.d.ts +43 -0
  131. package/dist/contract/health.d.ts +2 -2
  132. package/dist/contract/image-path.d.ts +6 -0
  133. package/dist/contract/index.d.ts +31 -0
  134. package/dist/contract/index.js +3756 -1525
  135. package/dist/contract/live-coordination.d.ts +158 -0
  136. package/dist/contract/live-limits.d.ts +8 -0
  137. package/dist/contract/live.d.ts +123 -0
  138. package/dist/contract/pending-ask.d.ts +58 -0
  139. package/dist/contract/permissions.d.ts +54 -0
  140. package/dist/contract/preview.d.ts +33 -0
  141. package/dist/contract/project-limits.d.ts +33 -0
  142. package/dist/contract/projects.d.ts +486 -20
  143. package/dist/contract/provider-requests.d.ts +77 -0
  144. package/dist/contract/query-requests.d.ts +52 -0
  145. package/dist/contract/repo-requests.d.ts +12 -0
  146. package/dist/contract/run-labels.d.ts +8 -0
  147. package/dist/contract/run-limits.d.ts +8 -0
  148. package/dist/contract/run-predicates.d.ts +32 -0
  149. package/dist/contract/run-requests.d.ts +33 -0
  150. package/dist/contract/run-search.d.ts +193 -0
  151. package/dist/contract/runs.d.ts +2232 -1894
  152. package/dist/contract/scheduled-tasks.d.ts +187 -0
  153. package/dist/contract/skills.d.ts +22 -772
  154. package/dist/contract/team-skill-ref.d.ts +10 -0
  155. package/dist/{core → contract}/tool-display.d.ts +4 -10
  156. package/dist/contract/ui-state-requests.d.ts +60 -0
  157. package/dist/contract/version.d.ts +3 -0
  158. package/dist/contract/voice.d.ts +213 -0
  159. package/dist/contract/waits.d.ts +1204 -0
  160. package/dist/contract/workflow-file.d.ts +37 -0
  161. package/dist/contract/workflow-requests.d.ts +7 -0
  162. package/dist/contract/workflows.d.ts +1 -2
  163. package/dist/contract/workspace.d.ts +34 -82
  164. package/dist/contract/zoned-time.d.ts +2 -11
  165. package/dist/core/agent-env.d.ts +4 -16
  166. package/dist/core/agent-env.js +14 -16
  167. package/dist/core/agent-env.js.map +1 -1
  168. package/dist/core/agent-profiles.d.ts +28 -40
  169. package/dist/core/agent-profiles.js +56 -51
  170. package/dist/core/agent-profiles.js.map +1 -1
  171. package/dist/core/agent-runner.d.ts +88 -44
  172. package/dist/core/agent-runner.js +17 -18
  173. package/dist/core/agent-runner.js.map +1 -1
  174. package/dist/core/ask.d.ts +3 -0
  175. package/dist/core/ask.js +12 -0
  176. package/dist/core/ask.js.map +1 -1
  177. package/dist/core/backend-detect.js +16 -2
  178. package/dist/core/backend-detect.js.map +1 -1
  179. package/dist/core/claude-cli-runner.d.ts +23 -4
  180. package/dist/core/claude-cli-runner.js +280 -76
  181. package/dist/core/claude-cli-runner.js.map +1 -1
  182. package/dist/core/claude-model-catalog.d.ts +2 -10
  183. package/dist/core/claude-model-catalog.js +2 -10
  184. package/dist/core/claude-model-catalog.js.map +1 -1
  185. package/dist/core/claude-ui-mapper.d.ts +2 -2
  186. package/dist/core/claude-ui-mapper.js +94 -2
  187. package/dist/core/claude-ui-mapper.js.map +1 -1
  188. package/dist/core/codex-app-server-runner.d.ts +3 -4
  189. package/dist/core/codex-app-server-runner.js +146 -51
  190. package/dist/core/codex-app-server-runner.js.map +1 -1
  191. package/dist/core/codex-app-server-transport.d.ts +4 -3
  192. package/dist/core/codex-app-server-transport.js +11 -7
  193. package/dist/core/codex-app-server-transport.js.map +1 -1
  194. package/dist/core/codex-approvals.d.ts +12 -0
  195. package/dist/core/codex-approvals.js +161 -0
  196. package/dist/core/codex-approvals.js.map +1 -0
  197. package/dist/core/codex-permissions.d.ts +1 -1
  198. package/dist/core/codex-ui-mapper.js +45 -1
  199. package/dist/core/codex-ui-mapper.js.map +1 -1
  200. package/dist/core/cursor-acp-runner.d.ts +1 -1
  201. package/dist/core/cursor-acp-runner.js +39 -15
  202. package/dist/core/cursor-acp-runner.js.map +1 -1
  203. package/dist/core/cursor-cli-flags.d.ts +19 -0
  204. package/dist/core/cursor-cli-flags.js +47 -0
  205. package/dist/core/cursor-cli-flags.js.map +1 -0
  206. package/dist/core/cursor-model-catalog.d.ts +22 -0
  207. package/dist/core/cursor-model-catalog.js +53 -24
  208. package/dist/core/cursor-model-catalog.js.map +1 -1
  209. package/dist/core/cursor-print-capabilities.d.ts +16 -0
  210. package/dist/core/cursor-print-capabilities.js +141 -0
  211. package/dist/core/cursor-print-capabilities.js.map +1 -0
  212. package/dist/core/cursor-print-process.d.ts +31 -0
  213. package/dist/core/cursor-print-process.js +117 -0
  214. package/dist/core/cursor-print-process.js.map +1 -0
  215. package/dist/core/cursor-print-runner.d.ts +31 -0
  216. package/dist/core/cursor-print-runner.js +555 -0
  217. package/dist/core/cursor-print-runner.js.map +1 -0
  218. package/dist/core/cursor-print-tool-catalog.d.ts +10 -0
  219. package/dist/core/cursor-print-tool-catalog.js +91 -0
  220. package/dist/core/cursor-print-tool-catalog.js.map +1 -0
  221. package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
  222. package/dist/core/cursor-print-ui-mapper.js +553 -0
  223. package/dist/core/cursor-print-ui-mapper.js.map +1 -0
  224. package/dist/core/cursor-runner.d.ts +24 -0
  225. package/dist/core/cursor-runner.js +149 -0
  226. package/dist/core/cursor-runner.js.map +1 -0
  227. package/dist/core/cursor-ui-mapper.js +5 -2
  228. package/dist/core/cursor-ui-mapper.js.map +1 -1
  229. package/dist/core/defined.d.ts +1 -0
  230. package/dist/core/defined.js +2 -0
  231. package/dist/core/defined.js.map +1 -0
  232. package/dist/core/hook-items.d.ts +14 -0
  233. package/dist/core/hook-items.js +13 -0
  234. package/dist/core/hook-items.js.map +1 -0
  235. package/dist/core/host-model-catalog.d.ts +2 -9
  236. package/dist/core/host-model-catalog.js +2 -9
  237. package/dist/core/host-model-catalog.js.map +1 -1
  238. package/dist/core/managed-session.js +15 -3
  239. package/dist/core/managed-session.js.map +1 -1
  240. package/dist/core/model-identity.d.ts +4 -21
  241. package/dist/core/model-identity.js.map +1 -1
  242. package/dist/core/model-presets.d.ts +2 -13
  243. package/dist/core/model-presets.js +2 -13
  244. package/dist/core/model-presets.js.map +1 -1
  245. package/dist/core/omp-model-catalog.js.map +1 -1
  246. package/dist/core/omp-runner.d.ts +6 -7
  247. package/dist/core/omp-runner.js +92 -33
  248. package/dist/core/omp-runner.js.map +1 -1
  249. package/dist/core/omp-ui-mapper.js +1 -1
  250. package/dist/core/omp-ui-mapper.js.map +1 -1
  251. package/dist/core/opencode-model-catalog.js.map +1 -1
  252. package/dist/core/opencode-permissions.d.ts +52 -0
  253. package/dist/core/opencode-permissions.js +101 -0
  254. package/dist/core/opencode-permissions.js.map +1 -0
  255. package/dist/core/opencode-server-runner.d.ts +10 -9
  256. package/dist/core/opencode-server-runner.js +286 -28
  257. package/dist/core/opencode-server-runner.js.map +1 -1
  258. package/dist/core/opencode-session-error.d.ts +15 -7
  259. package/dist/core/opencode-session-error.js +25 -9
  260. package/dist/core/opencode-session-error.js.map +1 -1
  261. package/dist/core/opencode-ui-mapper.js +2 -2
  262. package/dist/core/opencode-ui-mapper.js.map +1 -1
  263. package/dist/core/pi-model-catalog.js.map +1 -1
  264. package/dist/core/pi-runner.d.ts +12 -4
  265. package/dist/core/pi-runner.js +171 -63
  266. package/dist/core/pi-runner.js.map +1 -1
  267. package/dist/core/pi-ui-mapper.js +1 -1
  268. package/dist/core/pi-ui-mapper.js.map +1 -1
  269. package/dist/core/process-usage.d.ts +5 -0
  270. package/dist/core/process-usage.js +24 -4
  271. package/dist/core/process-usage.js.map +1 -1
  272. package/dist/core/provider-auth.d.ts +16 -107
  273. package/dist/core/provider-auth.js +16 -132
  274. package/dist/core/provider-auth.js.map +1 -1
  275. package/dist/core/runner-factory.d.ts +4 -1
  276. package/dist/core/runner-factory.js +3 -3
  277. package/dist/core/runner-factory.js.map +1 -1
  278. package/dist/core/runner-runtime.d.ts +22 -0
  279. package/dist/core/runner-runtime.js +66 -5
  280. package/dist/core/runner-runtime.js.map +1 -1
  281. package/dist/core/runner-tool-grants.d.ts +21 -0
  282. package/dist/core/runner-tool-grants.js +64 -0
  283. package/dist/core/runner-tool-grants.js.map +1 -0
  284. package/dist/core/secret-redaction.d.ts +3 -20
  285. package/dist/core/secret-redaction.js +3 -20
  286. package/dist/core/secret-redaction.js.map +1 -1
  287. package/dist/core/session-process.d.ts +22 -2
  288. package/dist/core/session-process.js +170 -12
  289. package/dist/core/session-process.js.map +1 -1
  290. package/dist/core/shell-env.d.ts +2 -15
  291. package/dist/core/shell-env.js +2 -15
  292. package/dist/core/shell-env.js.map +1 -1
  293. package/dist/core/ui-events.d.ts +60 -47
  294. package/dist/core/ui-events.js +0 -23
  295. package/dist/core/ui-events.js.map +1 -1
  296. package/dist/core/usage-limit.js.map +1 -1
  297. package/dist/data-gitignore.js +3 -1
  298. package/dist/data-gitignore.js.map +1 -1
  299. package/dist/delegation/capacity.d.ts +4 -8
  300. package/dist/delegation/capacity.js +4 -8
  301. package/dist/delegation/capacity.js.map +1 -1
  302. package/dist/delegation/cli.js +123 -21
  303. package/dist/delegation/cli.js.map +1 -1
  304. package/dist/delegation/context.d.ts +19 -3
  305. package/dist/delegation/context.js +217 -22
  306. package/dist/delegation/context.js.map +1 -1
  307. package/dist/delegation/conversations.d.ts +4 -3
  308. package/dist/delegation/conversations.js +7 -5
  309. package/dist/delegation/conversations.js.map +1 -1
  310. package/dist/delegation/destroy-observation.d.ts +1 -1
  311. package/dist/delegation/destroy-observation.js.map +1 -1
  312. package/dist/delegation/effort.js.map +1 -1
  313. package/dist/delegation/execution-identity.d.ts +1 -1
  314. package/dist/delegation/execution-identity.js +41 -7
  315. package/dist/delegation/execution-identity.js.map +1 -1
  316. package/dist/delegation/idle-test-app.d.ts +4 -0
  317. package/dist/delegation/idle-test-app.js +174 -0
  318. package/dist/delegation/idle-test-app.js.map +1 -0
  319. package/dist/delegation/input.js.map +1 -1
  320. package/dist/delegation/park-notice.d.ts +42 -0
  321. package/dist/delegation/park-notice.js +71 -0
  322. package/dist/delegation/park-notice.js.map +1 -0
  323. package/dist/delegation/policy.d.ts +2 -0
  324. package/dist/delegation/policy.js +9 -1
  325. package/dist/delegation/policy.js.map +1 -1
  326. package/dist/delegation/process-liveness.d.ts +10 -15
  327. package/dist/delegation/process-liveness.js +11 -35
  328. package/dist/delegation/process-liveness.js.map +1 -1
  329. package/dist/delegation/provision.js +21 -19
  330. package/dist/delegation/provision.js.map +1 -1
  331. package/dist/delegation/questions.d.ts +3 -1
  332. package/dist/delegation/questions.js +10 -5
  333. package/dist/delegation/questions.js.map +1 -1
  334. package/dist/delegation/readiness.d.ts +2 -2
  335. package/dist/delegation/results.d.ts +4 -1
  336. package/dist/delegation/results.js +49 -18
  337. package/dist/delegation/results.js.map +1 -1
  338. package/dist/delegation/retry-backoff.d.ts +8 -0
  339. package/dist/delegation/retry-backoff.js +8 -0
  340. package/dist/delegation/retry-backoff.js.map +1 -1
  341. package/dist/delegation/routes.d.ts +114 -30
  342. package/dist/delegation/routes.js +4 -1
  343. package/dist/delegation/routes.js.map +1 -1
  344. package/dist/delegation/scratch-cleanup.d.ts +4 -5
  345. package/dist/delegation/scratch-cleanup.js +10 -8
  346. package/dist/delegation/scratch-cleanup.js.map +1 -1
  347. package/dist/delegation/service.d.ts +12 -4
  348. package/dist/delegation/service.js +76 -28
  349. package/dist/delegation/service.js.map +1 -1
  350. package/dist/delegation/transport.d.ts +154 -70
  351. package/dist/delegation/wait.d.ts +11 -0
  352. package/dist/delegation/wait.js +24 -0
  353. package/dist/delegation/wait.js.map +1 -1
  354. package/dist/delegation/windows-test-app.d.ts +5 -0
  355. package/dist/delegation/windows-test-app.js +63 -0
  356. package/dist/delegation/windows-test-app.js.map +1 -0
  357. package/dist/delegation/windows-workspace-identity.d.ts +3 -0
  358. package/dist/delegation/windows-workspace-identity.js +22 -0
  359. package/dist/delegation/windows-workspace-identity.js.map +1 -0
  360. package/dist/delegation/workspace.d.ts +5 -10
  361. package/dist/delegation/workspace.js +136 -75
  362. package/dist/delegation/workspace.js.map +1 -1
  363. package/dist/detached-process.d.ts +103 -0
  364. package/dist/detached-process.js +301 -0
  365. package/dist/detached-process.js.map +1 -0
  366. package/dist/discovery/catalog.d.ts +2 -1
  367. package/dist/discovery/catalog.js.map +1 -1
  368. package/dist/discovery/cli.js +3 -1
  369. package/dist/discovery/cli.js.map +1 -1
  370. package/dist/git-diff-base.d.ts +6 -61
  371. package/dist/git-diff-base.js +6 -70
  372. package/dist/git-diff-base.js.map +1 -1
  373. package/dist/git-index-copy.d.ts +4 -0
  374. package/dist/git-index-copy.js +10 -0
  375. package/dist/git-index-copy.js.map +1 -0
  376. package/dist/git-worktree-lock.d.ts +2 -4
  377. package/dist/git-worktree-lock.js +2 -4
  378. package/dist/git-worktree-lock.js.map +1 -1
  379. package/dist/git-worktree-release.d.ts +2 -2
  380. package/dist/git-worktree-release.js.map +1 -1
  381. package/dist/git-worktree.d.ts +47 -76
  382. package/dist/git-worktree.js +240 -94
  383. package/dist/git-worktree.js.map +1 -1
  384. package/dist/handoff.d.ts +51 -41
  385. package/dist/handoff.js +130 -78
  386. package/dist/handoff.js.map +1 -1
  387. package/dist/index.js +60 -39
  388. package/dist/index.js.map +1 -1
  389. package/dist/merge-observations.d.ts +13 -0
  390. package/dist/merge-observations.js +55 -0
  391. package/dist/merge-observations.js.map +1 -0
  392. package/dist/open-url.js +4 -14
  393. package/dist/open-url.js.map +1 -1
  394. package/dist/paths.d.ts +10 -13
  395. package/dist/paths.js +36 -17
  396. package/dist/paths.js.map +1 -1
  397. package/dist/planner.d.ts +2 -1
  398. package/dist/planner.js +9 -6
  399. package/dist/planner.js.map +1 -1
  400. package/dist/preview/agent-address.d.ts +34 -0
  401. package/dist/preview/agent-address.js +51 -0
  402. package/dist/preview/agent-address.js.map +1 -0
  403. package/dist/preview/agent-marker.d.ts +17 -0
  404. package/dist/preview/agent-marker.js +71 -0
  405. package/dist/preview/agent-marker.js.map +1 -0
  406. package/dist/preview/cdp-proxy.d.ts +54 -0
  407. package/dist/preview/cdp-proxy.js +151 -0
  408. package/dist/preview/cdp-proxy.js.map +1 -0
  409. package/dist/preview/cdp.d.ts +39 -3
  410. package/dist/preview/cdp.js +155 -57
  411. package/dist/preview/cdp.js.map +1 -1
  412. package/dist/preview/chromium.d.ts +18 -6
  413. package/dist/preview/chromium.js +112 -25
  414. package/dist/preview/chromium.js.map +1 -1
  415. package/dist/preview/dev-server.d.ts +1 -1
  416. package/dist/preview/dev-server.js +20 -44
  417. package/dist/preview/dev-server.js.map +1 -1
  418. package/dist/preview/host.d.ts +70 -3
  419. package/dist/preview/host.js +314 -28
  420. package/dist/preview/host.js.map +1 -1
  421. package/dist/preview/registration.d.ts +10 -5
  422. package/dist/preview/registration.js +2 -0
  423. package/dist/preview/registration.js.map +1 -1
  424. package/dist/preview/session.d.ts +2 -0
  425. package/dist/preview/session.js +10 -0
  426. package/dist/preview/session.js.map +1 -1
  427. package/dist/process-wait/exit-file.d.ts +29 -0
  428. package/dist/process-wait/exit-file.js +67 -0
  429. package/dist/process-wait/exit-file.js.map +1 -0
  430. package/dist/process-wait/supervisor.d.ts +30 -0
  431. package/dist/process-wait/supervisor.js +71 -0
  432. package/dist/process-wait/supervisor.js.map +1 -0
  433. package/dist/release/snapshot.d.ts +6 -6
  434. package/dist/runs/agent-tmpdir.d.ts +51 -36
  435. package/dist/runs/agent-tmpdir.js +389 -132
  436. package/dist/runs/agent-tmpdir.js.map +1 -1
  437. package/dist/runs/auto-name.d.ts +6 -6
  438. package/dist/runs/auto-name.js +1 -1
  439. package/dist/runs/auto-name.js.map +1 -1
  440. package/dist/runs/client-request.d.ts +3 -3
  441. package/dist/runs/client-request.js +3 -3
  442. package/dist/runs/client-request.js.map +1 -1
  443. package/dist/runs/delegation-state.d.ts +11 -2
  444. package/dist/runs/delegation-state.js.map +1 -1
  445. package/dist/runs/event-history-agent-context.d.ts +14 -0
  446. package/dist/runs/event-history-agent-context.js +105 -0
  447. package/dist/runs/event-history-agent-context.js.map +1 -0
  448. package/dist/runs/event-history-context.d.ts +15 -0
  449. package/dist/runs/event-history-context.js +109 -0
  450. package/dist/runs/event-history-context.js.map +1 -0
  451. package/dist/runs/event-history.d.ts +4 -1
  452. package/dist/runs/event-history.js +29 -130
  453. package/dist/runs/event-history.js.map +1 -1
  454. package/dist/runs/history-stream.d.ts +2 -0
  455. package/dist/runs/history-stream.js +62 -0
  456. package/dist/runs/history-stream.js.map +1 -0
  457. package/dist/runs/legacy-index.d.ts +6 -19
  458. package/dist/runs/legacy-index.js +6 -19
  459. package/dist/runs/legacy-index.js.map +1 -1
  460. package/dist/runs/live-item-snapshots.d.ts +13 -0
  461. package/dist/runs/live-item-snapshots.js +79 -0
  462. package/dist/runs/live-item-snapshots.js.map +1 -0
  463. package/dist/runs/loaded-run-healing.d.ts +3 -0
  464. package/dist/runs/loaded-run-healing.js +17 -0
  465. package/dist/runs/loaded-run-healing.js.map +1 -0
  466. package/dist/runs/outcome-commit.d.ts +98 -0
  467. package/dist/runs/outcome-commit.js +132 -0
  468. package/dist/runs/outcome-commit.js.map +1 -0
  469. package/dist/runs/pull-requests.d.ts +14 -0
  470. package/dist/runs/pull-requests.js +96 -0
  471. package/dist/runs/pull-requests.js.map +1 -0
  472. package/dist/runs/raw-record.d.ts +3 -15
  473. package/dist/runs/raw-record.js +3 -15
  474. package/dist/runs/raw-record.js.map +1 -1
  475. package/dist/runs/retention.d.ts +2 -2
  476. package/dist/runs/retention.js +7 -0
  477. package/dist/runs/retention.js.map +1 -1
  478. package/dist/runs/review-gate.d.ts +1 -1
  479. package/dist/runs/review-gate.js.map +1 -1
  480. package/dist/runs/run-claims.d.ts +2 -9
  481. package/dist/runs/run-claims.js.map +1 -1
  482. package/dist/runs/run-database.d.ts +29 -34
  483. package/dist/runs/run-database.js +124 -46
  484. package/dist/runs/run-database.js.map +1 -1
  485. package/dist/runs/run-index.d.ts +6 -25
  486. package/dist/runs/run-index.js +25 -38
  487. package/dist/runs/run-index.js.map +1 -1
  488. package/dist/runs/run-row.d.ts +5 -34
  489. package/dist/runs/run-row.js +13 -38
  490. package/dist/runs/run-row.js.map +1 -1
  491. package/dist/runs/store.d.ts +1597 -744
  492. package/dist/runs/store.js +1231 -739
  493. package/dist/runs/store.js.map +1 -1
  494. package/dist/runs/task-markers.d.ts +1 -0
  495. package/dist/runs/task-markers.js +5 -1
  496. package/dist/runs/task-markers.js.map +1 -1
  497. package/dist/runs/task-refs.d.ts +3 -3
  498. package/dist/runs/transcript-facts-fold.d.ts +64 -0
  499. package/dist/runs/transcript-facts-fold.js +109 -0
  500. package/dist/runs/transcript-facts-fold.js.map +1 -0
  501. package/dist/runs/transcript-facts-load.d.ts +11 -0
  502. package/dist/runs/transcript-facts-load.js +66 -0
  503. package/dist/runs/transcript-facts-load.js.map +1 -0
  504. package/dist/runs/transcript-facts-queue.d.ts +30 -0
  505. package/dist/runs/transcript-facts-queue.js +227 -0
  506. package/dist/runs/transcript-facts-queue.js.map +1 -0
  507. package/dist/runs/transcript-facts-worker.d.ts +15 -0
  508. package/dist/runs/transcript-facts-worker.js +26 -0
  509. package/dist/runs/transcript-facts-worker.js.map +1 -0
  510. package/dist/runs/transcript-facts.d.ts +13 -51
  511. package/dist/runs/transcript-facts.js +86 -202
  512. package/dist/runs/transcript-facts.js.map +1 -1
  513. package/dist/runs/ui-event-sink.d.ts +5 -30
  514. package/dist/runs/ui-event-sink.js +8 -30
  515. package/dist/runs/ui-event-sink.js.map +1 -1
  516. package/dist/runs/webhook.d.ts +104 -38
  517. package/dist/runs/webhook.js +180 -77
  518. package/dist/runs/webhook.js.map +1 -1
  519. package/dist/server/app-type.d.ts +2 -17
  520. package/dist/server/archive-on-merge.d.ts +35 -0
  521. package/dist/server/archive-on-merge.js +202 -0
  522. package/dist/server/archive-on-merge.js.map +1 -0
  523. package/dist/server/capabilities.d.ts +3 -15
  524. package/dist/server/capabilities.js +6 -19
  525. package/dist/server/capabilities.js.map +1 -1
  526. package/dist/server/checkout-progress.d.ts +10 -0
  527. package/dist/server/checkout-progress.js +27 -0
  528. package/dist/server/checkout-progress.js.map +1 -0
  529. package/dist/server/checkout.d.ts +10 -19
  530. package/dist/server/checkout.js +15 -45
  531. package/dist/server/checkout.js.map +1 -1
  532. package/dist/server/cockpit-ownership.d.ts +2 -0
  533. package/dist/server/cockpit-ownership.js +9 -0
  534. package/dist/server/cockpit-ownership.js.map +1 -1
  535. package/dist/server/cold-repo-handles.d.ts +2 -7
  536. package/dist/server/cold-repo-handles.js +2 -7
  537. package/dist/server/cold-repo-handles.js.map +1 -1
  538. package/dist/server/completion-actions.d.ts +30 -0
  539. package/dist/server/completion-actions.js +204 -0
  540. package/dist/server/completion-actions.js.map +1 -0
  541. package/dist/server/create-project.d.ts +71 -0
  542. package/dist/server/create-project.js +448 -0
  543. package/dist/server/create-project.js.map +1 -0
  544. package/dist/server/forge/github-filters.d.ts +7 -1
  545. package/dist/server/forge/github-filters.js +66 -51
  546. package/dist/server/forge/github-filters.js.map +1 -1
  547. package/dist/server/forge/github-merge-requirements.d.ts +18 -0
  548. package/dist/server/forge/github-merge-requirements.js +137 -0
  549. package/dist/server/forge/github-merge-requirements.js.map +1 -0
  550. package/dist/server/forge/github.d.ts +98 -111
  551. package/dist/server/forge/github.js +625 -306
  552. package/dist/server/forge/github.js.map +1 -1
  553. package/dist/server/forge/types.d.ts +25 -22
  554. package/dist/server/fs-browse.d.ts +3 -28
  555. package/dist/server/fs-browse.js.map +1 -1
  556. package/dist/server/git-changes.d.ts +5 -15
  557. package/dist/server/git-changes.js +3 -50
  558. package/dist/server/git-changes.js.map +1 -1
  559. package/dist/server/git.d.ts +3 -1
  560. package/dist/server/git.js +12 -0
  561. package/dist/server/git.js.map +1 -1
  562. package/dist/server/github.d.ts +1 -1
  563. package/dist/server/github.js +1 -1
  564. package/dist/server/github.js.map +1 -1
  565. package/dist/server/launch-key.d.ts +2 -4
  566. package/dist/server/launch-key.js +2 -4
  567. package/dist/server/launch-key.js.map +1 -1
  568. package/dist/server/live-routes.d.ts +68 -0
  569. package/dist/server/live-routes.js +147 -0
  570. package/dist/server/live-routes.js.map +1 -0
  571. package/dist/server/open-in-app.d.ts +4 -13
  572. package/dist/server/open-in-app.js +5 -41
  573. package/dist/server/open-in-app.js.map +1 -1
  574. package/dist/server/open-in-targets.d.ts +42 -0
  575. package/dist/server/open-in-targets.js +110 -0
  576. package/dist/server/open-in-targets.js.map +1 -0
  577. package/dist/server/open-in-terminal.d.ts +3 -0
  578. package/dist/server/open-in-terminal.js +6 -26
  579. package/dist/server/open-in-terminal.js.map +1 -1
  580. package/dist/server/preview-cdp-socket.d.ts +21 -0
  581. package/dist/server/preview-cdp-socket.js +112 -0
  582. package/dist/server/preview-cdp-socket.js.map +1 -0
  583. package/dist/server/preview-socket.d.ts +11 -11
  584. package/dist/server/preview-socket.js +22 -22
  585. package/dist/server/preview-socket.js.map +1 -1
  586. package/dist/server/preview-sockets.d.ts +14 -0
  587. package/dist/server/preview-sockets.js +18 -0
  588. package/dist/server/preview-sockets.js.map +1 -0
  589. package/dist/server/project-context.d.ts +54 -18
  590. package/dist/server/project-context.js +178 -5
  591. package/dist/server/project-context.js.map +1 -1
  592. package/dist/server/provider-action-gate.d.ts +0 -2
  593. package/dist/server/provider-action-gate.js +0 -21
  594. package/dist/server/provider-action-gate.js.map +1 -1
  595. package/dist/server/provider-auth-runtime.d.ts +3 -18
  596. package/dist/server/provider-auth-runtime.js +3 -18
  597. package/dist/server/provider-auth-runtime.js.map +1 -1
  598. package/dist/server/repo-branches.d.ts +3 -9
  599. package/dist/server/repo-branches.js +6 -22
  600. package/dist/server/repo-branches.js.map +1 -1
  601. package/dist/server/run-event-feed.d.ts +20 -0
  602. package/dist/server/run-event-feed.js +190 -0
  603. package/dist/server/run-event-feed.js.map +1 -0
  604. package/dist/server/server-deps.d.ts +37 -0
  605. package/dist/server/server-deps.js +114 -0
  606. package/dist/server/server-deps.js.map +1 -0
  607. package/dist/server/server.d.ts +14082 -11998
  608. package/dist/server/server.js +785 -1647
  609. package/dist/server/server.js.map +1 -1
  610. package/dist/server/start-run-options.d.ts +82 -0
  611. package/dist/server/start-run-options.js +111 -0
  612. package/dist/server/start-run-options.js.map +1 -0
  613. package/dist/server/validators.d.ts +3 -29
  614. package/dist/server/validators.js +1 -2
  615. package/dist/server/validators.js.map +1 -1
  616. package/dist/server/ws.d.ts +3 -23
  617. package/dist/server/ws.js +3 -23
  618. package/dist/server/ws.js.map +1 -1
  619. package/dist/server-install/engine.d.ts +6 -9
  620. package/dist/server-install/engine.js +2 -9
  621. package/dist/server-install/engine.js.map +1 -1
  622. package/dist/server-install/platforms/ubuntu-vps.d.ts +1 -1
  623. package/dist/server-install/state.d.ts +2 -4
  624. package/dist/server-install/state.js +2 -4
  625. package/dist/server-install/state.js.map +1 -1
  626. package/dist/server-install/steps.d.ts +2 -5
  627. package/dist/server-install/steps.js +3 -6
  628. package/dist/server-install/steps.js.map +1 -1
  629. package/dist/server-install/types.d.ts +3 -6
  630. package/dist/server-install/types.js +2 -5
  631. package/dist/server-install/types.js.map +1 -1
  632. package/dist/server-install/ui.d.ts +2 -8
  633. package/dist/server-install/ui.js +3 -3
  634. package/dist/server-install/ui.js.map +1 -1
  635. package/dist/session-context.d.ts +64 -0
  636. package/dist/session-context.js +264 -0
  637. package/dist/session-context.js.map +1 -0
  638. package/dist/skills-provision.d.ts +62 -0
  639. package/dist/skills-provision.js +325 -0
  640. package/dist/skills-provision.js.map +1 -0
  641. package/dist/skills-remote.d.ts +29 -27
  642. package/dist/skills-remote.js +236 -100
  643. package/dist/skills-remote.js.map +1 -1
  644. package/dist/skills.d.ts +25 -36
  645. package/dist/skills.js +43 -54
  646. package/dist/skills.js.map +1 -1
  647. package/dist/subcommands.d.ts +11 -0
  648. package/dist/subcommands.js +24 -0
  649. package/dist/subcommands.js.map +1 -0
  650. package/dist/task-cli/cli.js +78 -25
  651. package/dist/task-cli/cli.js.map +1 -1
  652. package/dist/task-cli/discovery.d.ts +4 -2
  653. package/dist/task-cli/discovery.js +14 -13
  654. package/dist/task-cli/discovery.js.map +1 -1
  655. package/dist/task-cli/hint.d.ts +20 -0
  656. package/dist/task-cli/hint.js +14 -0
  657. package/dist/task-cli/hint.js.map +1 -0
  658. package/dist/task-cli/http.d.ts +1 -0
  659. package/dist/task-cli/http.js +3 -1
  660. package/dist/task-cli/http.js.map +1 -1
  661. package/dist/task-cli/projections.d.ts +14 -11
  662. package/dist/task-cli/projections.js +15 -11
  663. package/dist/task-cli/projections.js.map +1 -1
  664. package/dist/task-cli/watch.d.ts +18 -10
  665. package/dist/task-cli/watch.js +128 -20
  666. package/dist/task-cli/watch.js.map +1 -1
  667. package/dist/ui-state.d.ts +17 -3
  668. package/dist/ui-state.js +56 -9
  669. package/dist/ui-state.js.map +1 -1
  670. package/dist/update-check.d.ts +0 -10
  671. package/dist/update-check.js +1 -16
  672. package/dist/update-check.js.map +1 -1
  673. package/dist/voice/decide.d.ts +32 -0
  674. package/dist/voice/decide.js +297 -0
  675. package/dist/voice/decide.js.map +1 -0
  676. package/dist/voice/decision-log.d.ts +52 -0
  677. package/dist/voice/decision-log.js +107 -0
  678. package/dist/voice/decision-log.js.map +1 -0
  679. package/dist/voice/engine.d.ts +119 -0
  680. package/dist/voice/engine.js +60 -0
  681. package/dist/voice/engine.js.map +1 -0
  682. package/dist/voice/fake-engine.d.ts +10 -0
  683. package/dist/voice/fake-engine.js +192 -0
  684. package/dist/voice/fake-engine.js.map +1 -0
  685. package/dist/voice/jev-engine.d.ts +17 -0
  686. package/dist/voice/jev-engine.js +110 -0
  687. package/dist/voice/jev-engine.js.map +1 -0
  688. package/dist/voice/pending-ask.d.ts +17 -0
  689. package/dist/voice/pending-ask.js +50 -0
  690. package/dist/voice/pending-ask.js.map +1 -0
  691. package/dist/voice/routes.d.ts +115 -0
  692. package/dist/voice/routes.js +91 -0
  693. package/dist/voice/routes.js.map +1 -0
  694. package/dist/voice/sentence.d.ts +21 -0
  695. package/dist/voice/sentence.js +61 -0
  696. package/dist/voice/sentence.js.map +1 -0
  697. package/dist/voice/thresholds.d.ts +28 -0
  698. package/dist/voice/thresholds.js +29 -0
  699. package/dist/voice/thresholds.js.map +1 -0
  700. package/dist/webhooks/cli.d.ts +18 -0
  701. package/dist/webhooks/cli.js +145 -0
  702. package/dist/webhooks/cli.js.map +1 -0
  703. package/dist/webhooks/prompt.d.ts +5 -0
  704. package/dist/webhooks/prompt.js +26 -0
  705. package/dist/webhooks/prompt.js.map +1 -0
  706. package/dist/workflows/active-run.d.ts +167 -0
  707. package/dist/workflows/active-run.js +21 -0
  708. package/dist/workflows/active-run.js.map +1 -0
  709. package/dist/workflows/continuation-admission.d.ts +913 -0
  710. package/dist/workflows/continuation-admission.js +265 -0
  711. package/dist/workflows/continuation-admission.js.map +1 -0
  712. package/dist/workflows/execution-account.d.ts +13 -0
  713. package/dist/workflows/execution-account.js +18 -0
  714. package/dist/workflows/execution-account.js.map +1 -0
  715. package/dist/workflows/input-acknowledgement.d.ts +152 -0
  716. package/dist/workflows/input-acknowledgement.js +38 -0
  717. package/dist/workflows/input-acknowledgement.js.map +1 -0
  718. package/dist/workflows/line-order.d.ts +5 -0
  719. package/dist/workflows/line-order.js +25 -0
  720. package/dist/workflows/line-order.js.map +1 -0
  721. package/dist/workflows/outcome-batches.d.ts +20 -0
  722. package/dist/workflows/outcome-batches.js +25 -0
  723. package/dist/workflows/outcome-batches.js.map +1 -0
  724. package/dist/workflows/question-routing.d.ts +8 -0
  725. package/dist/workflows/question-routing.js +18 -0
  726. package/dist/workflows/question-routing.js.map +1 -0
  727. package/dist/workflows/run-scheduling.d.ts +35 -0
  728. package/dist/workflows/run-scheduling.js +61 -0
  729. package/dist/workflows/run-scheduling.js.map +1 -0
  730. package/dist/workflows/run-states.d.ts +190 -0
  731. package/dist/workflows/run-states.js +295 -0
  732. package/dist/workflows/run-states.js.map +1 -0
  733. package/dist/workflows/run.d.ts +1296 -278
  734. package/dist/workflows/run.js +5730 -3265
  735. package/dist/workflows/run.js.map +1 -1
  736. package/dist/workflows/turn-end.d.ts +116 -0
  737. package/dist/workflows/turn-end.js +68 -0
  738. package/dist/workflows/turn-end.js.map +1 -0
  739. package/dist/workflows/types.d.ts +35 -130
  740. package/dist/workflows/types.js +47 -100
  741. package/dist/workflows/types.js.map +1 -1
  742. package/dist/workflows/waits.d.ts +74 -0
  743. package/dist/workflows/waits.js +197 -0
  744. package/dist/workflows/waits.js.map +1 -0
  745. package/dist/workspace/agent-accounts.d.ts +5 -38
  746. package/dist/workspace/agent-accounts.js +14 -40
  747. package/dist/workspace/agent-accounts.js.map +1 -1
  748. package/dist/workspace/agent-profiles.d.ts +40 -16
  749. package/dist/workspace/agent-profiles.js +77 -17
  750. package/dist/workspace/agent-profiles.js.map +1 -1
  751. package/dist/workspace/config.d.ts +48 -49
  752. package/dist/workspace/config.js +68 -72
  753. package/dist/workspace/config.js.map +1 -1
  754. package/dist/workspace/migrations.d.ts +3 -13
  755. package/dist/workspace/migrations.js.map +1 -1
  756. package/dist/workspace/projects-cli.d.ts +1 -1
  757. package/dist/workspace/projects-cli.js.map +1 -1
  758. package/dist/workspace/projects.d.ts +15 -18
  759. package/dist/workspace/projects.js +20 -16
  760. package/dist/workspace/projects.js.map +1 -1
  761. package/dist/workspace/semaphore.d.ts +11 -45
  762. package/dist/workspace/semaphore.js +6 -18
  763. package/dist/workspace/semaphore.js.map +1 -1
  764. package/dist/workspace/ui-state.d.ts +6 -4
  765. package/dist/workspace/ui-state.js +6 -4
  766. package/dist/workspace/ui-state.js.map +1 -1
  767. package/dist/workspace/webhooks.d.ts +40 -0
  768. package/dist/workspace/webhooks.js +146 -0
  769. package/dist/workspace/webhooks.js.map +1 -0
  770. package/dist/worktree-manifest.d.ts +165 -0
  771. package/dist/worktree-manifest.js +530 -0
  772. package/dist/worktree-manifest.js.map +1 -0
  773. package/dist/worktree-setup.js.map +1 -1
  774. package/package.json +6 -5
  775. package/scripts/benchmark-run-store-fixture.ts +7 -3
  776. package/scripts/check-pack.mjs +3 -1
  777. package/scripts/inline-contract.mjs +80 -27
  778. package/scripts/install-as-command.mjs +3 -1
  779. package/scripts/measure-transcript-facts-health.mjs +87 -0
  780. package/scripts/measure-transcript-facts-lag.mjs +68 -0
  781. package/scripts/mock-ci-tool.mjs +49 -6
  782. package/scripts/mock-claude-model-refusal.mjs +42 -0
  783. package/scripts/mock-claude.mjs +833 -591
  784. package/scripts/mock-codex-app-server.mjs +785 -418
  785. package/scripts/mock-cursor-acp.mjs +296 -125
  786. package/scripts/mock-cursor-print.mjs +256 -0
  787. package/scripts/mock-deferred-turn-start.mjs +16 -0
  788. package/scripts/mock-delivery-control.d.mts +23 -0
  789. package/scripts/mock-delivery-control.mjs +80 -0
  790. package/scripts/mock-env-record.mjs +11 -0
  791. package/scripts/mock-failure-control.d.mts +13 -0
  792. package/scripts/mock-failure-control.mjs +68 -0
  793. package/scripts/mock-multi-pr.mjs +7 -0
  794. package/scripts/mock-nudge.mjs +45 -0
  795. package/scripts/mock-omp-rpc.mjs +429 -255
  796. package/scripts/mock-opencode-serve.mjs +972 -557
  797. package/scripts/mock-pi-rpc.mjs +558 -331
  798. package/scripts/mock-runner-crash.mjs +18 -2
  799. package/scripts/mock-session-context.d.mts +5 -0
  800. package/scripts/mock-session-context.mjs +56 -0
  801. package/scripts/mock-silent-tail.mjs +10 -3
  802. package/scripts/pi-default-tools.mjs +22 -0
  803. package/scripts/pi-project-skills.mjs +59 -0
  804. package/scripts/probe-cursor-print.mjs +627 -0
  805. package/scripts/transcript-facts-fixture.mjs +53 -0
  806. package/scripts/voice-replay.ts +50 -0
  807. package/scripts/windows-workspace-identity.cs +208 -0
  808. package/scripts/windows-workspace-identity.ps1 +10 -0
  809. package/web/dist/assets/alert-dialog-DfctKUMw.js +1 -0
  810. package/web/dist/assets/button-CeupvoKG.js +41 -0
  811. package/web/dist/assets/centered-state-hDsyXrnH.js +1 -0
  812. package/web/dist/assets/cez-idle-D3aj_9lp.js +1 -0
  813. package/web/dist/assets/diff-BnIXZK3i2.js +3 -0
  814. package/web/dist/assets/diff-controls-GewpW9aF.js +1 -0
  815. package/web/dist/assets/diff-view-Byo7gpvW.js +11 -0
  816. package/web/dist/assets/dropdown-menu-COj_J5wd.js +6 -0
  817. package/web/dist/assets/eye-B8okNWXU.js +1 -0
  818. package/web/dist/assets/git-toolbar-DY0z0n4S.js +1 -0
  819. package/web/dist/assets/github-DwU6ALRK.js +1 -0
  820. package/web/dist/assets/{image-preview-FOEfqpZP.js → image-preview-C_t9q45f.js} +1 -1
  821. package/web/dist/assets/index-BOfE8pyD.js +34 -0
  822. package/web/dist/assets/index-D9HpsmdW.css +1 -0
  823. package/web/dist/assets/live-protocol-Uce2NwEX.js +64 -0
  824. package/web/dist/assets/live-worker-BizfZSoh.ts +33 -0
  825. package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
  826. package/web/dist/assets/nav-row-styles-AoIhhIwf.js +1 -0
  827. package/web/dist/assets/popover-D56fhiXj.js +1 -0
  828. package/web/dist/assets/preview-pane-connected-BmVqfSU5.js +3 -0
  829. package/web/dist/assets/reference-chip-gQNk-4jc.js +1 -0
  830. package/web/dist/assets/repo-git-B5ECDUuv.js +1 -0
  831. package/web/dist/assets/{repo-git-CoKp-g9K.css → repo-git-DVXNOJDT.css} +1 -1
  832. package/web/dist/assets/run-header-C0Y1NvEM.js +2 -0
  833. package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
  834. package/web/dist/assets/skills-DUeTkZ9z.js +1 -0
  835. package/web/dist/assets/status-dot-1PR0i69P.js +1 -0
  836. package/web/dist/assets/tab-link-DmWk4l5O.js +1 -0
  837. package/web/dist/assets/task-changes-DKZXuW89.js +1 -0
  838. package/web/dist/assets/task-commits-BZ6KxWdF.js +1 -0
  839. package/web/dist/assets/task-files-DlF7Apcn.js +2 -0
  840. package/web/dist/assets/task-github-item-CVPo3geZ.js +1 -0
  841. package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
  842. package/web/dist/assets/task-thread-mm4-ECyo.js +9 -0
  843. package/web/dist/assets/thread-state-CIw2BlhT.js +4 -0
  844. package/web/dist/assets/use-hand-to-agent-state-BCDjzHnG.js +1 -0
  845. package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
  846. package/web/dist/assets/workflows-D8vYD-ql.js +7 -0
  847. package/web/dist/assets/zoomable-image-CxQSsfcn.js +1 -0
  848. package/web/dist/index.html +13 -17
  849. package/web/dist/live-worker.js +4 -0
  850. package/dist/core/tool-display.js +0 -179
  851. package/dist/core/tool-display.js.map +0 -1
  852. package/dist/runs/human-ask-summary.d.ts +0 -9
  853. package/dist/runs/human-ask-summary.js +0 -39
  854. package/dist/runs/human-ask-summary.js.map +0 -1
  855. package/dist/runs/run-search.d.ts +0 -29
  856. package/dist/runs/run-search.js +0 -63
  857. package/dist/runs/run-search.js.map +0 -1
  858. package/dist/skills-banner.d.ts +0 -22
  859. package/dist/skills-banner.js +0 -41
  860. package/dist/skills-banner.js.map +0 -1
  861. package/dist/skills-update.d.ts +0 -88
  862. package/dist/skills-update.js +0 -392
  863. package/dist/skills-update.js.map +0 -1
  864. package/dist/todos.d.ts +0 -48
  865. package/dist/todos.js +0 -201
  866. package/dist/todos.js.map +0 -1
  867. package/web/dist/assets/agent-accounts-CFOBMVHc.js +0 -1
  868. package/web/dist/assets/alert-dialog-BrpNUwMt.js +0 -1
  869. package/web/dist/assets/button-C_rd7CPp.js +0 -43
  870. package/web/dist/assets/compare-variants-D6WXhvXA.js +0 -1
  871. package/web/dist/assets/diff-DrEARXTV.js +0 -3
  872. package/web/dist/assets/diff-controls-B1-j7nFg.js +0 -1
  873. package/web/dist/assets/diff-view-DvGLjdTk.js +0 -6
  874. package/web/dist/assets/dropdown-menu-BegOZFrj.js +0 -1
  875. package/web/dist/assets/format-DpNe3S0A.js +0 -1
  876. package/web/dist/assets/git-toolbar-Cw4ljmhB.js +0 -1
  877. package/web/dist/assets/github-CfV5sqL0.js +0 -1
  878. package/web/dist/assets/index-DgWWlOLy.js +0 -13
  879. package/web/dist/assets/index-fBFnuvxu.css +0 -1
  880. package/web/dist/assets/nav-row-styles-vp2JbhuJ.js +0 -1
  881. package/web/dist/assets/popover-BohP6WTx.js +0 -1
  882. package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +0 -3
  883. package/web/dist/assets/preview-state-vuMviq6q.js +0 -1
  884. package/web/dist/assets/prompt-templates-Cubdut_C.js +0 -15
  885. package/web/dist/assets/repo-git-Cf4t5PD0.js +0 -1
  886. package/web/dist/assets/run-diff-BpkUW37Z.js +0 -3
  887. package/web/dist/assets/run-header-68WHf9wV.js +0 -1
  888. package/web/dist/assets/run-header-8GObNx6F.css +0 -1
  889. package/web/dist/assets/search-x-I9Q8pgUa.js +0 -1
  890. package/web/dist/assets/skills-DFBiAuJG.js +0 -1
  891. package/web/dist/assets/skills-DiVIgKeU.js +0 -1
  892. package/web/dist/assets/square-terminal-B6RYYieR.js +0 -1
  893. package/web/dist/assets/status-dot-CqTJHSP9.js +0 -1
  894. package/web/dist/assets/tab-link-B07Hu4QX.js +0 -1
  895. package/web/dist/assets/task-changes--lQF6EYf.js +0 -1
  896. package/web/dist/assets/task-commits-Cx0qy4DN.js +0 -1
  897. package/web/dist/assets/task-files-D50s-gKW.js +0 -2
  898. package/web/dist/assets/task-github-item-DaqmSwYT.js +0 -1
  899. package/web/dist/assets/task-thread-BPQ64lui.js +0 -7
  900. package/web/dist/assets/task-thread-zNE2Q9E-.css +0 -1
  901. package/web/dist/assets/textarea-D20O4Pw0.js +0 -1
  902. package/web/dist/assets/thread-state-DWcFMrvb.js +0 -4
  903. package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +0 -1
  904. package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +0 -1
  905. package/web/dist/assets/utils-JsL3ZsJf.js +0 -64
  906. package/web/dist/assets/workflows-jwG7uxqi.js +0 -11
  907. package/web/dist/assets/zoomable-image-BJJ64KGc.js +0 -1
@@ -1 +0,0 @@
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};
@@ -1,7 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{A as r,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 +0,0 @@
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}
@@ -1 +0,0 @@
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};
@@ -1,4 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{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};
@@ -1 +0,0 @@
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}}
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{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};