agent-log-viewer 1.1.0 → 1.2.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 (635) hide show
  1. package/bin/cli.mjs +4 -0
  2. package/bin/server-runtime.test.ts +63 -12
  3. package/dist/mcp-server.mjs +31365 -26173
  4. package/dist/runtime-host.mjs +15618 -7081
  5. package/dist/standalone/.next/BUILD_ID +1 -1
  6. package/dist/standalone/.next/app-path-routes-manifest.json +21 -16
  7. package/dist/standalone/.next/build-manifest.json +3 -3
  8. package/dist/standalone/.next/prerender-manifest.json +4 -4
  9. package/dist/standalone/.next/react-loadable-manifest.json +1 -1
  10. package/dist/standalone/.next/required-server-files.json +1 -1
  11. package/dist/standalone/.next/routes-manifest.json +30 -0
  12. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
  13. package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
  14. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  15. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  19. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  20. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  25. package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
  26. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  27. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  30. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  31. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
  32. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
  33. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
  34. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
  35. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
  36. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
  37. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
  38. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
  39. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
  40. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
  41. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
  42. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
  43. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
  44. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
  45. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
  48. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
  49. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
  50. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
  51. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
  52. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
  53. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
  54. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
  55. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
  56. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
  57. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
  58. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
  59. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
  60. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
  61. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
  62. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
  63. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
  64. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
  65. package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
  66. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
  67. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
  68. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
  69. package/dist/standalone/.next/server/app/api/answer/route.js +1 -2
  70. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  71. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
  72. package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
  73. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
  74. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
  75. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
  76. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
  77. package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
  78. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
  79. package/dist/standalone/.next/server/app/api/board/route.js +1 -1
  80. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
  81. package/dist/standalone/.next/server/app/api/bridge/route.js +1 -2
  82. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
  83. package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
  84. package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
  85. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
  86. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
  87. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
  88. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
  89. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
  90. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
  91. package/dist/standalone/.next/server/app/api/files/route.js +3 -2
  92. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  93. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  94. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  95. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  96. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  97. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  98. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  99. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  100. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  101. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
  102. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
  103. package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
  104. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
  105. package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
  106. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  107. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
  108. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
  109. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
  110. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
  111. package/dist/standalone/.next/server/app/api/log/provenance/route.js +107 -1
  112. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
  113. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  114. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  115. package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -4
  116. package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
  117. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  118. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  119. package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  120. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  121. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -3
  122. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
  123. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +25 -0
  124. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
  125. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
  126. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
  127. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
  128. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route_client-reference-manifest.js +1 -0
  129. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
  130. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
  131. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
  132. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
  133. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +2 -2
  134. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
  135. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
  136. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
  137. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
  138. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
  139. package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -2
  140. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
  141. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
  142. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
  143. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  144. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  145. package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
  146. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
  147. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
  148. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
  149. package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
  150. package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
  151. package/dist/standalone/.next/server/app/api/push/route.js +2 -2
  152. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  153. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  154. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  155. package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
  156. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
  157. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
  158. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
  159. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
  160. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
  161. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
  162. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
  163. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
  164. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
  165. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
  166. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
  167. package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -0
  168. package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
  169. package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
  170. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
  171. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
  172. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
  173. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
  174. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
  175. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
  176. package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -0
  177. package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
  178. package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
  179. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
  180. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
  181. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
  182. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
  183. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
  184. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
  185. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
  186. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
  187. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
  188. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
  189. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
  190. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
  191. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -2
  192. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
  193. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  194. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  195. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
  196. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
  197. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
  198. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
  199. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -3
  200. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
  201. package/dist/standalone/.next/server/app/api/spawn/route.js +1 -2
  202. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  203. package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -0
  204. package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
  205. package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
  206. package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
  207. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
  208. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
  209. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
  210. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
  211. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  212. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  213. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  214. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -2
  215. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  216. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -2
  217. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  218. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  219. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  220. package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
  221. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  222. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
  223. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
  224. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
  225. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
  226. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  227. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  228. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  229. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  230. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  231. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  232. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  233. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  234. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  235. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  236. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  237. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  238. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
  239. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
  240. package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
  241. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
  242. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -1
  243. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
  244. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  245. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  246. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  247. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  249. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  250. package/dist/standalone/.next/server/app/index.html +1 -1
  251. package/dist/standalone/.next/server/app/index.rsc +3 -3
  252. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  253. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  254. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  255. package/dist/standalone/.next/server/app/page.js +59 -30
  256. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  257. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  258. package/dist/standalone/.next/server/app-paths-manifest.json +21 -16
  259. package/dist/standalone/.next/server/chunks/107.js +1 -1
  260. package/dist/standalone/.next/server/chunks/1100.js +29 -10
  261. package/dist/standalone/.next/server/chunks/1406.js +399 -0
  262. package/dist/standalone/.next/server/chunks/1585.js +108 -0
  263. package/dist/standalone/.next/server/chunks/160.js +4 -4
  264. package/dist/standalone/.next/server/chunks/1617.js +2 -2
  265. package/dist/standalone/.next/server/chunks/1849.js +1 -0
  266. package/dist/standalone/.next/server/chunks/1888.js +1 -1
  267. package/dist/standalone/.next/server/chunks/193.js +1 -0
  268. package/dist/standalone/.next/server/chunks/1952.js +1 -0
  269. package/dist/standalone/.next/server/chunks/2549.js +1 -1
  270. package/dist/standalone/.next/server/chunks/2555.js +1 -0
  271. package/dist/standalone/.next/server/chunks/2647.js +1 -1
  272. package/dist/standalone/.next/server/chunks/2857.js +1 -0
  273. package/dist/standalone/.next/server/chunks/2914.js +24 -0
  274. package/dist/standalone/.next/server/chunks/3034.js +1 -0
  275. package/dist/standalone/.next/server/chunks/3086.js +1 -1
  276. package/dist/standalone/.next/server/chunks/3131.js +1 -0
  277. package/dist/standalone/.next/server/chunks/3214.js +1 -1
  278. package/dist/standalone/.next/server/chunks/3302.js +1 -2
  279. package/dist/standalone/.next/server/chunks/3407.js +1 -0
  280. package/dist/standalone/.next/server/chunks/3422.js +1 -0
  281. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  282. package/dist/standalone/.next/server/chunks/3570.js +81 -0
  283. package/dist/standalone/.next/server/chunks/3587.js +1 -1
  284. package/dist/standalone/.next/server/chunks/3743.js +74 -24
  285. package/dist/standalone/.next/server/chunks/3830.js +1 -1
  286. package/dist/standalone/.next/server/chunks/3896.js +1 -0
  287. package/dist/standalone/.next/server/chunks/4127.js +1 -1
  288. package/dist/standalone/.next/server/chunks/4509.js +1 -1
  289. package/dist/standalone/.next/server/chunks/4637.js +62 -0
  290. package/dist/standalone/.next/server/chunks/4651.js +1 -1
  291. package/dist/standalone/.next/server/chunks/4783.js +1 -0
  292. package/dist/standalone/.next/server/chunks/480.js +126 -0
  293. package/dist/standalone/.next/server/chunks/4972.js +3 -3
  294. package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
  295. package/dist/standalone/.next/server/chunks/5480.js +1 -1
  296. package/dist/standalone/.next/server/chunks/5545.js +1 -1
  297. package/dist/standalone/.next/server/chunks/568.js +1 -2
  298. package/dist/standalone/.next/server/chunks/5682.js +1 -0
  299. package/dist/standalone/.next/server/chunks/5771.js +1 -0
  300. package/dist/standalone/.next/server/chunks/5847.js +1 -0
  301. package/dist/standalone/.next/server/chunks/6023.js +1 -0
  302. package/dist/standalone/.next/server/chunks/6277.js +81 -0
  303. package/dist/standalone/.next/server/chunks/6289.js +2 -0
  304. package/dist/standalone/.next/server/chunks/644.js +81 -0
  305. package/dist/standalone/.next/server/chunks/6453.js +1 -0
  306. package/dist/standalone/.next/server/chunks/6522.js +1 -0
  307. package/dist/standalone/.next/server/chunks/6665.js +1 -1
  308. package/dist/standalone/.next/server/chunks/6809.js +3 -0
  309. package/dist/standalone/.next/server/chunks/6826.js +1 -1
  310. package/dist/standalone/.next/server/chunks/6926.js +1 -1
  311. package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
  312. package/dist/standalone/.next/server/chunks/6978.js +1 -0
  313. package/dist/standalone/.next/server/chunks/7008.js +114 -9
  314. package/dist/standalone/.next/server/chunks/7192.js +1 -0
  315. package/dist/standalone/.next/server/chunks/7238.js +2 -0
  316. package/dist/standalone/.next/server/chunks/7361.js +22 -0
  317. package/dist/standalone/.next/server/chunks/7644.js +3 -3
  318. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  319. package/dist/standalone/.next/server/chunks/781.js +55 -0
  320. package/dist/standalone/.next/server/chunks/7826.js +62 -0
  321. package/dist/standalone/.next/server/chunks/8027.js +11 -1
  322. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  323. package/dist/standalone/.next/server/chunks/8512.js +1 -0
  324. package/dist/standalone/.next/server/chunks/8513.js +2 -0
  325. package/dist/standalone/.next/server/chunks/8617.js +1 -1
  326. package/dist/standalone/.next/server/chunks/8817.js +1 -1
  327. package/dist/standalone/.next/server/chunks/8991.js +1 -1
  328. package/dist/standalone/.next/server/chunks/8996.js +1 -1
  329. package/dist/standalone/.next/server/chunks/9296.js +104 -0
  330. package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
  331. package/dist/standalone/.next/server/chunks/9307.js +1 -1
  332. package/dist/standalone/.next/server/chunks/9360.js +197 -0
  333. package/dist/standalone/.next/server/chunks/9403.js +1 -1
  334. package/dist/standalone/.next/server/chunks/9517.js +1 -1
  335. package/dist/standalone/.next/server/chunks/9554.js +47 -0
  336. package/dist/standalone/.next/server/chunks/9676.js +1 -62
  337. package/dist/standalone/.next/server/chunks/9822.js +11 -1
  338. package/dist/standalone/.next/server/chunks/9901.js +1 -62
  339. package/dist/standalone/.next/server/chunks/9940.js +3 -3
  340. package/dist/standalone/.next/server/chunks/9998.js +1 -1
  341. package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
  342. package/dist/standalone/.next/server/files-response-worker.js +6 -6
  343. package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
  344. package/dist/standalone/.next/server/instrumentation.js +1 -1
  345. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  346. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  347. package/dist/standalone/.next/server/middleware.js +4 -4
  348. package/dist/standalone/.next/server/pages/404.html +1 -1
  349. package/dist/standalone/.next/server/pages/500.html +1 -1
  350. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  351. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  352. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
  353. package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
  354. package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +1 -0
  355. package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
  356. package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
  357. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
  358. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
  359. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
  360. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
  361. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +125 -0
  464. package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
  465. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
  466. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
  467. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
  468. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
  469. package/dist/standalone/.next/static/css/496211a19557b7ee.css +1 -0
  470. package/dist/standalone/.next/static/e4qE_aCE0s0KQnnU6IWRw/_buildManifest.js +1 -0
  471. package/dist/standalone/AGENTS.md +20 -0
  472. package/dist/standalone/node_modules/@next/env/package.json +1 -1
  473. package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  474. package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  475. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
  476. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  477. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  478. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
  479. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
  480. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
  481. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
  482. package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  483. package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
  484. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  485. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  486. package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
  487. package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  488. package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
  489. package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  490. package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
  491. package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  492. package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  493. package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  494. package/dist/standalone/node_modules/next/package.json +10 -10
  495. package/dist/standalone/package.json +5 -5
  496. package/dist/standalone/server.bun.js +1 -1
  497. package/dist/standalone/src/lib/viewerInstrumentation.ts +809 -0
  498. package/package.json +5 -5
  499. package/dist/standalone/.next/server/chunks/112.js +0 -1
  500. package/dist/standalone/.next/server/chunks/2190.js +0 -1
  501. package/dist/standalone/.next/server/chunks/2318.js +0 -2
  502. package/dist/standalone/.next/server/chunks/2371.js +0 -1
  503. package/dist/standalone/.next/server/chunks/2500.js +0 -55
  504. package/dist/standalone/.next/server/chunks/2799.js +0 -1
  505. package/dist/standalone/.next/server/chunks/2870.js +0 -104
  506. package/dist/standalone/.next/server/chunks/3598.js +0 -81
  507. package/dist/standalone/.next/server/chunks/3740.js +0 -126
  508. package/dist/standalone/.next/server/chunks/3953.js +0 -1
  509. package/dist/standalone/.next/server/chunks/411.js +0 -1
  510. package/dist/standalone/.next/server/chunks/4191.js +0 -1
  511. package/dist/standalone/.next/server/chunks/461.js +0 -1
  512. package/dist/standalone/.next/server/chunks/4968.js +0 -2
  513. package/dist/standalone/.next/server/chunks/5408.js +0 -1
  514. package/dist/standalone/.next/server/chunks/6333.js +0 -47
  515. package/dist/standalone/.next/server/chunks/6839.js +0 -81
  516. package/dist/standalone/.next/server/chunks/7045.js +0 -319
  517. package/dist/standalone/.next/server/chunks/7159.js +0 -1
  518. package/dist/standalone/.next/server/chunks/8176.js +0 -1
  519. package/dist/standalone/.next/server/chunks/8263.js +0 -81
  520. package/dist/standalone/.next/server/chunks/8392.js +0 -126
  521. package/dist/standalone/.next/server/chunks/9120.js +0 -78
  522. package/dist/standalone/.next/server/chunks/9507.js +0 -1
  523. package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
  524. package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
  525. package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
  526. package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
  527. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
  528. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
  529. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
  610. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
  611. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
  612. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
  615. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
  618. package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
  619. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
  620. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
  621. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
  622. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
  623. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
  624. package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
  625. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
  626. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
  627. package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
  628. package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
  629. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
  630. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
  631. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
  632. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
  633. package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
  634. package/dist/standalone/src/lib/inboxFiles.ts +0 -203
  635. /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → e4qE_aCE0s0KQnnU6IWRw}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6826,exports.ids=[6826],exports.modules={25123:(a,b,c)=>{c.d(b,{Ix:()=>l,ae:()=>o,ot:()=>m});var d=c(31421),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(23921),j=c(92806),k=c(46825);let l=(a,b,c)=>{let e=(0,d.spawnSync)(a,b,{cwd:c,encoding:"utf8"});return e.error?{code:null,stdout:"",stderr:e.error.message}:{code:e.status,stdout:e.stdout??"",stderr:e.stderr??""}};function m(a){let b=a.template.setup;if(!b)return{pid:null,error:"workflow has no setup command"};let c=(0,k.VO)(a.id);f().mkdirSync(h().dirname(c),{recursive:!0}),f().rmSync(c,{force:!0});let e=f().openSync((0,k._F)(a.id),"w"),g=f().openSync((0,k.RK)(a.id),"w");try{let f=(0,d.spawn)("sh",["-c",'sh -c "$LLV_SETUP_CMD"; printf \'%s\' "$?" > "$LLV_SETUP_EXIT"'],{cwd:a.worktreeDir,env:{...(0,j.Fd)(process.env),LLV_SETUP_CMD:b,LLV_SETUP_EXIT:c},detached:!0,stdio:["ignore",e,g]});return f.unref(),{pid:f.pid??null}}catch(a){return{pid:null,error:a instanceof Error?a.message:String(a)}}finally{f().closeSync(e),f().closeSync(g)}}function n(a){try{return f().readFileSync(a,"utf8")}catch{return""}}function o(a,b=Date.now()){let c=n((0,k.VO)(a.id)).trim();if(""!==c){if("0"===c)return{status:"done",detail:""};let b=n((0,k.RK)(a.id)).trim().split("\n").slice(-3).join("\n");return{status:"failed",detail:`setup exited with code ${c}${b?`: ${b}`:""}`}}if(null!=a.setupPid&&(0,i.pl)(a.setupPid))return{status:"running",detail:""};let d=function(a,b){try{return b-f().statSync(a).mtimeMs}catch{return null}}((0,k._F)(a.id),b);return null!==d&&d<3e3?{status:"running",detail:""}:{status:"failed",detail:"setup was interrupted before it finished"}}},46825:(a,b,c)=>{c.d(b,{Fl:()=>v,K8:()=>J,Ny:()=>B,RK:()=>N,VO:()=>O,_F:()=>M,aL:()=>K,co:()=>I,xV:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(4837),i=c(91724),j=c(89940);c(12500),c(12770);var k=c(98590),l=c(18797),m=c(99411),n=c(89822),o=c(13117);let p=()=>(0,i.BQ)("workflow-templates.json");function q(a,b={},c=(0,n.e3)()){if("builder"!==a)return{...c.find(b=>b.id===a).config};let d=(0,m.fy)(a,b,{},c);return d.ok?{...d.value.config}:{...l.W.find(b=>b.id===a).config}}function r(a){let b=q("cleaner",{},a);return{..."codex"===b.engine?b:{...l.W.find(a=>"cleaner"===a.id).config},effort:"low"}}function s(){let a=(0,n.e3)(),b=q("builder",{},a),c=q("builder",{mode:"plain",domain:"frontend"},a),d=q("reviewer",{},a),e=r(a);return[{name:"fullstack",setup:"bun install",verify:"bun test && bun run build",finish:"pr",stages:[{kind:"implement",agent:b,scope:"Backend/API: server logic, data layer, API routes. Leave UI components alone."},{kind:"implement",agent:c,scope:"UI/frontend: components, hooks, styling, i18n labels. Build on the backend contract from the previous stage."},{kind:"review-loop",reviewer:d,fixer:e,roundLimit:5,reviewerMode:"headless"}]},{name:"Astra medium → Astra xhigh review",verify:"bun test && bun run build",finish:"pr",stages:[{kind:"implement",agent:b,scope:"Implement the requested change end to end, including focused tests and documentation updates."},{kind:"review-loop",reviewer:d,fixer:e,roundLimit:5,reviewerMode:"headless"}]}].map(a=>({...a,managed:"role-registry"}))}function t(a){return!a||"object"!=typeof a||Array.isArray(a)||"claude"!==a.engine&&"codex"!==a.engine?null:{engine:a.engine,model:"string"==typeof a.model&&a.model.trim()?a.model.trim():null,effort:"string"==typeof a.effort&&a.effort.trim()?a.effort.trim():null}}function u(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.role)return null;let b=a.overrides;if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)))return null;let c=b??{},d={..."claude"===c.engine||"codex"===c.engine?{engine:c.engine}:{},..."string"==typeof c.model?{model:c.model}:{},..."string"==typeof c.effort?{effort:c.effort}:{}},e=(0,m.fy)(a.role,a.roleParams,d);return e.ok?e.value.config:null}function v(a){if(!Array.isArray(a)||a.length<2)return{error:"a workflow needs at least one implement stage and a closing review-loop"};let b=[];for(let c of a){let a=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.kind;if("implement"===b){let b;return(b=t(a.agent)??u(a))&&"string"==typeof a.scope&&a.scope.trim()?{kind:"implement",agent:b,scope:a.scope.trim()}:null}if("review-loop"===b){let b,c=t(a.reviewer)??u(a);return c?{kind:"review-loop",reviewer:c,fixer:(b=t(a.fixer))&&"codex"===b.engine?{engine:"codex",model:b.model,effort:"low"}:r(),roundLimit:Number.isInteger(a.roundLimit)&&a.roundLimit>=0?Math.min(a.roundLimit,50):5,reviewerMode:"pane"===a.reviewerMode?"pane":"headless"}:null}return null}(c);if(!a)return{error:"invalid stage definition"};b.push(a)}return 1!==b.filter(a=>"review-loop"===a.kind).length||b.at(-1)?.kind!=="review-loop"?{error:"stages must be implement+ followed by exactly one review-loop last"}:{stages:b}}function w(a){for(let b of a)for(let a of"implement"===b.kind?[b.agent]:[b.reviewer,b.fixer]){if(!a.model)continue;let b=(0,h.RC)(a.engine,a.model);if("error"in b)return b;a.model=b.model}return{stages:a}}function x(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.name||!a.name.trim())return null;let b=v(a.stages);if("error"in b)return null;let c="merge"===a.finish?"merge":"pr";return{name:a.name.trim(),stages:b.stages,finish:c,..."role-registry"===a.managed?{managed:a.managed}:{},..."string"==typeof a.setup&&a.setup.trim()?{setup:a.setup.trim()}:{},..."string"==typeof a.verify&&a.verify.trim()?{verify:a.verify.trim()}:{}}}function y(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.task&&"string"==typeof a.repoDir&&"string"==typeof a.worktreeDir&&"string"==typeof a.branch&&Array.isArray(a.stageRuns)&&"number"==typeof a.stageIndex&&null!==x(a.template)}r(),s();let z=new WeakMap;function A(a){return z.set(a,new Map(a.map(a=>[a.id,JSON.stringify(a)]))),a}function B(){return A(F().snapshot())}function C(){let a=function(){let a;try{a=e().readFileSync((0,i.BQ)("workflows.json"),"utf8")}catch(a){if("ENOENT"===a.code)return null;throw Error("could not read legacy workflow state",{cause:a})}try{return JSON.parse(a)}catch(a){throw Error("legacy workflow state contains malformed JSON",{cause:a})}}();if(null===a)return[];if(!a||"object"!=typeof a||Array.isArray(a))throw Error("legacy workflow state must be an object");if(!Array.isArray(a.workflows)||!a.workflows.every(y))throw Error("legacy workflow state contains malformed records");return a.workflows.map(D)}function D(a){return{...a,project:(0,j.G$)(a.project??""),pausedState:a.pausedState??null,setupPid:a.setupPid??null,srcPath:a.srcPath??null,srcConversationId:a.srcConversationId??null,flowId:a.flowId??null,fixerPath:a.fixerPath??null,fixerConversationId:a.fixerConversationId??null,stageRuns:a.stageRuns.map(a=>({...a,agentConversationId:a.agentConversationId??null})),prUrl:a.prUrl??null}}let E=new Map;function F(){let a=(0,i.BQ)("state.sqlite"),b=E.get(a);if(b)return b;(0,o.t0)(a,[{collection:"workflows",schemaVersion:1,migrationId:"workflows-json-v1",loadRecords:C,key:a=>a.id}]);let c=new o.UY(a,{collection:"workflows",schemaVersion:1,busyMessage:"workflow state is busy",key:a=>a.id,decode:a=>y(a)?D(a):null,clone:a=>D(structuredClone(a)),strictDecode:!0,decodeError:a=>Error("workflow SQLite state contains a malformed row",{cause:a}),validate:a=>{if(!y(a))throw Error("refusing to persist a malformed workflow record")}});return E.set(a,c),c}function G(a,b){return JSON.stringify(a)===JSON.stringify(b)}function H(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function I(a){let b=z.get(a);if(!b){F().replaceSync(a),A(a);return}let c=new Set(a.map(a=>a.id)),d=a.filter(a=>b.get(a.id)!==JSON.stringify(a)),e=[...b.keys()].filter(a=>!c.has(a));F().patchSync(()=>{let a=[],c=[];for(let c of d){let d=b.get(c.id),e=F().get(c.id);if(void 0!==d&&e&&JSON.stringify(e)!==d){let b=D(function a(b,c,d){if(G(c,b))return structuredClone(d);if(G(d,b))return structuredClone(c);if(H(b)&&H(c)&&H(d)){let e={};for(let f of new Set([...Object.keys(b),...Object.keys(c),...Object.keys(d)]))e[f]=a(b[f],c[f],d[f]);return e}return Array.isArray(b)&&Array.isArray(c)&&Array.isArray(d)?Array.from({length:Math.max(b.length,c.length,d.length)},(e,f)=>a(b[f],c[f],d[f])):structuredClone(d)}(JSON.parse(d),c,e));for(let a of Object.keys(c))delete c[a];Object.assign(c,b),JSON.stringify(b)!==JSON.stringify(e)&&a.push(b)}else a.push(c)}for(let a of e){let d=F().get(a);d&&JSON.stringify(d)===b.get(a)&&c.push(a)}return{records:a,deleteKeys:c}}),A(a)}function J(){let a=function(a){try{return JSON.parse(e().readFileSync(a,"utf8"))}catch{return null}}(p()),b=Array.isArray(a?.templates)?a.templates.map(x).filter(a=>null!==a):[],c=function(a,b=s()){let c=new Set(a.map(a=>a.name));return[...b.filter(a=>!c.has(a.name)),...a]}(b);return JSON.stringify(c)!==JSON.stringify(b)&&function(a){var b;b=p(),(0,k.Yj)(b,JSON.stringify({templates:a},null,2)+"\n")}(c),c}function K(a){let b=g().basename(a.repoDir);return{id:a.id,name:a.name,task:a.task,project:a.project,repoDir:a.repoDir,worktreeDir:g().join(g().dirname(a.repoDir),`${b}-wf-${a.id}`),branch:`wf/${a.task.toLowerCase().replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,40).replace(/-+$/,"")||"task"}-${a.id}`,baseBranch:"",baseRef:"",template:JSON.parse(JSON.stringify(a.template)),stageRuns:a.template.stages.map((a,b)=>({index:b,agentPath:null,agentConversationId:null,paneId:null,startedAt:null,doneAt:null,doneNote:null})),stageIndex:0,flowId:null,fixerPath:null,fixerConversationId:null,state:"provisioning",pausedState:null,stateDetail:null,mode:a.mode,setupPid:null,srcPath:null,srcConversationId:null,prUrl:null,createdAt:a.now,closedAt:null}}function L(a){return g().join((0,i.BQ)("workflows"),a)}function M(a){return g().join(L(a),"setup-stdout.log")}function N(a){return g().join(L(a),"setup-stderr.log")}function O(a){return g().join(L(a),"setup-exit")}},79247:(a,b,c)=>{c.d(b,{y:()=>d});function d(a){return void 0!==a.default?a.default:"integer"===a.kind?a.min??1:"select"===a.kind?a.options?.[0]??"":""}},96826:(a,b,c)=>{c.d(b,{ML:()=>t,OF:()=>r,oT:()=>s});var d=c(31421),e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(25123);let l={homeDir:h().homedir,stat:f().statSync,access:f().accessSync,exec:(a,b,c)=>{if("git"!==a)return(0,k.Ix)(a,b,c);let e=(0,d.spawnSync)(a,b,{cwd:c,encoding:"utf8",timeout:4e3});return e.error?{code:null,stdout:"",stderr:"ETIMEDOUT"===e.error.code?`git ${b.join(" ")} timed out after 4000ms`:e.error.message}:{code:e.status,stdout:e.stdout??"",stderr:e.stderr??""}}},m=/not a (?:git )?repository/i;function n(a,b){return"not_git"===a.failCode?{ok:!1,code:"not_git",path:b}:{ok:!1,code:"probe_failed",path:b,detail:a.detail}}function o(a){let b=a.stdout.trim();if(0===a.code&&b)return{value:b};let c=(a.stderr||a.stdout||"").trim();return null!==a.code&&0!==a.code&&m.test(a.stderr)?{failCode:"not_git",detail:c||"not a git repository"}:{failCode:"probe_failed",detail:c||"the git repository probe failed"}}let p=new Map;function q(a,b,c){try{return a.access(b,c),!1}catch{return!0}}function r(a,b=l,c={}){var d,e;let g,h,i,k=(d=b.homeDir(),i="~"===(h=a.trim())||h.startsWith("~/")?j().join(d,h.slice(1)):h,j().resolve(i)),m=c.now??Date.now;if(c.cache){let a,b=(e=m(),(a=p.get(k))?e-a.at>5e3?(p.delete(k),null):a.result:null);if(b)return b}try{g=b.stat(k)}catch(a){return{ok:!1,code:"ENOENT"===a.code?"missing":"repo_untraversable",path:k}}if(!g.isDirectory())return{ok:!1,code:"not_directory",path:k};if(q(b,k,f().constants.R_OK))return{ok:!1,code:"repo_unreadable",path:k};if(q(b,k,f().constants.X_OK))return{ok:!1,code:"repo_untraversable",path:k};let s=o(b.exec("git",["rev-parse","--show-toplevel"],k));if("failCode"in s)return n(s,k);let t=j().resolve(s.value);if(t!==k){if(q(b,t,f().constants.R_OK))return{ok:!1,code:"repo_unreadable",path:t};if(q(b,t,f().constants.X_OK))return{ok:!1,code:"repo_untraversable",path:t}}let u=o(b.exec("git",["rev-parse","--path-format=absolute","--git-common-dir"],t));if("failCode"in u)return n(u,t);let v=j().resolve(t,u.value);if(q(b,v,f().constants.W_OK|f().constants.X_OK))return{ok:!1,code:"git_metadata_unwritable",path:v};let w=j().dirname(t);if(q(b,w,f().constants.W_OK|f().constants.X_OK))return{ok:!1,code:"worktree_parent_unwritable",path:w};let x={ok:!0,repoDir:t,gitCommonDir:v,worktreeParent:w};return c.cache&&function(a,b,c){for(let d of a)p.delete(d),p.set(d,{result:b,at:c});for(;p.size>32;){let a=p.keys().next().value;if(void 0===a)break;p.delete(a)}}([...new Set([k,t])],x,m()),x}function s(a){return"probe_failed"===a?503:"missing"===a||"not_directory"===a||"not_git"===a?400:403}function t(a){switch(a.code){case"missing":return`directory does not exist: ${a.path}`;case"not_directory":return`not a directory: ${a.path}`;case"repo_unreadable":return`repository is not readable: ${a.path}`;case"repo_untraversable":return`repository cannot be traversed: ${a.path}`;case"not_git":return`not a git repository: ${a.path}`;case"probe_failed":return`the git repository probe failed for ${a.path}${a.detail?`: ${a.detail}`:""}`;case"git_metadata_unwritable":return`Git metadata is not writable: ${a.path}`;case"worktree_parent_unwritable":return`pipeline worktree parent is not writable: ${a.path}`}}},98590:(a,b,c)=>{c.d(b,{Ml:()=>W,NO:()=>V,Sn:()=>X,Su:()=>P,Vd:()=>R,WJ:()=>U,Yj:()=>v,ay:()=>s,ke:()=>Q,mL:()=>F,ov:()=>H,tR:()=>T,tu:()=>O});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724);c(12500),c(12770);var k=c(13117),l=c(18797),m=c(89940),n=c(99411),o=c(89822);let p=()=>(0,j.BQ)("review-loop-presets.json");function q(a,b,c={}){if("builder"!==b)return{...a.find(a=>a.id===b).config};let d=(0,n.fy)(b,c,{},a);return d.ok?{...d.value.config}:{...l.W.find(a=>a.id===b).config}}function r(){let a=(0,o.e3)(),b=q(a,"builder"),c=q(a,"builder",{mode:"apply-fixes",domain:"general"}),d=q(a,"reviewer"),e=q(a,"architect");return[{name:"Astra medium → Astra xhigh",implementer:b,reviewer:d},{name:"Terra low → Astra xhigh",implementer:c,reviewer:d},{name:"Astra medium → Opus 5",implementer:b,reviewer:e},{name:"Opus 5 → Astra xhigh",implementer:e,reviewer:d},{name:"Sonnet → Astra xhigh",implementer:{engine:"claude",model:"sonnet",effort:"high"},reviewer:d}].map(a=>({...a,managed:"role-registry"}))}function s(){return q((0,o.e3)(),"architect")}r();let t=/^(?:claude|codex):[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,u=/^(?:default|unknown|managed:[0-9a-f]{12})$/;function v(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,b,"utf8"),g().renameSync(c,a)}function w(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"implement-review-loop"===a.template&&"string"==typeof a.cwd&&"string"==typeof a.implementerPath&&"string"==typeof a.baseRef&&(void 0===a.headRef||null===a.headRef||"string"==typeof a.headRef)&&(void 0===a.targetSha||null===a.targetSha||"string"==typeof a.targetSha)&&(void 0===a.spec||"string"==typeof a.spec)&&(void 0===a.reviewerSandbox||"full"===a.reviewerSandbox||"restricted"===a.reviewerSandbox)&&(void 0===a.hostClaim||null===a.hostClaim||t.test(a.hostClaim.sessionKey)&&u.test(a.hostClaim.accountRef))&&Array.isArray(a.rounds)}function x(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.name&&y(a.implementer)&&y(a.reviewer)&&(void 0===a.managed||"role-registry"===a.managed)}function y(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&("claude"===a.engine||"codex"===a.engine)&&(null===a.model||"string"==typeof a.model)&&(null===a.effort||"string"==typeof a.effort)}let z=null,A=new Map,B=new WeakMap;function C(a){return B.set(a,new Map(a.map(a=>[a.id,JSON.stringify(a)]))),a}function D(){return L().signature()}function E(a){return a.map(a=>({...a,hostClaim:a.hostClaim?{...a.hostClaim}:null,rounds:a.rounds.map(a=>({...a}))}))}function F(){let a=D();if(z?.signature===a)return C(E(z.flows));let b=L().snapshot(),c=D();return a===c&&(z={signature:c,flows:b}),C(E(b))}function G(a){return!["approved","done_comment","needs_decision","closed"].includes(a.state)}function H(){return L().snapshotForController()}function I(a){return a?{...a,resetKnown:a.resetKnown??!0}:null}function J(){let a=function(){let a;try{a=g().readFileSync((0,j.BQ)("flows.json"),"utf8")}catch(a){if("ENOENT"===a.code)return null;throw Error("could not read legacy flow state",{cause:a})}try{return JSON.parse(a)}catch(a){throw Error("legacy flow state contains malformed JSON",{cause:a})}}();if(null===a)return[];if(!a||"object"!=typeof a||Array.isArray(a))throw Error("legacy flow state must be an object");if(!Array.isArray(a.flows)||!a.flows.every(w))throw Error("legacy flow state contains malformed records");return a.flows.map(a=>({...a,project:(0,m.G$)(a.project),revision:a.revision??0,targetSha:a.targetSha??null,implementerConversationId:a.implementerConversationId??null,reviewerFallback:void 0===a.reviewerFallback&&"codex"===a.roles.reviewer.engine?s():a.reviewerFallback??null,pausedState:a.pausedState??null,kickoffDelivery:a.kickoffDelivery??null,hostClaim:a.hostClaim??null,rounds:a.rounds.map(a=>({...a,reviewerConversationId:a.reviewerConversationId??null,reviewerRole:a.reviewerRole??null,attemptedAccounts:a.attemptedAccounts??[],autoRetryCount:a.autoRetryCount??0,sessionId:a.sessionId??null,reviewerPid:a.reviewerPid??null,reviewerIdentity:a.reviewerIdentity??null,reviewHeadSha:a.reviewHeadSha??null,spawnStartedAt:a.spawnStartedAt??null,launchId:a.launchId??null,launchLeaseUntil:a.launchLeaseUntil??null,relayStartedAt:a.relayStartedAt??null,relayRetryCount:a.relayRetryCount??0,relayDeliveryAttempt:a.relayDeliveryAttempt??0,relayDeliveryTransport:a.relayDeliveryTransport??null,relayRetryAt:a.relayRetryAt??null,relayRetryRequiresIdempotency:a.relayRetryRequiresIdempotency??!1,relayDelivery:a.relayDelivery??null,relayPendingSettlement:a.relayPendingSettlement??null,relayHold:I(a.relayHold),terminalAt:a.terminalAt??null,error:a.error??null}))}))}function K(a){return w(a)?{...a,project:(0,m.G$)(a.project),revision:a.revision??0,targetSha:a.targetSha??null,implementerConversationId:a.implementerConversationId??null,reviewerFallback:void 0===a.reviewerFallback&&"codex"===a.roles.reviewer.engine?s():a.reviewerFallback??null,pausedState:a.pausedState??null,kickoffDelivery:a.kickoffDelivery??null,hostClaim:a.hostClaim??null,rounds:a.rounds.map(a=>({...a,reviewerConversationId:a.reviewerConversationId??null,reviewerRole:a.reviewerRole??null,attemptedAccounts:a.attemptedAccounts??[],autoRetryCount:a.autoRetryCount??0,sessionId:a.sessionId??null,reviewerPid:a.reviewerPid??null,reviewerIdentity:a.reviewerIdentity??null,reviewHeadSha:a.reviewHeadSha??null,spawnStartedAt:a.spawnStartedAt??null,launchId:a.launchId??null,launchLeaseUntil:a.launchLeaseUntil??null,relayStartedAt:a.relayStartedAt??null,relayRetryCount:a.relayRetryCount??0,relayDeliveryAttempt:a.relayDeliveryAttempt??0,relayDeliveryTransport:a.relayDeliveryTransport??null,relayRetryAt:a.relayRetryAt??null,relayRetryRequiresIdempotency:a.relayRetryRequiresIdempotency??!1,relayDelivery:a.relayDelivery??null,relayPendingSettlement:a.relayPendingSettlement??null,relayHold:I(a.relayHold),terminalAt:a.terminalAt??null,error:a.error??null}))}:null}function L(){let a=(0,j.BQ)("state.sqlite"),b=A.get(a);if(b)return b;(0,k.t0)(a,[{collection:"flows",schemaVersion:3,migrationId:"flows-json-v1",loadRecords:J,key:a=>a.id,controllerActive:G}]);let c=new k.UY(a,{collection:"flows",schemaVersion:3,busyMessage:"flow state is busy",key:a=>a.id,decode:K,clone:a=>E([a])[0],controllerActive:G,strictDecode:!0,decodeError:a=>Error("flow SQLite state contains a malformed row",{cause:a})});return A.set(a,c),c}function M(a){let b={...a};return delete b.revision,JSON.stringify(b)}function N(a){for(let b of a){let a=L().get(b.id)??void 0;if(a&&void 0!==b.revision&&b.revision<(a.revision??0)){for(let a of Object.keys(b))delete b[a];Object.assign(b,structuredClone(a));continue}b.revision=a&&M(a)===M(b)?a.revision??0:(a?.revision??0)+1}}function O(a){let b=B.get(a);if(!b){L().replaceSync(a,{beforePersist:N}),C(a);return}let c=new Set(a.map(a=>a.id)),d=a.filter(a=>b.get(a.id)!==JSON.stringify(a)),e=[...b.keys()].filter(a=>!c.has(a));L().patchSync(()=>(N(d),{records:d,deleteKeys:e.filter(a=>{let c=L().get(a);return null!==c&&JSON.stringify(c)===b.get(a)})})),C(a)}function P(a,b){let c=[...new Set(a)];if(0===c.length)return;let d=L();d.patchSync(()=>{let a=b(c.flatMap(a=>{let b=d.get(a);return b?[b]:[]}));return N(a),{records:a}})}async function Q(a){return await L().mutate(a,({dirtyRecords:a})=>N(a))}function R(){let a=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(p()),b=Array.isArray(a?.presets)?a.presets.filter(x):[],c=function(a,b=r()){let c=new Set(a.map(a=>a.name));return[...b.filter(a=>!c.has(a.name)),...a]}(b);return JSON.stringify(c)!==JSON.stringify(b)&&function(a){var b;let c;b=p(),g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({presets:a},null,2)+"\n","utf8"),g().renameSync(c,b)}(c),c}function S(a){return i().join((0,j.BQ)("flows"),a)}function T(a,b){return i().join(S(a),`round-${b}-review.md`)}function U(a,b){return i().join(S(a),`round-${b}-last-message.md`)}function V(a,b){return i().join(S(a),`round-${b}-stderr.txt`)}function W(a,b){return i().join(S(a),`round-${b}-stdout.log`)}function X(a,b){let c=b.replace(/^\s*VERDICT:\s*(APPROVE|REQUEST_CHANGES|COMMENT)\s*$/im,"").trim();return`VERDICT: ${a}
1
+ "use strict";exports.id=6826,exports.ids=[6826],exports.modules={25123:(a,b,c)=>{c.d(b,{Ix:()=>l,V8:()=>n,ae:()=>q,dA:()=>s,ot:()=>o});var d=c(31421),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(23921),j=c(92806),k=c(46825);let l=(a,b,c)=>{let e=(0,d.spawnSync)(a,b,{cwd:c,encoding:"utf8"});return e.error?{code:null,stdout:"",stderr:e.error.message}:{code:e.status,stdout:e.stdout??"",stderr:e.stderr??"",...e.signal?{signal:e.signal}:{}}};function m(a,b){let c=(b.stderr||b.stdout||"no output").trim();return{ok:!1,error:`${a}: ${c}`}}function n(a,b){let c=b("git",["rev-parse","--abbrev-ref","HEAD"],a.repoDir);if(0!==c.code)return m("resolving the repo branch",c);let d=c.stdout.trim();if(!d||"HEAD"===d)return{ok:!1,error:"the repo checkout is detached; a workflow needs a branch to target"};let e=b("git",["worktree","add","-b",a.branch,a.worktreeDir,"HEAD"],a.repoDir);if(0!==e.code){let c=b("git",["rev-parse","--abbrev-ref","HEAD"],a.worktreeDir);if(0!==c.code||c.stdout.trim()!==a.branch)return m("git worktree add",e)}let f=b("git",["rev-parse","HEAD"],a.worktreeDir);if(0!==f.code)return m("resolving the workflow base ref",f);let g=f.stdout.trim();return g?{ok:!0,baseBranch:d,baseRef:g}:{ok:!1,error:"git returned an empty base ref"}}function o(a){let b=a.template.setup;if(!b)return{pid:null,error:"workflow has no setup command"};let c=(0,k.setupExitPath)(a.id);f().mkdirSync(h().dirname(c),{recursive:!0}),f().rmSync(c,{force:!0});let e=f().openSync((0,k.setupStdoutPath)(a.id),"w"),g=f().openSync((0,k.setupStderrPath)(a.id),"w");try{let f=(0,d.spawn)("sh",["-c",'sh -c "$LLV_SETUP_CMD"; printf \'%s\' "$?" > "$LLV_SETUP_EXIT"'],{cwd:a.worktreeDir,env:{...(0,j.Fd)(process.env),LLV_SETUP_CMD:b,LLV_SETUP_EXIT:c},detached:!0,stdio:["ignore",e,g]});return f.unref(),{pid:f.pid??null}}catch(a){return{pid:null,error:a instanceof Error?a.message:String(a)}}finally{f().closeSync(e),f().closeSync(g)}}function p(a){try{return f().readFileSync(a,"utf8")}catch{return""}}function q(a,b=Date.now()){let c=p((0,k.setupExitPath)(a.id)).trim();if(""!==c){if("0"===c)return{status:"done",detail:""};let b=p((0,k.setupStderrPath)(a.id)).trim().split("\n").slice(-3).join("\n");return{status:"failed",detail:`setup exited with code ${c}${b?`: ${b}`:""}`}}if(null!=a.setupPid&&(0,i.pl)(a.setupPid))return{status:"running",detail:""};let d=function(a,b){try{return b-f().statSync(a).mtimeMs}catch{return null}}((0,k.setupStdoutPath)(a.id),b);return null!==d&&d<3e3?{status:"running",detail:""}:{status:"failed",detail:"setup was interrupted before it finished"}}function r(a){let b=a.task.split("\n").map(a=>a.trim()).find(Boolean)??a.name;return b.length>72?b.slice(0,69)+"…":b}function s(a,b,c){let d=c("git",["status","--porcelain"],a.worktreeDir);if(0!==d.code)return m("checking the worktree state",d);let e=d.stdout.split("\n").filter(a=>a.trim());if(e.length){let a=e.slice(0,3).map(a=>a.slice(3).trim()||a.trim()),b=e.length>a.length?`, +${e.length-a.length} more`:"";return{ok:!1,error:`the worktree has uncommitted changes (${a.join(", ")}${b}) — commit them, then retry the finish`}}return"merge"===a.template.finish?function(a,b){let c=b("git",["rev-parse","--abbrev-ref","HEAD"],a.repoDir);if(0!==c.code)return m("resolving the repo branch",c);let d=c.stdout.trim();if(d!==a.baseBranch)return{ok:!1,error:`the repo checkout is on ${d}; check out ${a.baseBranch} before merging`};let e=b("git",["merge","--no-ff",a.branch,"-m",`Merge ${a.branch}: ${r(a)}`],a.repoDir);return 0!==e.code?(b("git",["merge","--abort"],a.repoDir),m("git merge",e)):{ok:!0,prUrl:null}}(a,c):function(a,b,c){let d=c("git",["push","-u","origin",a.branch],a.worktreeDir);if(0!==d.code)return m("git push",d);let e=c("gh",["pr","create","--title",r(a),"--body",b,"--base",a.baseBranch,"--head",a.branch],a.worktreeDir);if(0===e.code){var f;return{ok:!0,prUrl:(f=e.stdout,f.match(/https:\/\/\S+\/pull\/\d+/)?.[0]??null)}}if(/already exists/i.test(e.stderr)){let b=c("gh",["pr","view",a.branch,"--json","url","--jq",".url"],a.worktreeDir);if(0===b.code&&b.stdout.trim())return{ok:!0,prUrl:b.stdout.trim()}}return m("gh pr create",e)}(a,b,c)}},46825:(a,b,c)=>{c.r(b),c.d(b,{DEFAULT_FIXER:()=>v,SEEDED_TEMPLATES:()=>x,buildWorkflow:()=>ad,checkpointWorkflowRollbackMirrorForDemotion:()=>P,checkpointWorkflowRollbackMirrorForDemotionAsync:()=>Q,defaultFixerFromRoles:()=>u,loadTemplates:()=>aa,loadWorkflows:()=>I,mergeSeededTemplates:()=>ac,normalizeStage:()=>B,normalizeStages:()=>C,normalizeTemplate:()=>E,planWorkflowStateMigration:()=>K,reconcileWorkflowConversationOwnership:()=>W,reconcileWorkflowConversationOwnershipCooperatively:()=>X,roleConfigFromReference:()=>A,saveTemplates:()=>ab,saveWorkflows:()=>$,seededTemplatesFromRoles:()=>w,setupExitPath:()=>ah,setupStderrPath:()=>ag,setupStdoutPath:()=>af,validateWorkflowLaunchModels:()=>D,withWorkflowMutation:()=>_,workflowArtifactsDir:()=>ae,workflowStateCollectionSeed:()=>N});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(4837),i=c(91724),j=c(89940),k=c(10781),l=c(12770),m=c(98590),n=c(18797),o=c(99411),p=c(89822),q=c(13117);let r=()=>(0,i.BQ)("workflows.json"),s=()=>(0,i.BQ)("workflow-templates.json");function t(a,b={},c=(0,p.e3)()){if("builder"!==a)return{...c.find(b=>b.id===a).config};let d=(0,o.fy)(a,b,{},c);return d.ok?{...d.value.config}:{...n.W.find(b=>b.id===a).config}}function u(a){let b=t("cleaner",{},a);return{..."codex"===b.engine?b:{...n.W.find(a=>"cleaner"===a.id).config},effort:"low"}}let v=u();function w(){let a=(0,p.e3)(),b=t("builder",{},a),c=t("builder",{mode:"plain",domain:"frontend"},a),d=t("reviewer",{},a),e=u(a);return[{name:"fullstack",setup:"bun install",verify:"bun test && bun run build",finish:"pr",stages:[{kind:"implement",agent:b,scope:"Backend/API: server logic, data layer, API routes. Leave UI components alone."},{kind:"implement",agent:c,scope:"UI/frontend: components, hooks, styling, i18n labels. Build on the backend contract from the previous stage."},{kind:"review-loop",reviewer:d,fixer:e,roundLimit:5,reviewerMode:"headless"}]},{name:"Astra medium → Astra xhigh review",verify:"bun test && bun run build",finish:"pr",stages:[{kind:"implement",agent:b,scope:"Implement the requested change end to end, including focused tests and documentation updates."},{kind:"review-loop",reviewer:d,fixer:e,roundLimit:5,reviewerMode:"headless"}]}].map(a=>({...a,managed:"role-registry"}))}let x=w();function y(a,b){(0,m.atomicWriteText)(a,JSON.stringify(b,null,2)+"\n")}function z(a){return!a||"object"!=typeof a||Array.isArray(a)||"claude"!==a.engine&&"codex"!==a.engine?null:{engine:a.engine,model:"string"==typeof a.model&&a.model.trim()?a.model.trim():null,effort:"string"==typeof a.effort&&a.effort.trim()?a.effort.trim():null}}function A(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.role)return null;let b=a.overrides;if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)))return null;let c=b??{},d={..."claude"===c.engine||"codex"===c.engine?{engine:c.engine}:{},..."string"==typeof c.model?{model:c.model}:{},..."string"==typeof c.effort?{effort:c.effort}:{}},e=(0,o.fy)(a.role,a.roleParams,d);return e.ok?e.value.config:null}function B(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.kind;if("implement"===b){let b;return(b=z(a.agent)??A(a))&&"string"==typeof a.scope&&a.scope.trim()?{kind:"implement",agent:b,scope:a.scope.trim()}:null}if("review-loop"===b){let b,c=z(a.reviewer)??A(a);return c?{kind:"review-loop",reviewer:c,fixer:(b=z(a.fixer))&&"codex"===b.engine?{engine:"codex",model:b.model,effort:"low"}:u(),roundLimit:Number.isInteger(a.roundLimit)&&a.roundLimit>=0?Math.min(a.roundLimit,50):5,reviewerMode:"pane"===a.reviewerMode?"pane":"headless"}:null}return null}function C(a){if(!Array.isArray(a)||a.length<2)return{error:"a workflow needs at least one implement stage and a closing review-loop"};let b=[];for(let c of a){let a=B(c);if(!a)return{error:"invalid stage definition"};b.push(a)}return 1!==b.filter(a=>"review-loop"===a.kind).length||b.at(-1)?.kind!=="review-loop"?{error:"stages must be implement+ followed by exactly one review-loop last"}:{stages:b}}function D(a){for(let b of a)for(let a of"implement"===b.kind?[b.agent]:[b.reviewer,b.fixer]){if(!a.model)continue;let b=(0,h.RC)(a.engine,a.model);if("error"in b)return b;a.model=b.model}return{stages:a}}function E(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.name||!a.name.trim())return null;let b=C(a.stages);if("error"in b)return null;let c="merge"===a.finish?"merge":"pr";return{name:a.name.trim(),stages:b.stages,finish:c,..."role-registry"===a.managed?{managed:a.managed}:{},..."string"==typeof a.setup&&a.setup.trim()?{setup:a.setup.trim()}:{},..."string"==typeof a.verify&&a.verify.trim()?{verify:a.verify.trim()}:{}}}function F(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.task&&"string"==typeof a.repoDir&&"string"==typeof a.worktreeDir&&"string"==typeof a.branch&&Array.isArray(a.stageRuns)&&"number"==typeof a.stageIndex&&null!==E(a.template)}let G=new WeakMap;function H(a){return G.set(a,new Map(a.map(a=>[a.id,JSON.stringify(a)]))),a}function I(){return H(O().snapshot())}function J(){let a=function(){let a;try{a=e().readFileSync(r(),"utf8")}catch(a){if("ENOENT"===a.code)return null;throw Error("could not read legacy workflow state",{cause:a})}try{return JSON.parse(a)}catch(a){throw Error("legacy workflow state contains malformed JSON",{cause:a})}}();if(null===a)return[];if(!a||"object"!=typeof a||Array.isArray(a))throw Error("legacy workflow state must be an object");if(!Array.isArray(a.workflows)||!a.workflows.every(F))throw Error("legacy workflow state contains malformed records");return a.workflows.map(L)}function K(){let a=J();return{records:a.length,keys:a.map(a=>a.id)}}function L(a){return{...a,project:(0,j.G$)(a.project??""),pausedState:a.pausedState??null,setupPid:a.setupPid??null,srcPath:a.srcPath??null,srcConversationId:a.srcConversationId??null,flowId:a.flowId??null,fixerPath:a.fixerPath??null,fixerConversationId:a.fixerConversationId??null,stageRuns:a.stageRuns.map(a=>({...a,agentConversationId:a.agentConversationId??null})),prUrl:a.prUrl??null}}let M=new Map;function N(){return{collection:"workflows",schemaVersion:1,migrationId:"workflows-json-v1",loadRecords:J,key:a=>a.id}}function O(){let a=(0,i.BQ)("state.sqlite"),b=M.get(a);if(b)return b;(0,q.t0)(a,[N()]);let c=new q.UY(a,{collection:"workflows",schemaVersion:1,busyMessage:"workflow state is busy",key:a=>a.id,decode:a=>F(a)?L(a):null,clone:a=>L(structuredClone(a)),strictDecode:!0,decodeError:a=>Error("workflow SQLite state contains a malformed row",{cause:a}),validate:a=>{if(!F(a))throw Error("refusing to persist a malformed workflow record")}});return M.set(a,c),c}function P(){return O().checkpointMirrorForDemotion((a,b)=>{y(r(),{_sqliteRevision:b,workflows:a})})}async function Q(){return O().checkpointMirrorForDemotionAsync((a,b)=>{y(r(),{_sqliteRevision:b,workflows:a})})}function R(a,b){if(a.conversationId?.startsWith("conversation_")){let c=b.conversation(a.conversationId)?.generations.at(-1)?.path??a.path;return{path:c,conversationId:a.conversationId,changed:c!==a.path}}if(!a.path)return{path:a.path,conversationId:a.conversationId??null,changed:!1};let c=b.conversationForPath(a.path);return c?{path:a.path,conversationId:c.id,changed:!0}:{path:a.path,conversationId:a.conversationId??null,changed:!1}}function S(a,b){let c=R({path:a.agentPath,conversationId:a.agentConversationId},b);return a.agentPath=c.path,a.agentConversationId=c.conversationId,c.changed}function T(a,b){let c=R({path:a.srcPath??null,conversationId:a.srcConversationId},b);a.srcPath=c.path,a.srcConversationId=c.conversationId;let d=R({path:a.fixerPath,conversationId:a.fixerConversationId},b);return a.fixerPath=d.path,a.fixerConversationId=d.conversationId,c.changed||d.changed}function U(a,b,c){return a===c.path&&(b??null)===c.conversationId}function V(a,b){return a.path!==b.path||a.conversationId!==b.conversationId}function W(a=(0,k.agentRegistry)()){let b=I(),c=!1;for(let d of b)for(let b of(c=T(d,a)||c,d.stageRuns))c=S(b,a)||c;c&&$(b)}async function X(a=(0,k.agentRegistry)()){let b=I(),c=[];await (0,l.pV)(b,async b=>{let d={path:b.srcPath??null,conversationId:b.srcConversationId??null},e={path:b.fixerPath,conversationId:b.fixerConversationId??null};T(b,a);let f={path:b.srcPath??null,conversationId:b.srcConversationId??null},g={path:b.fixerPath,conversationId:b.fixerConversationId??null},h=[];await (0,l.pV)(b.stageRuns,b=>{let c={path:b.agentPath,conversationId:b.agentConversationId??null};S(b,a)&&h.push({index:b.index,before:c,after:{path:b.agentPath,conversationId:b.agentConversationId??null}})});let i=V(d,f),j=V(e,g);(i||j||h.length>0)&&c.push({id:b.id,source:i?{before:d,after:f}:null,fixer:j?{before:e,after:g}:null,runs:h})}),function(a){if(0===a.length)return;let b=I(),c=new Map(b.map(a=>[a.id,a])),d=!1;for(let b of a){let a=c.get(b.id);if(a)for(let c of(b.source&&U(a.srcPath??null,a.srcConversationId,b.source.before)&&(a.srcPath=b.source.after.path,a.srcConversationId=b.source.after.conversationId,d=!0),b.fixer&&U(a.fixerPath,a.fixerConversationId,b.fixer.before)&&(a.fixerPath=b.fixer.after.path,a.fixerConversationId=b.fixer.after.conversationId,d=!0),b.runs)){let b=a.stageRuns.find(a=>a.index===c.index);b&&U(b.agentPath,b.agentConversationId,c.before)&&(b.agentPath=c.after.path,b.agentConversationId=c.after.conversationId,d=!0)}}d&&$(b)}(c)}function Y(a,b){return JSON.stringify(a)===JSON.stringify(b)}function Z(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function $(a){let b=G.get(a);if(!b){O().replaceSync(a),H(a);return}let c=new Set(a.map(a=>a.id)),d=a.filter(a=>b.get(a.id)!==JSON.stringify(a)),e=[...b.keys()].filter(a=>!c.has(a));O().patchSync(()=>{let a=[],c=[];for(let c of d){let d=b.get(c.id),e=O().get(c.id);if(void 0!==d&&e&&JSON.stringify(e)!==d){let b=L(function a(b,c,d){if(Y(c,b))return structuredClone(d);if(Y(d,b))return structuredClone(c);if(Z(b)&&Z(c)&&Z(d)){let e={};for(let f of new Set([...Object.keys(b),...Object.keys(c),...Object.keys(d)]))e[f]=a(b[f],c[f],d[f]);return e}return Array.isArray(b)&&Array.isArray(c)&&Array.isArray(d)?Array.from({length:Math.max(b.length,c.length,d.length)},(e,f)=>a(b[f],c[f],d[f])):structuredClone(d)}(JSON.parse(d),c,e));for(let a of Object.keys(c))delete c[a];Object.assign(c,b),JSON.stringify(b)!==JSON.stringify(e)&&a.push(b)}else a.push(c)}for(let a of e){let d=O().get(a);d&&JSON.stringify(d)===b.get(a)&&c.push(a)}return{records:a,deleteKeys:c}}),H(a)}async function _(a){return O().mutate(a)}function aa(){let a=function(a){try{return JSON.parse(e().readFileSync(a,"utf8"))}catch{return null}}(s()),b=Array.isArray(a?.templates)?a.templates.map(E).filter(a=>null!==a):[],c=ac(b);return JSON.stringify(c)!==JSON.stringify(b)&&ab(c),c}function ab(a){y(s(),{templates:a})}function ac(a,b=w()){let c=new Set(a.map(a=>a.name));return[...b.filter(a=>!c.has(a.name)),...a]}function ad(a){let b=g().basename(a.repoDir);return{id:a.id,name:a.name,task:a.task,project:a.project,repoDir:a.repoDir,worktreeDir:g().join(g().dirname(a.repoDir),`${b}-wf-${a.id}`),branch:`wf/${a.task.toLowerCase().replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,40).replace(/-+$/,"")||"task"}-${a.id}`,baseBranch:"",baseRef:"",template:JSON.parse(JSON.stringify(a.template)),stageRuns:a.template.stages.map((a,b)=>({index:b,agentPath:null,agentConversationId:null,paneId:null,startedAt:null,doneAt:null,doneNote:null})),stageIndex:0,flowId:null,fixerPath:null,fixerConversationId:null,state:"provisioning",pausedState:null,stateDetail:null,mode:a.mode,setupPid:null,srcPath:null,srcConversationId:null,prUrl:null,createdAt:a.now,closedAt:null}}function ae(a){return g().join((0,i.BQ)("workflows"),a)}function af(a){return g().join(ae(a),"setup-stdout.log")}function ag(a){return g().join(ae(a),"setup-stderr.log")}function ah(a){return g().join(ae(a),"setup-exit")}},79247:(a,b,c)=>{c.d(b,{y:()=>d});function d(a){return void 0!==a.default?a.default:"integer"===a.kind?a.min??1:"select"===a.kind?a.options?.[0]??"":""}},96826:(a,b,c)=>{c.d(b,{ML:()=>t,OF:()=>r,oT:()=>s});var d=c(31421),e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(25123);let l={homeDir:h().homedir,stat:f().statSync,access:f().accessSync,exec:(a,b,c)=>{if("git"!==a)return(0,k.Ix)(a,b,c);let e=(0,d.spawnSync)(a,b,{cwd:c,encoding:"utf8",timeout:4e3});return e.error?{code:null,stdout:"",stderr:"ETIMEDOUT"===e.error.code?`git ${b.join(" ")} timed out after 4000ms`:e.error.message}:{code:e.status,stdout:e.stdout??"",stderr:e.stderr??""}}},m=/not a (?:git )?repository/i;function n(a,b){return"not_git"===a.failCode?{ok:!1,code:"not_git",path:b}:{ok:!1,code:"probe_failed",path:b,detail:a.detail}}function o(a){let b=a.stdout.trim();if(0===a.code&&b)return{value:b};let c=(a.stderr||a.stdout||"").trim();return null!==a.code&&0!==a.code&&m.test(a.stderr)?{failCode:"not_git",detail:c||"not a git repository"}:{failCode:"probe_failed",detail:c||"the git repository probe failed"}}let p=new Map;function q(a,b,c){try{return a.access(b,c),!1}catch{return!0}}function r(a,b=l,c={}){var d,e;let g,h,i,k=(d=b.homeDir(),i="~"===(h=a.trim())||h.startsWith("~/")?j().join(d,h.slice(1)):h,j().resolve(i)),m=c.now??Date.now;if(c.cache){let a,b=(e=m(),(a=p.get(k))?e-a.at>5e3?(p.delete(k),null):a.result:null);if(b)return b}try{g=b.stat(k)}catch(a){return{ok:!1,code:"ENOENT"===a.code?"missing":"repo_untraversable",path:k}}if(!g.isDirectory())return{ok:!1,code:"not_directory",path:k};if(q(b,k,f().constants.R_OK))return{ok:!1,code:"repo_unreadable",path:k};if(q(b,k,f().constants.X_OK))return{ok:!1,code:"repo_untraversable",path:k};let s=o(b.exec("git",["rev-parse","--show-toplevel"],k));if("failCode"in s)return n(s,k);let t=j().resolve(s.value);if(t!==k){if(q(b,t,f().constants.R_OK))return{ok:!1,code:"repo_unreadable",path:t};if(q(b,t,f().constants.X_OK))return{ok:!1,code:"repo_untraversable",path:t}}let u=o(b.exec("git",["rev-parse","--path-format=absolute","--git-common-dir"],t));if("failCode"in u)return n(u,t);let v=j().resolve(t,u.value);if(q(b,v,f().constants.W_OK|f().constants.X_OK))return{ok:!1,code:"git_metadata_unwritable",path:v};let w=j().dirname(t);if(q(b,w,f().constants.W_OK|f().constants.X_OK))return{ok:!1,code:"worktree_parent_unwritable",path:w};let x={ok:!0,repoDir:t,gitCommonDir:v,worktreeParent:w};return c.cache&&function(a,b,c){for(let d of a)p.delete(d),p.set(d,{result:b,at:c});for(;p.size>32;){let a=p.keys().next().value;if(void 0===a)break;p.delete(a)}}([...new Set([k,t])],x,m()),x}function s(a){return"probe_failed"===a?503:"missing"===a||"not_directory"===a||"not_git"===a?400:403}function t(a){switch(a.code){case"missing":return`directory does not exist: ${a.path}`;case"not_directory":return`not a directory: ${a.path}`;case"repo_unreadable":return`repository is not readable: ${a.path}`;case"repo_untraversable":return`repository cannot be traversed: ${a.path}`;case"not_git":return`not a git repository: ${a.path}`;case"probe_failed":return`the git repository probe failed for ${a.path}${a.detail?`: ${a.detail}`:""}`;case"git_metadata_unwritable":return`Git metadata is not writable: ${a.path}`;case"worktree_parent_unwritable":return`pipeline worktree parent is not writable: ${a.path}`}}},98590:(a,b,c)=>{c.r(b),c.d(b,{FLOWS_SCHEMA_VERSION:()=>x,SEEDED_PRESETS:()=>w,atomicWriteText:()=>B,checkpointFlowRollbackMirrorForDemotion:()=>W,checkpointFlowRollbackMirrorForDemotionAsync:()=>X,configuredReviewerFallback:()=>v,findingsPathFor:()=>al,flowArtifactsDir:()=>ak,flowStateCollectionSeed:()=>P,loadFlow:()=>N,loadFlows:()=>M,loadFlowsForTick:()=>Q,loadPresets:()=>ai,mergeSeededPresets:()=>F,normalizeFindings:()=>ap,outputPathFor:()=>am,patchFlowRows:()=>af,planFlowStateMigration:()=>T,reconcileFlowConversationOwnership:()=>_,reconcileFlowConversationOwnershipCooperatively:()=>aa,saveFlowRows:()=>ae,saveFlows:()=>ad,savePresets:()=>aj,seededPresetsFromRoles:()=>u,stderrPathFor:()=>an,stdoutPathFor:()=>ao,withFlowMutation:()=>ag,withFlowSnapshot:()=>ah});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(10781),l=c(12770),m=c(13117),n=c(18797),o=c(89940),p=c(99411),q=c(89822);let r=()=>(0,j.BQ)("flows.json"),s=()=>(0,j.BQ)("review-loop-presets.json");function t(a,b,c={}){if("builder"!==b)return{...a.find(a=>a.id===b).config};let d=(0,p.fy)(b,c,{},a);return d.ok?{...d.value.config}:{...n.W.find(a=>a.id===b).config}}function u(){let a=(0,q.e3)(),b=t(a,"builder"),c=t(a,"builder",{mode:"apply-fixes",domain:"general"}),d=t(a,"reviewer"),e=t(a,"architect");return[{name:"Astra medium → Astra xhigh",implementer:b,reviewer:d},{name:"Terra low → Astra xhigh",implementer:c,reviewer:d},{name:"Astra medium → Opus 5",implementer:b,reviewer:e},{name:"Opus 5 → Astra xhigh",implementer:e,reviewer:d},{name:"Sonnet → Astra xhigh",implementer:{engine:"claude",model:"sonnet",effort:"high"},reviewer:d}].map(a=>({...a,managed:"role-registry"}))}function v(){return t((0,q.e3)(),"architect")}let w=u(),x=3,y=/^(?:claude|codex):[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,z=/^(?:default|unknown|managed:[0-9a-f]{12})$/;function A(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,JSON.stringify(b,null,2)+"\n","utf8"),g().renameSync(c,a)}function B(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,b,"utf8"),g().renameSync(c,a)}function C(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"implement-review-loop"===a.template&&"string"==typeof a.cwd&&"string"==typeof a.implementerPath&&"string"==typeof a.baseRef&&(void 0===a.headRef||null===a.headRef||"string"==typeof a.headRef)&&(void 0===a.requireRemoteHead||"boolean"==typeof a.requireRemoteHead)&&(void 0===a.targetSha||null===a.targetSha||"string"==typeof a.targetSha)&&(void 0===a.spec||"string"==typeof a.spec)&&(void 0===a.reviewerSandbox||"full"===a.reviewerSandbox||"restricted"===a.reviewerSandbox)&&(void 0===a.hostClaim||null===a.hostClaim||y.test(a.hostClaim.sessionKey)&&z.test(a.hostClaim.accountRef))&&Array.isArray(a.rounds)}function D(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.name&&E(a.implementer)&&E(a.reviewer)&&(void 0===a.managed||"role-registry"===a.managed)}function E(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&("claude"===a.engine||"codex"===a.engine)&&(null===a.model||"string"==typeof a.model)&&(null===a.effort||"string"==typeof a.effort)}function F(a,b=u()){let c=new Set(a.map(a=>a.name));return[...b.filter(a=>!c.has(a.name)),...a]}let G=null,H=new Map,I=new WeakMap;function J(a){return I.set(a,new Map(a.map(a=>[a.id,JSON.stringify(a)]))),a}function K(){return V().signature()}function L(a){return a.map(a=>({...a,hostClaim:a.hostClaim?{...a.hostClaim}:null,rounds:a.rounds.map(a=>({...a}))}))}function M(){let a=K();if(G?.signature===a)return J(L(G.flows));let b=V().snapshot(),c=K();return a===c&&(G={signature:c,flows:b}),J(L(b))}function N(a){return V().get(a)}function O(a){return!["approved","done_comment","needs_decision","closed"].includes(a.state)}function P(){return{collection:"flows",schemaVersion:x,migrationId:"flows-json-v1",loadRecords:S,key:a=>a.id,controllerActive:O}}function Q(){return V().snapshotForController()}function R(a){return a?{...a,resetKnown:a.resetKnown??!0}:null}function S(){let a=function(){let a;try{a=g().readFileSync(r(),"utf8")}catch(a){if("ENOENT"===a.code)return null;throw Error("could not read legacy flow state",{cause:a})}try{return JSON.parse(a)}catch(a){throw Error("legacy flow state contains malformed JSON",{cause:a})}}();if(null===a)return[];if(!a||"object"!=typeof a||Array.isArray(a))throw Error("legacy flow state must be an object");if(!Array.isArray(a.flows)||!a.flows.every(C))throw Error("legacy flow state contains malformed records");return a.flows.map(a=>({...a,project:(0,o.G$)(a.project),revision:a.revision??0,targetSha:a.targetSha??null,implementerConversationId:a.implementerConversationId??null,reviewerFallback:void 0===a.reviewerFallback&&"codex"===a.roles.reviewer.engine?v():a.reviewerFallback??null,pausedState:a.pausedState??null,kickoffDelivery:a.kickoffDelivery??null,hostClaim:a.hostClaim??null,rounds:a.rounds.map(a=>({...a,reviewerConversationId:a.reviewerConversationId??null,reviewerRole:a.reviewerRole??null,attemptedAccounts:a.attemptedAccounts??[],autoRetryCount:a.autoRetryCount??0,sessionId:a.sessionId??null,reviewerPid:a.reviewerPid??null,reviewerIdentity:a.reviewerIdentity??null,reviewHeadSha:a.reviewHeadSha??null,spawnStartedAt:a.spawnStartedAt??null,launchId:a.launchId??null,launchLeaseUntil:a.launchLeaseUntil??null,relayStartedAt:a.relayStartedAt??null,relayRetryCount:a.relayRetryCount??0,relayDeliveryAttempt:a.relayDeliveryAttempt??0,relayDeliveryTransport:a.relayDeliveryTransport??null,relayRetryAt:a.relayRetryAt??null,relayRetryRequiresIdempotency:a.relayRetryRequiresIdempotency??!1,relayDelivery:a.relayDelivery??null,relayPendingSettlement:a.relayPendingSettlement??null,relayHold:R(a.relayHold),terminalAt:a.terminalAt??null,error:a.error??null}))}))}function T(){let a=S();return{records:a.length,keys:a.map(a=>a.id)}}function U(a){return C(a)?{...a,project:(0,o.G$)(a.project),revision:a.revision??0,targetSha:a.targetSha??null,implementerConversationId:a.implementerConversationId??null,reviewerFallback:void 0===a.reviewerFallback&&"codex"===a.roles.reviewer.engine?v():a.reviewerFallback??null,pausedState:a.pausedState??null,kickoffDelivery:a.kickoffDelivery??null,hostClaim:a.hostClaim??null,rounds:a.rounds.map(a=>({...a,reviewerConversationId:a.reviewerConversationId??null,reviewerRole:a.reviewerRole??null,attemptedAccounts:a.attemptedAccounts??[],autoRetryCount:a.autoRetryCount??0,sessionId:a.sessionId??null,reviewerPid:a.reviewerPid??null,reviewerIdentity:a.reviewerIdentity??null,reviewHeadSha:a.reviewHeadSha??null,spawnStartedAt:a.spawnStartedAt??null,launchId:a.launchId??null,launchLeaseUntil:a.launchLeaseUntil??null,relayStartedAt:a.relayStartedAt??null,relayRetryCount:a.relayRetryCount??0,relayDeliveryAttempt:a.relayDeliveryAttempt??0,relayDeliveryTransport:a.relayDeliveryTransport??null,relayRetryAt:a.relayRetryAt??null,relayRetryRequiresIdempotency:a.relayRetryRequiresIdempotency??!1,relayDelivery:a.relayDelivery??null,relayPendingSettlement:a.relayPendingSettlement??null,relayHold:R(a.relayHold),terminalAt:a.terminalAt??null,error:a.error??null}))}:null}function V(){let a=(0,j.BQ)("state.sqlite"),b=H.get(a);if(b)return b;(0,m.t0)(a,[P()]);let c=new m.UY(a,{collection:"flows",schemaVersion:x,busyMessage:"flow state is busy",key:a=>a.id,decode:U,clone:a=>L([a])[0],controllerActive:O,strictDecode:!0,decodeError:a=>Error("flow SQLite state contains a malformed row",{cause:a})});return H.set(a,c),c}function W(){return V().checkpointMirrorForDemotion((a,b)=>{A(r(),{schemaVersion:x,_sqliteRevision:b,flows:a})})}async function X(){return V().checkpointMirrorForDemotionAsync((a,b)=>{A(r(),{schemaVersion:x,_sqliteRevision:b,flows:a})})}function Y(a,b){if(a.implementerConversationId?.startsWith("conversation_")){let c=b.conversation(a.implementerConversationId)?.generations.at(-1)?.path;return!!c&&c!==a.implementerPath&&(a.implementerPath=c,!0)}let c=b.conversationForPath(a.implementerPath);if(!c)return!1;a.implementerConversationId=c.id;let d=c.generations.at(-1)?.path;return d&&(a.implementerPath=d),!0}function Z(a,b){if(a.reviewerConversationId?.startsWith("conversation_")){let c=b.conversation(a.reviewerConversationId)?.generations.at(-1)?.path;return!!c&&c!==a.reviewerPath&&(a.reviewerPath=c,!0)}if(!a.reviewerPath)return!1;let c=b.conversationForPath(a.reviewerPath);if(!c)return!1;a.reviewerConversationId=c.id;let d=c.generations.at(-1)?.path;return d&&(a.reviewerPath=d),!0}function $(a,b,c){return a===c.path&&(b??null)===c.conversationId}function _(a=(0,k.agentRegistry)()){let b=M(),c=!1;for(let d of b)for(let b of(c=Y(d,a)||c,d.rounds))c=Z(b,a)||c;c&&ad(b)}async function aa(a=(0,k.agentRegistry)()){let b=M(),c=[];await (0,l.pV)(b,async b=>{let d={path:b.implementerPath,conversationId:b.implementerConversationId??null},e=Y(b,a),f=[];await (0,l.pV)(b.rounds,b=>{let c={path:b.reviewerPath,conversationId:b.reviewerConversationId??null};Z(b,a)&&f.push({n:b.n,before:c,after:{path:b.reviewerPath,conversationId:b.reviewerConversationId??null}})}),(e||f.length>0)&&c.push({id:b.id,implementer:e?{before:d,after:{path:b.implementerPath,conversationId:b.implementerConversationId??null}}:null,rounds:f})}),function(a){if(0===a.length)return;let b=M(),c=new Map(b.map(a=>[a.id,a])),d=!1;for(let b of a){let a=c.get(b.id);if(a)for(let c of(b.implementer&&$(a.implementerPath,a.implementerConversationId,b.implementer.before)&&(a.implementerPath=b.implementer.after.path,a.implementerConversationId=b.implementer.after.conversationId,d=!0),b.rounds)){let b=a.rounds.find(a=>a.n===c.n);b&&$(b.reviewerPath,b.reviewerConversationId,c.before)&&(b.reviewerPath=c.after.path,b.reviewerConversationId=c.after.conversationId,d=!0)}}d&&ad(b)}(c)}function ab(a){let b={...a};return delete b.revision,JSON.stringify(b)}function ac(a){for(let b of a){let a=V().get(b.id)??void 0;if(a&&void 0!==b.revision&&b.revision<(a.revision??0)){for(let a of Object.keys(b))delete b[a];Object.assign(b,structuredClone(a));continue}b.revision=a&&ab(a)===ab(b)?a.revision??0:(a?.revision??0)+1}}function ad(a){let b=I.get(a);if(!b){V().replaceSync(a,{beforePersist:ac}),J(a);return}let c=new Set(a.map(a=>a.id)),d=a.filter(a=>b.get(a.id)!==JSON.stringify(a)),e=[...b.keys()].filter(a=>!c.has(a));V().patchSync(()=>(ac(d),{records:d,deleteKeys:e.filter(a=>{let c=V().get(a);return null!==c&&JSON.stringify(c)===b.get(a)})})),J(a)}function ae(a){0!==a.length&&V().replaceSync(a,{mergeOmitted:!0,beforePersist:ac})}function af(a,b){let c=[...new Set(a)];if(0===c.length)return;let d=V();d.patchSync(()=>{let a=b(c.flatMap(a=>{let b=d.get(a);return b?[b]:[]}));return ac(a),{records:a}})}async function ag(a){return await V().mutate(a,({dirtyRecords:a})=>ac(a))}function ah(a){return V().withSnapshotSync(a)}function ai(){let a=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(s()),b=Array.isArray(a?.presets)?a.presets.filter(D):[],c=F(b);return JSON.stringify(c)!==JSON.stringify(b)&&aj(c),c}function aj(a){A(s(),{presets:a})}function ak(a){return i().join((0,j.BQ)("flows"),a)}function al(a,b){return i().join(ak(a),`round-${b}-review.md`)}function am(a,b){return i().join(ak(a),`round-${b}-last-message.md`)}function an(a,b){return i().join(ak(a),`round-${b}-stderr.txt`)}function ao(a,b){return i().join(ak(a),`round-${b}-stdout.log`)}function ap(a,b){let c=b.replace(/^\s*VERDICT:\s*(APPROVE|REQUEST_CHANGES|COMMENT)\s*$/im,"").trim();return`VERDICT: ${a}
2
2
  ${c?"\n"+c+"\n":"\n"}`}},99411:(a,b,c)=>{c.d(b,{aW:()=>m,OH:()=>o,fy:()=>n,s8:()=>p,X2:()=>l,hB:()=>k,$d:()=>j});var d=c(58152),e=c(4837);let f={engine:"claude",model:"opus",effort:"high"},g={engine:"codex",model:"gpt-5.6-terra",effort:"low"};var h=c(79247),i=c(89822);function j(a,b,{requireRequired:c=!0}={}){if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)))return{ok:!1,error:"roleParams must be an object"};let d=b??{},e=new Map(a.parameters.map(a=>[a.key,a]));for(let b of Object.keys(d))if(!e.has(b)){let c=a.parameters.map(a=>a.key).join(", ")||"none";return{ok:!1,error:`unknown role parameter: ${b} (${a.id} accepts: ${c})`}}let f={};for(let b of a.parameters){let a=d[b.key];if(void 0===a||""===a){if(b.required&&c)return{ok:!1,error:`missing required role parameter: ${b.key}`};f[b.key]=(0,h.y)(b);continue}if("integer"===b.kind){if(!Number.isInteger(a)||"number"!=typeof a||void 0!==b.min&&a<b.min||void 0!==b.max&&a>b.max)return{ok:!1,error:`invalid role parameter: ${b.key}`};f[b.key]=a;continue}let e=function(a){if("string"!=typeof a)return null;let b=a.trim();return b&&b.length<=2e3?b:null}(a);if(!e||"select"===b.kind&&!b.options?.includes(e))return{ok:!1,error:`invalid role parameter: ${b.key}`};f[b.key]=e}return{ok:!0,value:f}}function k(a,b){var c;let d="builder"===a.id&&"frontend"===b.domain?"\n\nUI/frontend implementation guidance: follow the approved interaction and visual contract, preserve accessible semantics, responsive behavior, and English/Ukrainian parity.":"";return c=a.promptScaffold,c.replace(/\{\{([A-Za-z][A-Za-z0-9]*)\}\}/g,(a,c)=>String(b[c]??"")).replace(/^(Repository|Issue query|Urgent list):\s*\n/gm,"")+d}function l(a){return a.safetyFences.length?`
3
3
 
4
4
  Safety fences:
@@ -1 +1 @@
1
- "use strict";exports.id=6926,exports.ids=[6926],exports.modules={5602:(a,b,c)=>{c.d(b,{KP:()=>D,Kw:()=>E,dJ:()=>I});var d=c(76760),e=c.n(d),f=c(25617),g=c(58996),h=c(30096),i=c(78966),j=c(73024),k=c.n(j),l=c(63006);let m=new Set(["https://beacon.claude-ai.staging.ant.dev","https://claude.fedstart.com","https://claude-staging.fedstart.com"]),n=["user:profile","user:inference","user:sessions:claude_code","user:mcp_servers","user:file_upload"],o=new Set(["user:projects:read","user:projects:write"]);function p(a){let b=(0,l.TK)(a.home);return"present"===b.state?b.document:null}function q(a){if("unknown"===a.credentialState)return"unknown";if(!a.authPresent)return null;let b=(0,l.TK)(a.home);if("unknown"===b.state)return"unknown";let c="present"===b.state?b.document.claudeAiOauth:null;return"string"==typeof c?.accessToken&&c.accessToken.length>0&&"number"==typeof c.expiresAt&&Number.isFinite(c.expiresAt)?{expiresAt:c.expiresAt,refreshable:"string"==typeof c.refreshToken&&c.refreshToken.length>0}:null}let r={now:Date.now,fetch:globalThis.fetch};function s(a,b,c){let d=p(a)?.claudeAiOauth;if(!d||d.accessToken===b)return!1;let e=q(a);return null!==e&&"unknown"!==e&&e.expiresAt>c}async function t(a,b,c){for(;;)try{k().mkdirSync(a,{mode:448});let b=k().openSync(a,"r"),c=k().fstatSync(b);return()=>{try{let b=k().statSync(a);b.dev===c.dev&&b.ino===c.ino&&k().rmdirSync(a)}catch{}finally{k().closeSync(b)}}}catch(d){if("EEXIST"!==d.code)return null;let a=c-(Date.now()-b);if(a<=0)return null;await new Promise(b=>setTimeout(b,Math.min(25,a)))}}async function u(a,b){let c,d=Date.now(),f=await t(e().join(a.home,".oauth_refresh.lock"),d,b);if(!f)return null;try{c=k().realpathSync(a.home)}catch{c=a.home}let g=await t(`${c}.lock`,d,b);return g?()=>{g(),f()}:(f(),null)}async function v(a){try{let b=await a.json();return b?.error==="invalid_grant"?"invalid":"unknown"}catch{return"unknown"}}async function w(a){if(400!==a.status)return!1;try{let b=await a.clone().json();return b?.error==="invalid_scope"}catch{return!1}}async function x(a,b=r){let c=await u(a,b.lockWaitMs??8e3);if(!c)return"unknown";try{return await y(a,b)}finally{c()}}async function y(a,b){let c,d,e=(0,l.TK)(a.home);if("present"!==e.state)return"absent"===e.state?"invalid":"unknown";let f=e.document,g=f?.claudeAiOauth;if(!f||!g||"string"!=typeof g.accessToken||0===g.accessToken.length||"string"!=typeof g.refreshToken||0===g.refreshToken.length)return"invalid";if("number"==typeof g.expiresAt&&Number.isFinite(g.expiresAt)&&g.expiresAt>b.now())return"refreshed";let h=g.accessToken,i=Array.isArray(g.scopes)&&g.scopes.every(a=>"string"==typeof a)?g.scopes:[],j="string"==typeof g.clientId&&g.clientId.length>0,k=j?g.clientId:process.env.CLAUDE_CODE_OAUTH_CLIENT_ID||"9d1c250a-e61b-44d9-88ed-5944d1962f5e",q=!j&&(i.includes("user:inference")||!!g.subscriptionType),r=i.length>0?i:n;q&&(r=[...new Set([...n,...i.filter(a=>o.has(a))])]);let t=function(){let a=process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL;if(!a)return"https://platform.claude.com/v1/oauth/token";let b=a.replace(/\/+$/,"");return m.has(b)?`${b}/v1/oauth/token`:null}();if(!t)return"unknown";let u=AbortSignal.timeout(8e3),x=a=>b.fetch(t,{method:"POST",redirect:"manual",headers:{"content-type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:g.refreshToken,client_id:k,scope:a.join(" ")}),signal:u});try{c=await x(r),q&&i.length>0&&i.includes("user:inference")&&await w(c)&&(c=await x(i))}catch{return"unknown"}if(400===c.status||401===c.status)return s(a,h,b.now())?"refreshed":await v(c);if(!c.ok)return"unknown";try{let a=await c.json();if(!a||"object"!=typeof a||Array.isArray(a))return"unknown";d=a}catch{return"unknown"}if("string"!=typeof d.access_token||0===d.access_token.length||"number"!=typeof d.expires_in||!Number.isFinite(d.expires_in)||d.expires_in<=0)return"unknown";let y=p(a),z=y?.claudeAiOauth;if(!y||!z)return"unknown";if(z.accessToken!==h)return s(a,h,b.now())?"refreshed":"unknown";let A=d.access_token,B={...z,accessToken:A,refreshToken:"string"==typeof d.refresh_token&&d.refresh_token.length>0?d.refresh_token:g.refreshToken,expiresAt:b.now()+1e3*d.expires_in};"string"==typeof d.scope&&d.scope.trim()&&(B.scopes=d.scope.trim().split(/\s+/)),"number"==typeof d.refresh_token_expires_in&&Number.isFinite(d.refresh_token_expires_in)&&(B.refreshTokenExpiresAt=b.now()+1e3*d.refresh_token_expires_in);try{return(0,l.Pb)(a.home,e,{...y,claudeAiOauth:B})?"refreshed":"unknown"}catch{return"unknown"}}var z=c(22962);class A extends Error{constructor(){super("Claude credential store is unavailable; retry when access is restored"),this.name="ClaudeCredentialUnavailableError"}}let B=globalThis;function C(a,b){let c=B.__llvClaudeRefreshInflight??=new Map,d=`${a.id}\0${e().resolve(a.home)}`,g=c.get(d);if(g)return g;let h=Promise.resolve().then(()=>b(a)).catch(a=>{if(a instanceof i.UV||a instanceof A)throw a;return(0,f.Oh)({enabled:!0,authentication:"unknown",limits:"unknown",stale:!0,retryAt:null})}).finally(()=>{c.get(d)===h&&c.delete(d)});return c.set(d,h),h}class D extends Error{constructor(a){const b=[...new Set(a)].sort(),c=1===b.length?`account ${b[0]}`:b.length>1?`accounts ${b.join(", ")}`:"a Claude account";super(`No healthy Claude account is available. Re-login ${c} in Accounts and retry.`),this.name="NoHealthyClaudeAccountError",this.accountIds=b}}function E(a,b=Date.now()){if("credential store unavailable"===a.reason||a.reason?.startsWith("credentials unreadable:"))throw new A;let c=a.reason===h.e4||"credentials missing access token"===a.reason||"credentials absent"===a.reason?"failed":"live"===a.source?"authenticated":"unknown",d=a.data?[a.data.session,a.data.weekly,a.data.flagship??null].filter(a=>null!==a):[],e=d.filter(a=>Number.isFinite(a.usedPercent)&&a.usedPercent>=100),g=e.length>0?"exhausted":d.length>0?"available":"unknown",i=null;return e.length>0&&e.every(a=>Number.isSafeInteger(a.resetsAt)&&1e3*a.resetsAt>b)?i=new Date(1e3*Math.max(...e.map(a=>a.resetsAt))).toISOString():"number"==typeof a.retryAt&&Number.isFinite(a.retryAt)?i=new Date(a.retryAt).toISOString():"string"==typeof a.retryAt&&(i=a.retryAt),(0,f.Oh)({enabled:!0,authentication:c,limits:g,stale:"live"!==a.source,retryAt:i},b)}async function F(a){return E(await (0,g.nn)(e().join(a.home,".credentials.json"),Date.now,600))}function G(a){let b=(0,i.Fn)().find(b=>b.id===a.id);if(!b||b.kind!==a.kind||e().resolve(b.home)!==e().resolve(a.home))throw new i.UV(a.id);return b}let H={now:Date.now,probe:async function(a){return await (0,z.Cu)(async()=>{let b=G(a);return await F(b)})},refresh:async function(a){return await (0,z.Cu)(async()=>{let b=G(a),c=await x(b);if("invalid"===c)return(0,f.Oh)({enabled:!0,authentication:"failed",limits:"unknown",stale:!1,retryAt:null});if("unknown"===c)throw new A;return await F(b)})}};async function I(a,b,c=H,d=!0,e=b){let f=c.now(),g=a.map(a=>{let c=q(a),e="unknown"===c;if(e&&d&&a.id===b)throw new A;return{account:a,oauth:e?null:c,unknown:e}}),h=new Set(g.filter(a=>a.unknown).map(a=>a.account.id)),i=async(a,c)=>{try{return{account:a,admission:await c(a)}}catch(c){if(!(c instanceof A)||d&&a.id===b)throw c;return h.add(a.id),null}},j=a=>"admissible"===a.kind?"current"===a.basis?2:1:0,k=a=>a.filter(a=>j(a.admission)>0).sort((a,b)=>j(b.admission)-j(a.admission)||Number(b.account.id===e)-Number(a.account.id===e)||a.account.id.localeCompare(b.account.id))[0],l=(a,c)=>({account:a.account,admission:a.admission,...d&&b&&c?{requestedAdmission:c.admission}:{}}),m=(await Promise.all(g.filter(a=>a.oauth&&a.oauth.expiresAt>f).map(({account:a})=>i(a,c.probe)))).filter(a=>null!==a),n=b?m.find(a=>a.account.id===b)??null:null;if(d&&n?.admission.kind==="admissible")return l(n,n);let o=d&&b?g.find(a=>a.account.id===b&&a.oauth?.expiresAt&&a.oauth.expiresAt<=f&&a.oauth.refreshable):null;if(o&&"admissible"===(n={account:o.account,admission:await C(o.account,c.refresh)}).admission.kind)return l(n,n);let p=k(m);if(p)return l(p,n);let r=k([...m,...n?[n]:[],...(await Promise.all(g.filter(a=>a.oauth?.expiresAt&&a.oauth.expiresAt<=f&&a.oauth.refreshable).filter(a=>a.account.id!==o?.account.id).map(({account:a})=>i(a,a=>C(a,c.refresh))))).filter(a=>null!==a)]);if(r)return l(r,n);if(h.size>0)throw new A;throw new D(a.map(a=>a.id))}},26926:(a,b,c)=>{c.d(b,{$7:()=>v,oA:()=>w,fu:()=>q,accountManager:()=>y,i2:()=>s,ax:()=>p,yP:()=>r,EO:()=>t});var d=c(41617),e=c(78966),f=c(14565),g=c(68797),h=c(22962),i=c(12500),j=c(60517),k=c(60395),l=c(5602),m=c(92806),n=c(25617);function o(a,b){if("claude"===a){let c=(0,e.ob)(b);return{engine:a,accountId:c.id,kind:c.kind,home:c.home,transcriptRoot:c.projectsDir,env:"managed"===c.kind?(0,e.x0)(c.home):(0,m.Fd)(process.env)}}let c=(0,d.O$)(b);return{engine:a,accountId:c.id,kind:c.kind,home:c.home,transcriptRoot:c.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:c.home}}}async function p(a,b,c=null){let f=(0,j.$8)(),g=(0,j.sx)(c,a,f),h=null===g?null:new Set(g),m=(0,i.agentRegistry)(),r=m.engineRouting(a).activeAccountId??void 0,s=null==b?null:b,t={project:c,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:m.quotaObservations(a),bindings:f,preferredId:r??null,unbound:"engine-default"},u=(0,k.X)(t);if(null===s&&"available"!==u.kind)throw new q(u,a,c);if(null!==s){let b=(0,k.X)({...t,requestedId:s});if("available"!==b.kind)throw new q(b,a,c)}let v="available"===u.kind?u.accountId??void 0:void 0,w=s??v,x=(0,n.Oh)({enabled:!1,authentication:"unknown",limits:"unknown",stale:!1,retryAt:null});if("codex"===a)try{return o(a,w)}catch(b){if(null===s||!(b instanceof d.m1)||"available"!==u.kind)throw b;return{...o(a,v),requestedAdmission:x}}let y=(0,e.Fn)().filter(a=>null===h||h.has(a.id)),z=null===s||y.some(a=>a.id===s);try{let b=await (0,l.dJ)(y,z?w:v,void 0,null!==s&&z,v);return{...o(a,b.account.id),admission:b.admission,...null!==s&&!z?{requestedAdmission:x}:b.requestedAdmission?{requestedAdmission:b.requestedAdmission}:{}}}catch(b){if(null!==s||null===g)throw b;throw new q({kind:"unavailable",allowedAccountIds:g},a,c,b instanceof Error?b.message:String(b))}}class q extends Error{constructor(a,b,c,d){const e=(0,j.ed)(a,b,c??"");super(d?`${e}: ${d}`:e),this.resolution=a,this.name="ProjectAccountRefusedError"}}function r(a,b,c){let d=y.resolveProjectSpawn(a,{project:b,preferredId:c??null});if("available"!==d.kind)throw new q(d,a,b);return d.account}function s(a,b,c){return null!==b?y.resolveSpawn(a,b):r(a,c)}function t(a,b,c){let f="claude"===a?(0,e.Fn)():(0,d.Sq)(),g=b?.trim()||null;if(null!==g&&f.some(a=>a.id===g))return g;let h=(0,j.$8)(),l=(0,j.sx)(c,a,h),m=(0,i.agentRegistry)(),n=(0,k.X)({project:c,engine:a,accounts:f,observations:m.quotaObservations(a),bindings:h,preferredId:null===l?null:m.engineRouting(a).activeAccountId,unbound:"engine-default"});if("available"!==n.kind)throw new q(n,a,c);return n.accountId}function u(a,b){let c=("claude"===a?(0,e.Fn)():(0,d.Sq)()).find(a=>a.id===b);if(!c)throw Error(`unknown ${a} account: ${b}`);return{id:c.id,label:c.label,kind:c.kind,active:("claude"===a?(0,e.No)():(0,d.O)())===b,auth:{state:c.authPresent?"authenticated":"signed_out",method:null,email:null,plan:null,checkedAt:null},limits:{state:"unavailable",session:null,weekly:null,checkedAt:null},login:null}}class v extends Error{constructor(a,b){super(`${a} account requires authentication`),this.engine=a,this.accountId=b,this.name="AccountAuthenticationRequiredError"}}class w extends Error{constructor(a,b){super(`${a} account login is in progress`),this.engine=a,this.accountId=b,this.name="AccountLoginPendingError"}}async function x(a,b,c=(0,i.agentRegistry)()){return await (0,h.Cu)(async()=>(function(a,b,c){let h;if("claude"===a?(0,e.kK)():(0,d.J0)()){if("claude"===a)throw new e.OL;throw new d.NE}let i=("claude"===a?(0,e.Fn)():(0,d.Sq)()).find(a=>a.id===b);if(!i){if("claude"===a)throw new e.UV(b);throw new d.m1(b)}if("claude"===a?null!==(h=f.s4.forAccount(b))&&f.VO.has(h.phase):null!==i.loginPane||"pending"===(0,g.VD)().peekLogin(i).attemptState)throw new w(a,b);if(!i.authPresent)throw new v(a,b);let j="claude"===a?(0,e.No)():(0,d.O)(),k=c.engineRouting(a).activeAccountId;"claude"===a?(0,e.ss)(b):(0,d.b0)(b);try{c.setEngineRouting(a,b)}catch(f){let b=[];try{c.engineRouting(a).activeAccountId!==k&&c.setEngineRouting(a,k??j)}catch(a){b.push(a)}try{"claude"===a?(0,e.ss)(j):(0,d.b0)(j)}catch(a){b.push(a)}if(b.length>0)throw AggregateError([f,...b],"account selection rollback failed");throw f}return u(a,b)})(a,b,c))}let y={list:async()=>({claude:{active:(0,e.No)(),accounts:(0,e.Fn)().map(a=>u("claude",a.id))},codex:{active:(0,d.O)(),accounts:(0,d.Sq)().map(a=>u("codex",a.id))}}),add:async(a,b)=>await (0,h.Cu)(async()=>{let c="claude"===a?(0,e.fM)(b):(0,d.Ut)(b);return u(a,c.id)}),select:async(a,b)=>x(a,b),status:async(a,b)=>u(a,b),async submitLoginInput(){throw Error("login input is Claude-operation specific")},async cancelLogin(){throw Error("login cancellation is Claude-operation specific")},resolveSpawn:(a,b)=>o(a,b??(0,i.agentRegistry)().engineRouting(a).activeAccountId??void 0),resolveHeadlessSpawn(a,b,c,f){let g=(0,k.X)({project:f,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:(0,i.agentRegistry)().quotaObservations(a),bindings:(0,j.$8)(),preferredId:b??(0,i.agentRegistry)().engineRouting(a).activeAccountId,excludedIds:c,unbound:"capacity"});return"available"===g.kind?{kind:"available",account:o(a,g.accountId??void 0)}:"exhausted"===g.kind?{kind:"exhausted",resetsAt:g.resetsAt}:{kind:"unavailable"}},resolveProjectSpawn(a,b){let c=(0,k.X)({project:b.project,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:(0,i.agentRegistry)().quotaObservations(a),bindings:(0,j.$8)(),requestedId:b.requestedId,preferredId:b.preferredId??(0,i.agentRegistry)().engineRouting(a).activeAccountId,excludedIds:b.excludedIds??[],unavailableIds:b.unavailableIds??[]});return"available"!==c.kind?c:{kind:"available",account:o(a,c.accountId??void 0)}},resolveTranscriptOwner(a,b){let c=(0,i.agentRegistry)().transcriptAccountId(a,b);if(c)if("claude"===a){let b=(0,e.Fn)().find(a=>a.id===c);if(b)return{engine:a,accountId:b.id,kind:b.kind,home:b.home,transcriptRoot:b.projectsDir,env:"managed"===b.kind?(0,e.x0)(b.home):(0,m.Fd)(process.env)}}else{let b=(0,d.Sq)().find(a=>a.id===c);if(b)return{engine:a,accountId:b.id,kind:b.kind,home:b.home,transcriptRoot:b.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:b.home}}}if("claude"===a){let c=(0,e.y3)(b);if(!c)return null;let d=(0,e.Fn)().find(a=>a.home===c);return d?{engine:a,accountId:d.id,kind:d.kind,home:c,transcriptRoot:d.projectsDir,env:"managed"===d.kind?(0,e.x0)(c):(0,m.Fd)(process.env)}:null}let f=(0,d.yN)(b);if(!f)return null;let g=(0,d.Sq)().find(a=>a.home===f);return g?{engine:a,accountId:g.id,kind:g.kind,home:f,transcriptRoot:g.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:f}}:null}}}};
1
+ "use strict";exports.id=6926,exports.ids=[6926],exports.modules={5602:(a,b,c)=>{c.d(b,{KP:()=>E,Kw:()=>F,dJ:()=>J});var d=c(76760),e=c.n(d),f=c(25617),g=c(9735),h=c(58996),i=c(30096),j=c(78966),k=c(73024),l=c.n(k),m=c(63006);let n=new Set(["https://beacon.claude-ai.staging.ant.dev","https://claude.fedstart.com","https://claude-staging.fedstart.com"]),o=["user:profile","user:inference","user:sessions:claude_code","user:mcp_servers","user:file_upload"],p=new Set(["user:projects:read","user:projects:write"]);function q(a){let b=(0,m.TK)(a.home);return"present"===b.state?b.document:null}function r(a){if("unknown"===a.credentialState)return"unknown";if(!a.authPresent)return null;let b=(0,m.TK)(a.home);if("unknown"===b.state)return"unknown";let c="present"===b.state?b.document.claudeAiOauth:null;return"string"==typeof c?.accessToken&&c.accessToken.length>0&&"number"==typeof c.expiresAt&&Number.isFinite(c.expiresAt)?{expiresAt:c.expiresAt,refreshable:"string"==typeof c.refreshToken&&c.refreshToken.length>0}:null}let s={now:Date.now,fetch:globalThis.fetch};function t(a,b,c){let d=q(a)?.claudeAiOauth;if(!d||d.accessToken===b)return!1;let e=r(a);return null!==e&&"unknown"!==e&&e.expiresAt>c}async function u(a,b,c){for(;;)try{l().mkdirSync(a,{mode:448});let b=l().openSync(a,"r"),c=l().fstatSync(b);return()=>{try{let b=l().statSync(a);b.dev===c.dev&&b.ino===c.ino&&l().rmdirSync(a)}catch{}finally{l().closeSync(b)}}}catch(d){if("EEXIST"!==d.code)return null;let a=c-(Date.now()-b);if(a<=0)return null;await new Promise(b=>setTimeout(b,Math.min(25,a)))}}async function v(a,b){let c,d=Date.now(),f=await u(e().join(a.home,".oauth_refresh.lock"),d,b);if(!f)return null;try{c=l().realpathSync(a.home)}catch{c=a.home}let g=await u(`${c}.lock`,d,b);return g?()=>{g(),f()}:(f(),null)}async function w(a){try{let b=await a.json();return b?.error==="invalid_grant"?"invalid":"unknown"}catch{return"unknown"}}async function x(a){if(400!==a.status)return!1;try{let b=await a.clone().json();return b?.error==="invalid_scope"}catch{return!1}}async function y(a,b=s){let c=await v(a,b.lockWaitMs??8e3);if(!c)return"unknown";try{return await z(a,b)}finally{c()}}async function z(a,b){let c,d,e=(0,m.TK)(a.home);if("present"!==e.state)return"absent"===e.state?"invalid":"unknown";let f=e.document,g=f?.claudeAiOauth;if(!f||!g||"string"!=typeof g.accessToken||0===g.accessToken.length||"string"!=typeof g.refreshToken||0===g.refreshToken.length)return"invalid";if("number"==typeof g.expiresAt&&Number.isFinite(g.expiresAt)&&g.expiresAt>b.now())return"refreshed";let h=g.accessToken,i=Array.isArray(g.scopes)&&g.scopes.every(a=>"string"==typeof a)?g.scopes:[],j="string"==typeof g.clientId&&g.clientId.length>0,k=j?g.clientId:process.env.CLAUDE_CODE_OAUTH_CLIENT_ID||"9d1c250a-e61b-44d9-88ed-5944d1962f5e",l=!j&&(i.includes("user:inference")||!!g.subscriptionType),r=i.length>0?i:o;l&&(r=[...new Set([...o,...i.filter(a=>p.has(a))])]);let s=function(){let a=process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL;if(!a)return"https://platform.claude.com/v1/oauth/token";let b=a.replace(/\/+$/,"");return n.has(b)?`${b}/v1/oauth/token`:null}();if(!s)return"unknown";let u=AbortSignal.timeout(8e3),v=a=>b.fetch(s,{method:"POST",redirect:"manual",headers:{"content-type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:g.refreshToken,client_id:k,scope:a.join(" ")}),signal:u});try{c=await v(r),l&&i.length>0&&i.includes("user:inference")&&await x(c)&&(c=await v(i))}catch{return"unknown"}if(400===c.status||401===c.status)return t(a,h,b.now())?"refreshed":await w(c);if(!c.ok)return"unknown";try{let a=await c.json();if(!a||"object"!=typeof a||Array.isArray(a))return"unknown";d=a}catch{return"unknown"}if("string"!=typeof d.access_token||0===d.access_token.length||"number"!=typeof d.expires_in||!Number.isFinite(d.expires_in)||d.expires_in<=0)return"unknown";let y=q(a),z=y?.claudeAiOauth;if(!y||!z)return"unknown";if(z.accessToken!==h)return t(a,h,b.now())?"refreshed":"unknown";let A=d.access_token,B={...z,accessToken:A,refreshToken:"string"==typeof d.refresh_token&&d.refresh_token.length>0?d.refresh_token:g.refreshToken,expiresAt:b.now()+1e3*d.expires_in};"string"==typeof d.scope&&d.scope.trim()&&(B.scopes=d.scope.trim().split(/\s+/)),"number"==typeof d.refresh_token_expires_in&&Number.isFinite(d.refresh_token_expires_in)&&(B.refreshTokenExpiresAt=b.now()+1e3*d.refresh_token_expires_in);try{return(0,m.Pb)(a.home,e,{...y,claudeAiOauth:B})?"refreshed":"unknown"}catch{return"unknown"}}var A=c(22962);class B extends Error{constructor(){super("Claude credential store is unavailable; retry when access is restored"),this.name="ClaudeCredentialUnavailableError"}}let C=globalThis;function D(a,b){let c=C.__llvClaudeRefreshInflight??=new Map,d=`${a.id}\0${e().resolve(a.home)}`,g=c.get(d);if(g)return g;let h=Promise.resolve().then(()=>b(a)).catch(a=>{if(a instanceof j.UV||a instanceof B)throw a;return(0,f.Oh)({enabled:!0,authentication:"unknown",limits:"unknown",stale:!0,retryAt:null})}).finally(()=>{c.get(d)===h&&c.delete(d)});return c.set(d,h),h}class E extends Error{constructor(a){const b=[...new Set(a)].sort(),c=1===b.length?`account ${b[0]}`:b.length>1?`accounts ${b.join(", ")}`:"a Claude account";super(`No healthy Claude account is available. Re-login ${c} in Accounts and retry.`),this.name="NoHealthyClaudeAccountError",this.accountIds=b}}function F(a,b=Date.now(),c){if("credential store unavailable"===a.reason||a.reason?.startsWith("credentials unreadable:"))throw new B;let d=a.reason===i.e4||"credentials missing access token"===a.reason||"credentials absent"===a.reason?"failed":"live"===a.source?"authenticated":"unknown",e=(0,g.cQ)("claude",a.data,c).map(a=>a.value).filter(a=>null!=a),h=e.filter(a=>Number.isFinite(a.usedPercent)&&a.usedPercent>=100),j=h.length>0?"exhausted":e.length>0?"available":"unknown",k=null;return h.length>0&&h.every(a=>Number.isSafeInteger(a.resetsAt)&&1e3*a.resetsAt>b)?k=new Date(1e3*Math.max(...h.map(a=>a.resetsAt))).toISOString():"number"==typeof a.retryAt&&Number.isFinite(a.retryAt)?k=new Date(a.retryAt).toISOString():"string"==typeof a.retryAt&&(k=a.retryAt),(0,f.Oh)({enabled:!0,authentication:d,limits:j,stale:"live"!==a.source,retryAt:k},b)}async function G(a){let b=await (0,h.nn)(e().join(a.home,".credentials.json"),Date.now,600);return{...F(b),limitRead:b}}function H(a){let b=(0,j.Fn)().find(b=>b.id===a.id);if(!b||b.kind!==a.kind||e().resolve(b.home)!==e().resolve(a.home))throw new j.UV(a.id);return b}let I={now:Date.now,probe:async function(a){return await (0,A.Cu)(async()=>{let b=H(a);return await G(b)})},refresh:async function(a){return await (0,A.Cu)(async()=>{let b=H(a),c=await y(b);if("invalid"===c)return(0,f.Oh)({enabled:!0,authentication:"failed",limits:"unknown",stale:!1,retryAt:null});if("unknown"===c)throw new B;return await G(b)})}};async function J(a,b,c=I,d=!0,e=b,f){let g=c.now(),h=a=>a.limitRead?F(a.limitRead,g,f):a,i=a.map(a=>{let c=r(a),e="unknown"===c;if(e&&d&&a.id===b)throw new B;return{account:a,oauth:e?null:c,unknown:e}}),j=new Set(i.filter(a=>a.unknown).map(a=>a.account.id)),k=async(a,c)=>{try{return{account:a,admission:h(await c(a))}}catch(c){if(!(c instanceof B)||d&&a.id===b)throw c;return j.add(a.id),null}},l=a=>"admissible"===a.kind?"current"===a.basis?2:1:0,m=a=>a.filter(a=>l(a.admission)>0).sort((a,b)=>l(b.admission)-l(a.admission)||Number(b.account.id===e)-Number(a.account.id===e)||a.account.id.localeCompare(b.account.id))[0],n=(a,c)=>({account:a.account,admission:a.admission,...d&&b&&c?{requestedAdmission:c.admission}:{}}),o=(await Promise.all(i.filter(a=>a.oauth&&a.oauth.expiresAt>g).map(({account:a})=>k(a,c.probe)))).filter(a=>null!==a),p=b?o.find(a=>a.account.id===b)??null:null;if(d&&p?.admission.kind==="admissible")return n(p,p);let q=d&&b?i.find(a=>a.account.id===b&&a.oauth?.expiresAt&&a.oauth.expiresAt<=g&&a.oauth.refreshable):null;if(q&&"admissible"===(p={account:q.account,admission:h(await D(q.account,c.refresh))}).admission.kind)return n(p,p);let s=m(o);if(s)return n(s,p);let t=m([...o,...p?[p]:[],...(await Promise.all(i.filter(a=>a.oauth?.expiresAt&&a.oauth.expiresAt<=g&&a.oauth.refreshable).filter(a=>a.account.id!==q?.account.id).map(({account:a})=>k(a,a=>D(a,c.refresh))))).filter(a=>null!==a)]);if(t)return n(t,p);if(j.size>0)throw new B;throw new E(a.map(a=>a.id))}},26926:(a,b,c)=>{c.d(b,{$7:()=>v,oA:()=>w,fu:()=>q,accountManager:()=>y,i2:()=>s,ax:()=>p,yP:()=>r,EO:()=>t});var d=c(41617),e=c(78966),f=c(14565),g=c(68797),h=c(22962),i=c(10781),j=c(60517),k=c(60395),l=c(5602),m=c(92806),n=c(25617);function o(a,b){if("claude"===a){let c=(0,e.ob)(b);return{engine:a,accountId:c.id,kind:c.kind,home:c.home,transcriptRoot:c.projectsDir,env:"managed"===c.kind?(0,e.x0)(c.home):(0,m.Fd)(process.env)}}let c=(0,d.O$)(b);return{engine:a,accountId:c.id,kind:c.kind,home:c.home,transcriptRoot:c.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:c.home}}}async function p(a,b,c=null,f){let g,h=null==b?null:b,m=null;try{g=(0,j.$8)()}catch(a){if(null===h||!(a instanceof j.Uq))throw a;g=[],m=a}let r=(0,j.sx)(c,a,g),s=null===r?null:new Set(r),t=(0,i.agentRegistry)(),u=t.engineRouting(a).activeAccountId??void 0,v={project:c,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:t.quotaObservations(a),bindings:g,preferredId:u??null,model:f,unbound:"engine-default"},w=(0,k.X)(v);if(null===h&&"available"!==w.kind)throw new q(w,a,c);if(null!==h){let b=(0,k.X)({...v,requestedId:h,requestedChoice:"explicit"});if("available"!==b.kind)throw new q(b,a,c)}let x="available"===w.kind&&null===m,y=x?w.accountId??void 0:void 0,z=h??y,A=(0,n.Oh)({enabled:!1,authentication:"unknown",limits:"unknown",stale:!1,retryAt:null});if("codex"===a)try{return o(a,z)}catch(b){if(null===h||!(b instanceof d.m1)||!x)throw b;return{...o(a,y),requestedAdmission:A}}let B=m?(0,e.Fn)().filter(a=>a.id===h):(0,e.Fn)().filter(a=>null===s||s.has(a.id)||a.id===h),C=null===h||B.some(a=>a.id===h);if(m&&!C)throw m;try{let b=await (0,l.dJ)(B,C?z:y,void 0,null!==h&&C,y,f);return{...o(a,b.account.id),admission:b.admission,...null!==h&&!C?{requestedAdmission:A}:b.requestedAdmission?{requestedAdmission:b.requestedAdmission}:{}}}catch(b){if(null!==h||null===r)throw b;throw new q({kind:"unavailable",allowedAccountIds:r},a,c,b instanceof Error?b.message:String(b))}}class q extends Error{constructor(a,b,c,d){const e=(0,j.ed)(a,b,c??"");super(d?`${e}: ${d}`:e),this.resolution=a,this.name="ProjectAccountRefusedError"}}function r(a,b,c,d){let e=y.resolveProjectSpawn(a,{project:b,preferredId:c??null,model:d});if("available"!==e.kind)throw new q(e,a,b);return e.account}function s(a,b,c){return null!==b?y.resolveSpawn(a,b):r(a,c)}function t(a,b,c){let f="claude"===a?(0,e.Fn)():(0,d.Sq)(),g=b?.trim()||null;if(null!==g&&f.some(a=>a.id===g))return g;let h=(0,j.$8)(),l=(0,j.sx)(c,a,h),m=(0,i.agentRegistry)(),n=(0,k.X)({project:c,engine:a,accounts:f,observations:m.quotaObservations(a),bindings:h,preferredId:null===l?null:m.engineRouting(a).activeAccountId,unbound:"engine-default"});if("available"!==n.kind)throw new q(n,a,c);return n.accountId}function u(a,b){let c=("claude"===a?(0,e.Fn)():(0,d.Sq)()).find(a=>a.id===b);if(!c)throw Error(`unknown ${a} account: ${b}`);return{id:c.id,label:c.label,kind:c.kind,active:("claude"===a?(0,e.No)():(0,d.O)())===b,auth:{state:c.authPresent?"authenticated":"signed_out",method:null,email:null,plan:null,checkedAt:null},limits:{state:"unavailable",session:null,weekly:null,checkedAt:null},login:null}}class v extends Error{constructor(a,b){super(`${a} account requires authentication`),this.engine=a,this.accountId=b,this.name="AccountAuthenticationRequiredError"}}class w extends Error{constructor(a,b){super(`${a} account login is in progress`),this.engine=a,this.accountId=b,this.name="AccountLoginPendingError"}}async function x(a,b,c=(0,i.agentRegistry)()){return await (0,h.Cu)(async()=>(function(a,b,c){let h;if("claude"===a?(0,e.kK)():(0,d.J0)()){if("claude"===a)throw new e.OL;throw new d.NE}let i=("claude"===a?(0,e.Fn)():(0,d.Sq)()).find(a=>a.id===b);if(!i){if("claude"===a)throw new e.UV(b);throw new d.m1(b)}if("claude"===a?null!==(h=f.s4.forAccount(b))&&f.VO.has(h.phase):null!==i.loginPane||"pending"===(0,g.VD)().peekLogin(i).attemptState)throw new w(a,b);if(!i.authPresent)throw new v(a,b);let j="claude"===a?(0,e.No)():(0,d.O)(),k=c.engineRouting(a).activeAccountId;"claude"===a?(0,e.ss)(b):(0,d.b0)(b);try{c.setEngineRouting(a,b)}catch(f){let b=[];try{c.engineRouting(a).activeAccountId!==k&&c.setEngineRouting(a,k??j)}catch(a){b.push(a)}try{"claude"===a?(0,e.ss)(j):(0,d.b0)(j)}catch(a){b.push(a)}if(b.length>0)throw AggregateError([f,...b],"account selection rollback failed");throw f}return u(a,b)})(a,b,c))}let y={list:async()=>({claude:{active:(0,e.No)(),accounts:(0,e.Fn)().map(a=>u("claude",a.id))},codex:{active:(0,d.O)(),accounts:(0,d.Sq)().map(a=>u("codex",a.id))}}),add:async(a,b)=>await (0,h.Cu)(async()=>{let c="claude"===a?(0,e.fM)(b):(0,d.Ut)(b);return u(a,c.id)}),select:async(a,b)=>x(a,b),status:async(a,b)=>u(a,b),async submitLoginInput(){throw Error("login input is Claude-operation specific")},async cancelLogin(){throw Error("login cancellation is Claude-operation specific")},resolveSpawn:(a,b)=>o(a,b??(0,i.agentRegistry)().engineRouting(a).activeAccountId??void 0),resolveHeadlessSpawn(a,b,c,f,g){let h=(0,k.X)({project:f,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:(0,i.agentRegistry)().quotaObservations(a),bindings:(0,j.$8)(),preferredId:b??(0,i.agentRegistry)().engineRouting(a).activeAccountId,excludedIds:c,unbound:"capacity",model:g});return"available"===h.kind?{kind:"available",account:o(a,h.accountId??void 0)}:"exhausted"===h.kind?{kind:"exhausted",resetsAt:h.resetsAt}:{kind:"unavailable"}},resolveProjectSpawn(a,b){let c=(0,k.X)({project:b.project,engine:a,accounts:"claude"===a?(0,e.Fn)():(0,d.Sq)(),observations:(0,i.agentRegistry)().quotaObservations(a),bindings:(0,j.$8)(),requestedId:b.requestedId,model:b.model,preferredId:b.preferredId??(0,i.agentRegistry)().engineRouting(a).activeAccountId,excludedIds:b.excludedIds??[],unavailableIds:b.unavailableIds??[]});return"available"!==c.kind?c:{kind:"available",account:o(a,c.accountId??void 0)}},resolveTranscriptOwner(a,b){let c=(0,i.agentRegistry)().transcriptAccountId(a,b);if(c)if("claude"===a){let b=(0,e.Fn)().find(a=>a.id===c);if(b)return{engine:a,accountId:b.id,kind:b.kind,home:b.home,transcriptRoot:b.projectsDir,env:"managed"===b.kind?(0,e.x0)(b.home):(0,m.Fd)(process.env)}}else{let b=(0,d.Sq)().find(a=>a.id===c);if(b)return{engine:a,accountId:b.id,kind:b.kind,home:b.home,transcriptRoot:b.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:b.home}}}if("claude"===a){let c=(0,e.y3)(b);if(!c)return null;let d=(0,e.Fn)().find(a=>a.home===c);return d?{engine:a,accountId:d.id,kind:d.kind,home:c,transcriptRoot:d.projectsDir,env:"managed"===d.kind?(0,e.x0)(c):(0,m.Fd)(process.env)}:null}let f=(0,d.yN)(b);if(!f)return null;let g=(0,d.Sq)().find(a=>a.home===f);return g?{engine:a,accountId:g.id,kind:g.kind,home:f,transcriptRoot:g.sessionsDir,env:{...(0,m.Fd)(process.env),CODEX_HOME:f}}:null}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=1920,exports.ids=[1920],exports.modules={35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"forbidden: cross-origin request"},{status:403})}},66942:(a,b,c)=>{c.d(b,{CP:()=>L,H2:()=>N,A9:()=>M,hA:()=>an,PU:()=>A});var d=c(63657),e=c(9302),f=c(77598),g=c.n(f),h=c(73024),i=c(31421),j=c(76760),k=c.n(j),l=c(46193),m=c(24191);function n(a){if(a&&"object"==typeof a&&!Object.isFrozen(a))for(let b of(Object.freeze(a),Object.values(a)))n(b);return a}function o(a){let b=/(^|[^A-Z0-9_.-])((?:\\+)?["']?)([A-Z0-9_.-]*(?:TOKEN|SECRET|PASSWORD|PASSWD|API[_-]?KEY|AUTHORIZATION|COOKIE)[A-Z0-9_.-]*)\2\s*[:=]\s*(?!<redacted>(?:$|[\s,}\]]))(?:((?:\\+)?["'])|(?=[^"'\\\s]))/i.exec(a),c=/\b(Bearer)\s+(?:((?:\\+)?["'])|(?=\S))/i.exec(a),d=/\b(?:(?:sk|ghp|github_pat|xox[baprs])[-_A-Za-z0-9]{16,}|[A-Za-z0-9+/_=-]{48,})/i.exec(a),e=[];if(b){let a=b[4]??"",c=a.at(-1);e.push({index:b.index+b[1].length,length:b[0].length-b[1].length,replacement:`${b[3]}=<redacted>`,quote:'"'===c||"'"===c?c:null,quoteEscapeDepth:Math.max(0,a.length-1),quotedKey:b[2].endsWith('"')||b[2].endsWith("'"),authorization:/AUTHORIZATION/i.test(b[3]),bearer:!1})}if(c){let a=c[2]??"",b=a.at(-1);e.push({index:c.index,length:c[0].length,replacement:`${c[1]} <redacted>`,quote:'"'===b||"'"===b?b:null,quoteEscapeDepth:Math.max(0,a.length-1),quotedKey:!1,authorization:!1,bearer:!0})}return d&&e.push({index:d.index,length:d[0].length,replacement:"<redacted>",quote:null,quoteEscapeDepth:0,quotedKey:!1,authorization:!1,bearer:!1}),e.sort((a,b)=>a.index-b.index)[0]??null}function p(a,b,c=!1){return function(a,b,c=!1){let d=Buffer.from(a);if(d.length<=b)return a;if(c){let a=d.length-Math.max(0,b-Buffer.byteLength("..."));for(;a<d.length&&(192&d[a])==128;)a+=1;return"...".slice(0,b)+d.subarray(a).toString("utf8")}let e=b;for(;e>0&&(192&d[e])==128;)e-=1;return d.subarray(0,e).toString("utf8")}(function(a){let b="",c=a;for(;c;){let a=o(c);if(!a){b+=c;break}if(b+=c.slice(0,a.index)+a.replacement,c=c.slice(a.index+a.length),a.authorization&&!(a.quotedKey&&a.quote)){let a=c.search(/[\r\n]/);c=a<0?"":c.slice(a);continue}if(a.quote){let b=function(a,b,c,d=0){let e=0;for(let f=d;f<a.length;f+=1){let d=a[f];if("\\"===d){e+=1;continue}if(d===b&&e===c)return f+1;e=0}return -1}(c,a.quote,a.quoteEscapeDepth);c=b<0?"":c.slice(b);continue}if(a.bearer){let a=c.search(/[\r\n]/);c=a<0?"":c.slice(a);continue}if(!a.authorization){let a=c.search(/\s/);c=a<0?"":c.slice(a)}}return b.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"").trim()}(a),b,c)}function q(a,b,c,d={}){let e=void 0===d.stderr?void 0:p(d.stderr,2048,!0);return n({reason:a,diagnostic:{cause:b,message:p(c,512),causes:function(a,b=[]){let c=[];for(let d of[a,...b])for(let a of function(a){let b=[],c=a;for(let a=0;a<4&&void 0!==c;a+=1){if(c instanceof Error){let a=p(c.message,512);a&&b.push(a),c=c.cause;continue}let a=p(String(c),512);a&&b.push(a);break}return b}(d))if(c.push(a),4===c.length)return c;return c}(d.cause,d.secondaryCauses),...e?{stderr:e}:{}}})}class r extends Error{constructor(a,b,c,d={}){super(c,void 0===d.cause?void 0:{cause:d.cause}),this.name="ResourceCollectorFailureError",this.failure=q(a,b,c,d)}}var s=c(70547),t=c(23921),u=c(36177),v=c(64487),w=c(3743),x=c(91724),y=c(92806),z=c(30096);function A(a){let b=JSON.stringify(a);if(void 0===b)throw TypeError("resource diagnostic cannot be serialized");return b.replace(/[\u007f-\uffff]/g,a=>`\\u${a.charCodeAt(0).toString(16).padStart(4,"0")}`)}function B(){return{systemMemory:0,readFiles:0,readHosts:0,ppidMap:0,processMemory:0,attach:0,serialization:0}}function C(a,b,c){let d=performance.now();try{return c()}finally{a[b]+=performance.now()-d}}async function D(a,b,c){let d=performance.now();try{return await c()}finally{a[b]+=performance.now()-d}}function E(a){return"number"==typeof a&&Number.isFinite(a)&&a>=0}function F(a=d.B){let b=a.systemMemory();return b?{...b,capturedAt:new Date().toISOString()}:null}function G(a){return"structured"===a.kind}let H=globalThis;function I(){let a=H.__llvLastResourceBuild;return a?{...a,phases:{...a.phases}}:null}function J(a){let b=new Map;for(let{target:c,ref:d}of a)b.set(c,d);H.__llvResourceTargets=b,K([...b].map(([a,b])=>({target:a,ref:b})))}function K(a){H.__llvLastResourceTargets=[...a].map(({target:a,ref:b})=>({target:a,ref:b}))}function L(a){if(""===a)return null;let b=H.__llvResourceTargets?.get(a)??null;return null===b||G(b)?null:b}function M(a){H.__llvResourceTargets?.delete(a)&&(H.__llvResourceTargetEpoch=(H.__llvResourceTargetEpoch??0)+1)}function N(a){if(""===a)return null;let b=H.__llvResourceTargets?.get(a)??null;return null!==b&&G(b)?b:null}function O(a){return new Date(1e3*a).toISOString()}async function P(){return(await Promise.resolve().then(c.bind(c,9488))).readStructuredHostRecords()}let Q={readFiles:async a=>{let b=await R(a);return(0,u.iD)(b),b},readHosts:(a,b,c)=>(0,v.oe)(a,b,c),proc:d.B,captureAttachReferences:w.yq,readStructuredHosts:P,listAgentProcesses:t.Bj,directoryExists:a=>(0,h.existsSync)(a),processIdentity:a=>d.B.processIdentity(a),hostStamp:t.Tu};async function R(a){var b,c;return b=(a?await (0,m.vx)():await (0,m.Nm)({revalidate:!1})).snapshot.files,c=()=>null,b.map(a=>({path:a.path,parent:a.parent,title:a.title,project:a.project,activity:a.activity,mtime:a.mtime,engine:a.engine,pid:a.pid,proc:a.proc,conversationId:c(a.path)??a.conversationId??null}))}async function S(a,b,c){let f=await c.readStructuredHosts?.(a)??[],g=c.processIdentity??(a=>d.B.processIdentity(a)),h=(c.bootEpoch??e.h_)(),i=c.hostStamp??t.Tu,j=(0,t.TK)(),k=[],l=new Set;for(let a of f){if(!Number.isSafeInteger(a.pid)||a.pid<=1||l.has(a.pid))continue;let b=g(a.pid);if(null!==b&&(null===a.startIdentity||a.startIdentity===b)&&(null===a.bootEpoch||null===h||a.bootEpoch===h)&&(l.add(a.pid),k.push({...a,startIdentity:b}),k.length>=z.sb))break}for(let d of c.listAgentProcesses?.(a)??[]){if(k.length>=z.sb)break;if(l.has(d.pid)||(0,t.qM)(d.argv))continue;let a=(0,t.qP)(d.argv);if(null===a||i(d.pid)!==j)continue;let c=function(a,b,c,d){let e=a,f=new Set([a]);for(;;){let a=b.get(e);if(void 0===a||a<=1||f.has(a)||c(a)!==d)return e;f.add(a),e=a}}(d.pid,b,i,j);if(l.has(c))continue;let e=g(c);null!==e&&(l.add(d.pid),l.add(c),k.push({id:`pid:${c}`,engine:a,sessionId:null,pid:c,startIdentity:e,bootEpoch:h,cwd:d.cwd,path:null,conversationId:null,title:null,role:null,model:null,stage:null,seat:null,turnBusy:null,owned:!1}))}return k.map(a=>({record:a,tree:(0,s.mO)(a.pid,b)}))}async function T(a,b=Q){let c=performance.now(),d=B();try{let e=C(d,"systemMemory",()=>F(b.proc)),f=await D(d,"readFiles",()=>b.readFiles(a)),g=C(d,"ppidMap",()=>b.proc.ppidMap()),h=await D(d,"readHosts",()=>b.readHosts(a,f,g)),i=await D(d,"readHosts",()=>S(a,g,b)),j=[],k=new Map(f.map(a=>[a.path,a])),l=new Map;for(let a of h.hosts){let b=l.get(a.paneId);b?b.push(a):l.set(a.paneId,[a])}let m=[],n=new Set;for(let a of l.values()){let b=a[0],c=(0,s.mO)(b.panePid,g);for(let d of(m.push({host:b,tree:c,paneHosts:a}),c))n.add(d)}let o=[];for(let a of i)if(!n.has(a.record.pid))for(let b of(o.push(a),a.tree))n.add(b);let p=C(d,"processMemory",()=>b.proc.processMemory(n)),q=a=>{let b=0,c=0;for(let d of a){let a=p.get(d);a&&(b+=a.rssBytes,c+=a.swapBytes)}return{rssBytes:b,swapBytes:c}},r=[];for(let{record:a,tree:c}of(C(d,"attach",()=>{let a=b.captureAttachReferences(m.map(({host:a})=>({tmuxServerPid:a.tmuxServerPid,panePid:a.panePid,paneId:a.paneId})));for(let{host:b,tree:c,paneHosts:d}of m){let e=function(a,b,c){for(let d of b){if(!d.primaryPath)continue;let b=a.canonicalFor(d.primaryPath);if(b?.paneId===d.paneId&&b.agentPid===d.agentPid)return c.get(d.primaryPath)??null}return null}(h,d,k);j.push({target:b.display,panePid:b.panePid,path:e?.path??null,engine:b.engine,hostConflict:function(a,b){return a.conflicts?.some(a=>a.paneIds.includes(b.paneId))??!1}(h,b),title:e?.title??null,project:e?.project||null,activity:e?.activity??null,lastActiveAt:e?O(e.mtime):null,cwd:b.cwd,...q(c),procCount:c.length});let f=a.get(b.paneId);f&&r.push({target:b.display,ref:f})}}),o)){let d=a.path?k.get(a.path)??null:null,e=d?O(d.mtime):null,f="structured:"+a.id;j.push({target:f,panePid:a.pid,kind:"structured",path:a.path,engine:a.engine,title:a.title??d?.title??null,project:d?.project||null,activity:d?.activity??null,lastActiveAt:e,cwd:a.cwd||null,...q(c),procCount:c.length,model:a.model,role:a.role,conversationId:a.conversationId,stage:a.stage,ownership:null===a.sessionId||a.cwd.length>0&&b.directoryExists?.(a.cwd)===!1?"orphaned":a.owned?"owned":"released",seat:a.seat,turnBusy:a.turnBusy}),r.push({target:f,ref:{kind:"structured",pid:a.pid,startIdentity:a.startIdentity,bootEpoch:a.bootEpoch,engine:a.engine,sessionId:a.sessionId,conversationId:a.conversationId,seat:a.seat,turnBusy:a.turnBusy,owned:a.owned,lastActiveAt:e}})}return j.sort((a,b)=>b.rssBytes+b.swapBytes-(a.rssBytes+a.swapBytes)),K(r),H.__llvLastResourceBuild={fresh:a,status:"complete",durationMs:performance.now()-c,phases:d},{system:e,sessions:j}}catch(b){throw H.__llvLastResourceBuild={fresh:a,status:"failed",durationMs:performance.now()-c,phases:d},b}}let U="resources-observation.json",V=`
1
+ "use strict";exports.id=6942,exports.ids=[6942],exports.modules={66942:(a,b,c)=>{c.d(b,{CP:()=>L,H2:()=>N,A9:()=>M,hA:()=>an,PU:()=>A});var d=c(63657),e=c(9302),f=c(77598),g=c.n(f),h=c(73024),i=c(31421),j=c(76760),k=c.n(j),l=c(46193),m=c(1849);function n(a){if(a&&"object"==typeof a&&!Object.isFrozen(a))for(let b of(Object.freeze(a),Object.values(a)))n(b);return a}function o(a){let b=/(^|[^A-Z0-9_.-])((?:\\+)?["']?)([A-Z0-9_.-]*(?:TOKEN|SECRET|PASSWORD|PASSWD|API[_-]?KEY|AUTHORIZATION|COOKIE)[A-Z0-9_.-]*)\2\s*[:=]\s*(?!<redacted>(?:$|[\s,}\]]))(?:((?:\\+)?["'])|(?=[^"'\\\s]))/i.exec(a),c=/\b(Bearer)\s+(?:((?:\\+)?["'])|(?=\S))/i.exec(a),d=/\b(?:(?:sk|ghp|github_pat|xox[baprs])[-_A-Za-z0-9]{16,}|[A-Za-z0-9+/_=-]{48,})/i.exec(a),e=[];if(b){let a=b[4]??"",c=a.at(-1);e.push({index:b.index+b[1].length,length:b[0].length-b[1].length,replacement:`${b[3]}=<redacted>`,quote:'"'===c||"'"===c?c:null,quoteEscapeDepth:Math.max(0,a.length-1),quotedKey:b[2].endsWith('"')||b[2].endsWith("'"),authorization:/AUTHORIZATION/i.test(b[3]),bearer:!1})}if(c){let a=c[2]??"",b=a.at(-1);e.push({index:c.index,length:c[0].length,replacement:`${c[1]} <redacted>`,quote:'"'===b||"'"===b?b:null,quoteEscapeDepth:Math.max(0,a.length-1),quotedKey:!1,authorization:!1,bearer:!0})}return d&&e.push({index:d.index,length:d[0].length,replacement:"<redacted>",quote:null,quoteEscapeDepth:0,quotedKey:!1,authorization:!1,bearer:!1}),e.sort((a,b)=>a.index-b.index)[0]??null}function p(a,b,c=!1){return function(a,b,c=!1){let d=Buffer.from(a);if(d.length<=b)return a;if(c){let a=d.length-Math.max(0,b-Buffer.byteLength("..."));for(;a<d.length&&(192&d[a])==128;)a+=1;return"...".slice(0,b)+d.subarray(a).toString("utf8")}let e=b;for(;e>0&&(192&d[e])==128;)e-=1;return d.subarray(0,e).toString("utf8")}(function(a){let b="",c=a;for(;c;){let a=o(c);if(!a){b+=c;break}if(b+=c.slice(0,a.index)+a.replacement,c=c.slice(a.index+a.length),a.authorization&&!(a.quotedKey&&a.quote)){let a=c.search(/[\r\n]/);c=a<0?"":c.slice(a);continue}if(a.quote){let b=function(a,b,c,d=0){let e=0;for(let f=d;f<a.length;f+=1){let d=a[f];if("\\"===d){e+=1;continue}if(d===b&&e===c)return f+1;e=0}return -1}(c,a.quote,a.quoteEscapeDepth);c=b<0?"":c.slice(b);continue}if(a.bearer){let a=c.search(/[\r\n]/);c=a<0?"":c.slice(a);continue}if(!a.authorization){let a=c.search(/\s/);c=a<0?"":c.slice(a)}}return b.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"").trim()}(a),b,c)}function q(a,b,c,d={}){let e=void 0===d.stderr?void 0:p(d.stderr,2048,!0);return n({reason:a,diagnostic:{cause:b,message:p(c,512),causes:function(a,b=[]){let c=[];for(let d of[a,...b])for(let a of function(a){let b=[],c=a;for(let a=0;a<4&&void 0!==c;a+=1){if(c instanceof Error){let a=p(c.message,512);a&&b.push(a),c=c.cause;continue}let a=p(String(c),512);a&&b.push(a);break}return b}(d))if(c.push(a),4===c.length)return c;return c}(d.cause,d.secondaryCauses),...e?{stderr:e}:{}}})}class r extends Error{constructor(a,b,c,d={}){super(c,void 0===d.cause?void 0:{cause:d.cause}),this.name="ResourceCollectorFailureError",this.failure=q(a,b,c,d)}}var s=c(70547),t=c(23921),u=c(36177),v=c(64487),w=c(3743),x=c(91724),y=c(92806),z=c(30096);function A(a){let b=JSON.stringify(a);if(void 0===b)throw TypeError("resource diagnostic cannot be serialized");return b.replace(/[\u007f-\uffff]/g,a=>`\\u${a.charCodeAt(0).toString(16).padStart(4,"0")}`)}function B(){return{systemMemory:0,readFiles:0,readHosts:0,ppidMap:0,processMemory:0,attach:0,serialization:0}}function C(a,b,c){let d=performance.now();try{return c()}finally{a[b]+=performance.now()-d}}async function D(a,b,c){let d=performance.now();try{return await c()}finally{a[b]+=performance.now()-d}}function E(a){return"number"==typeof a&&Number.isFinite(a)&&a>=0}function F(a=d.B){let b=a.systemMemory();return b?{...b,capturedAt:new Date().toISOString()}:null}function G(a){return"structured"===a.kind}let H=globalThis;function I(){let a=H.__llvLastResourceBuild;return a?{...a,phases:{...a.phases}}:null}function J(a){let b=new Map;for(let{target:c,ref:d}of a)b.set(c,d);H.__llvResourceTargets=b,K([...b].map(([a,b])=>({target:a,ref:b})))}function K(a){H.__llvLastResourceTargets=[...a].map(({target:a,ref:b})=>({target:a,ref:b}))}function L(a){if(""===a)return null;let b=H.__llvResourceTargets?.get(a)??null;return null===b||G(b)?null:b}function M(a){H.__llvResourceTargets?.delete(a)&&(H.__llvResourceTargetEpoch=(H.__llvResourceTargetEpoch??0)+1)}function N(a){if(""===a)return null;let b=H.__llvResourceTargets?.get(a)??null;return null!==b&&G(b)?b:null}function O(a){return new Date(1e3*a).toISOString()}async function P(){return(await Promise.resolve().then(c.bind(c,9488))).readStructuredHostRecords()}let Q={readFiles:async a=>{let b=await R(a);return(0,u.iD)(b),b},readHosts:(a,b,c)=>(0,v.oe)(a,b,c),proc:d.B,captureAttachReferences:w.yq,readStructuredHosts:P,listAgentProcesses:t.Bj,directoryExists:a=>(0,h.existsSync)(a),processIdentity:a=>d.B.processIdentity(a),hostStamp:t.Tu};async function R(a){var b,c;return b=(a?await (0,m.vx)():await (0,m.Nm)({revalidate:!1})).snapshot.files,c=()=>null,b.map(a=>({path:a.path,parent:a.parent,title:a.title,project:a.project,activity:a.activity,mtime:a.mtime,engine:a.engine,pid:a.pid,proc:a.proc,conversationId:c(a.path)??a.conversationId??null}))}async function S(a,b,c){let f=await c.readStructuredHosts?.(a)??[],g=c.processIdentity??(a=>d.B.processIdentity(a)),h=(c.bootEpoch??e.h_)(),i=c.hostStamp??t.Tu,j=(0,t.TK)(),k=[],l=new Set;for(let a of f){if(!Number.isSafeInteger(a.pid)||a.pid<=1||l.has(a.pid))continue;let b=g(a.pid);if(null!==b&&(null===a.startIdentity||a.startIdentity===b)&&(null===a.bootEpoch||null===h||a.bootEpoch===h)&&(l.add(a.pid),k.push({...a,startIdentity:b}),k.length>=z.sb))break}for(let d of c.listAgentProcesses?.(a)??[]){if(k.length>=z.sb)break;if(l.has(d.pid)||(0,t.qM)(d.argv))continue;let a=(0,t.qP)(d.argv);if(null===a||i(d.pid)!==j)continue;let c=function(a,b,c,d){let e=a,f=new Set([a]);for(;;){let a=b.get(e);if(void 0===a||a<=1||f.has(a)||c(a)!==d)return e;f.add(a),e=a}}(d.pid,b,i,j);if(l.has(c))continue;let e=g(c);null!==e&&(l.add(d.pid),l.add(c),k.push({id:`pid:${c}`,engine:a,sessionId:null,pid:c,startIdentity:e,bootEpoch:h,cwd:d.cwd,path:null,conversationId:null,title:null,role:null,model:null,stage:null,seat:null,turnBusy:null,owned:!1}))}return k.map(a=>({record:a,tree:(0,s.mO)(a.pid,b)}))}async function T(a,b=Q){let c=performance.now(),d=B();try{let e=C(d,"systemMemory",()=>F(b.proc)),f=await D(d,"readFiles",()=>b.readFiles(a)),g=C(d,"ppidMap",()=>b.proc.ppidMap()),h=await D(d,"readHosts",()=>b.readHosts(a,f,g)),i=await D(d,"readHosts",()=>S(a,g,b)),j=[],k=new Map(f.map(a=>[a.path,a])),l=new Map;for(let a of h.hosts){let b=l.get(a.paneId);b?b.push(a):l.set(a.paneId,[a])}let m=[],n=new Set;for(let a of l.values()){let b=a[0],c=(0,s.mO)(b.panePid,g);for(let d of(m.push({host:b,tree:c,paneHosts:a}),c))n.add(d)}let o=[];for(let a of i)if(!n.has(a.record.pid))for(let b of(o.push(a),a.tree))n.add(b);let p=C(d,"processMemory",()=>b.proc.processMemory(n)),q=a=>{let b=0,c=0;for(let d of a){let a=p.get(d);a&&(b+=a.rssBytes,c+=a.swapBytes)}return{rssBytes:b,swapBytes:c}},r=[];for(let{record:a,tree:c}of(C(d,"attach",()=>{let a=b.captureAttachReferences(m.map(({host:a})=>({tmuxServerPid:a.tmuxServerPid,panePid:a.panePid,paneId:a.paneId})));for(let{host:b,tree:c,paneHosts:d}of m){let e=function(a,b,c){for(let d of b){if(!d.primaryPath)continue;let b=a.canonicalFor(d.primaryPath);if(b?.paneId===d.paneId&&b.agentPid===d.agentPid)return c.get(d.primaryPath)??null}return null}(h,d,k);j.push({target:b.display,panePid:b.panePid,path:e?.path??null,engine:b.engine,hostConflict:function(a,b){return a.conflicts?.some(a=>a.paneIds.includes(b.paneId))??!1}(h,b),title:e?.title??null,project:e?.project||null,activity:e?.activity??null,lastActiveAt:e?O(e.mtime):null,cwd:b.cwd,...q(c),procCount:c.length});let f=a.get(b.paneId);f&&r.push({target:b.display,ref:f})}}),o)){let d=a.path?k.get(a.path)??null:null,e=d?O(d.mtime):null,f="structured:"+a.id;j.push({target:f,panePid:a.pid,kind:"structured",path:a.path,engine:a.engine,title:a.title??d?.title??null,project:d?.project||null,activity:d?.activity??null,lastActiveAt:e,cwd:a.cwd||null,...q(c),procCount:c.length,model:a.model,role:a.role,conversationId:a.conversationId,stage:a.stage,ownership:null===a.sessionId||a.cwd.length>0&&b.directoryExists?.(a.cwd)===!1?"orphaned":a.owned?"owned":"released",seat:a.seat,turnBusy:a.turnBusy}),r.push({target:f,ref:{kind:"structured",pid:a.pid,startIdentity:a.startIdentity,bootEpoch:a.bootEpoch,engine:a.engine,sessionId:a.sessionId,conversationId:a.conversationId,seat:a.seat,turnBusy:a.turnBusy,owned:a.owned,lastActiveAt:e}})}return j.sort((a,b)=>b.rssBytes+b.swapBytes-(a.rssBytes+a.swapBytes)),K(r),H.__llvLastResourceBuild={fresh:a,status:"complete",durationMs:performance.now()-c,phases:d},{system:e,sessions:j}}catch(b){throw H.__llvLastResourceBuild={fresh:a,status:"failed",durationMs:performance.now()-c,phases:d},b}}let U="resources-observation.json",V=`
2
2
  const { spawn } = require("node:child_process");
3
3
  const child = spawn(process.argv[1], process.argv.slice(2), { stdio: "inherit" });
4
4
  let finished = false;
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6978,exports.ids=[6978],exports.modules={6978:(a,b,c)=>{c.d(b,{O6:()=>D,Xb:()=>z,UT:()=>v,vq:()=>y,mQ:()=>w,fW:()=>C,yy:()=>B});var d=c(77598),e=c.n(d),f=c(49729),g=c(64859),h=c(60641),i=c(58396),j=c(36883),k=c(36522);let l=["coral","amber","lime","teal","sky","violet","pink","slate"];function m(a){return{ok:!1,error:'The board already shows 300 task bands for this project. Hide a band you no longer need, or keep this task off the board with board: "hidden".',status:409,code:"TASK_BOARD_FULL",field:a}}function n(a){return"string"!=typeof a?null:a.trim()||null}function o(a){let b=a&&"object"==typeof a&&!Array.isArray(a)?a:null,c=b?"number"==typeof b.x&&Number.isFinite(b.x)?"pos.y":"pos.x":"pos";return{ok:!1,error:`${c} must be ${"pos"===c?"an object with finite x and y":"a finite number"}`,status:400,code:"TASK_INVALID_FIELD",field:c}}function p(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function q(a){return"shown"===a||"hidden"===a?a:null}function r(a){return"pinned"===a||"unplaced"===a?a:null}function s(a,b){let c=null!=a,d=null!=b;if(!c&&!d)return{ok:!0};if(c!==d)return{ok:!1,error:"dueAt and dueTz must be set together"};if("string"!=typeof a||"string"!=typeof b)return{ok:!1,error:"invalid deadline"};let e=Date.parse(a);return Number.isFinite(e)?!function(a){try{return new Intl.DateTimeFormat(void 0,{timeZone:a}),!0}catch{return!1}}(b)?{ok:!1,error:"invalid dueTz"}:{ok:!0,dueAt:new Date(e).toISOString(),dueTz:b}:{ok:!1,error:"invalid dueAt"}}function t(){return{ok:!1,error:"Task text must be no longer than 6000 characters",status:400}}function u(a){if(null==a)return{ok:!0};if("string"!=typeof a)return{ok:!1,error:"details must be a string",status:400,code:"TASK_INVALID_FIELD",field:"details"};let b=a.trim();return b?b.length>2e4?{ok:!1,error:"Task details must be no longer than 20000 characters",status:400,code:"TASK_INVALID_FIELD",field:"details"}:{ok:!0,details:b}:{ok:!0}}function v(a,b,c=[],d={}){var g,j;let k="string"!=typeof(j=b.project)?null:j.trim()||null;if(!k)return{ok:!1,error:"project is required",status:400};let l=n(b.text);if(!l)return{ok:!1,error:"task text is required",status:400};if(l.length>6e3)return t();let w=u(b.details);if(!w.ok)return w;let x="string"==typeof b.clientRequestId&&b.clientRequestId.trim()?b.clientRequestId.trim():null;if(x){let b=c.find(a=>a.clientRequestId===x);if(b){let d=a.find(a=>a.id===b.taskId);if(d)return{ok:!0,tasks:a,task:d,recentCreates:c,replay:!0}}}let y=p(b.pos);if(Object.hasOwn(b,"pos")&&!y)return o(b.pos);let z=r(b.placement)??(y?"pinned":null);if(void 0!==b.placement&&null===z)return{ok:!1,error:"invalid placement",status:400};if("pinned"===z&&!y)return{ok:!1,error:"task position is required",status:400,code:"TASK_INVALID_FIELD",field:"pos"};if("unplaced"===z&&y)return{ok:!1,error:"unplaced task must not carry a position",status:400,code:"TASK_INVALID_FIELD",field:"pos"};if(null===z)return{ok:!1,error:"task position is required",status:400,code:"TASK_INVALID_FIELD",field:"pos"};let A=s(b.dueAt,b.dueTz);if(!A.ok)return{ok:!1,error:A.error,status:400};let B=function(a,b){if(null==a)return{ok:!0};if(!Array.isArray(a))return{ok:!1,error:"invalid attachments",status:400};if(0===a.length)return{ok:!0};let c=[];for(let d of a){if(!(0,f.tK)(d))return{ok:!1,error:"invalid attachment ref",status:400};if(!b(d))return{ok:!1,error:"attachment not found in store",status:400};c.push(d)}return{ok:!0,attachments:c}}(b.attachments,d.attachmentExists??(()=>!0));if(!B.ok)return B;let C=void 0===(g=b.source)?void 0:!g||"object"!=typeof g||Array.isArray(g)?null:"string"==typeof g.path&&g.path.trim()&&(null===g.ts||"string"==typeof g.ts)&&"string"==typeof g.text&&g.text.trim()&&"string"==typeof g.fingerprint&&g.fingerprint.trim()&&("claude"===g.engine||"codex"===g.engine)?{path:g.path,ts:g.ts,text:g.text,fingerprint:g.fingerprint,engine:g.engine}:null;if(null===C)return{ok:!1,error:"invalid task source",status:400};let D=Object.hasOwn(b,"board")?q(b.board):void 0;if(null===D)return{ok:!1,error:"invalid board visibility",status:400,code:"TASK_INVALID_FIELD",field:"board"};if("hidden"!==D&&(0,i.Qi)(a,k,d.hasBoardMembers??(()=>!1))>=300)return m("project");let E=d.now?.()??(0,h.Ec)(),F=d.id?.()??e().randomUUID(),G={id:F,project:k,status:"inbox",text:l,...w.details?{details:w.details}:{},placement:z,..."pinned"===z&&y?{pos:y}:{},...A.dueAt?{dueAt:A.dueAt,dueTz:A.dueTz}:{},...B.attachments?{attachments:B.attachments}:{},...C?{source:C}:{},...D?{board:D}:{},assignments:[],createdAt:E,updatedAt:E};return{ok:!0,tasks:[...a,G],task:G,recentCreates:x?[...c,{clientRequestId:x,taskId:F}].slice(-100):c,replay:!1}}function w(a,b,c,d=(0,h.Ec)(),e={}){var f,k;let v=a.findIndex(a=>a.id===b);if(v<0)return{ok:!1,error:"task not found",status:404};let x=a[v];if(e.requirePlacementGuards&&(Object.hasOwn(c,"pos")||Object.hasOwn(c,"placement"))||Object.hasOwn(c,"hide")||Object.hasOwn(c,"expectedProject")||Object.hasOwn(c,"expectedRevision")){for(let a of["expectedProject","expectedRevision"])if("string"!=typeof c[a]||!c[a].trim())return{ok:!1,status:400,code:"TASK_INVALID_FIELD",field:a,error:`${a} must be a non-empty string copied from the current task`};if(c.expectedProject!==x.project)return{ok:!1,status:409,code:"TASK_PROJECT_MISMATCH",field:"expectedProject",error:"expectedProject does not match the current task project; read the task and reconsider the request"};if(c.expectedRevision!==(0,g.d4)(x))return{ok:!1,status:409,code:"TASK_REVISION_MISMATCH",field:"expectedRevision",error:"expectedRevision is stale; read the task and reconsider the request"}}let y={};if(Object.hasOwn(c,"text")){let b=n(c.text);if(!b)return{ok:!1,error:"task text is required",status:400};if(b.length>6e3)return t();y.text=b,a[v].origin?.refinement==="pending"&&b!==a[v].text&&(y.origin={...a[v].origin,refinement:"titled"})}if(Object.hasOwn(c,"details")){let a=u(c.details);if(!a.ok)return a;y.details=a.details}if(Object.hasOwn(c,"status")){let a="inbox"===(f=c.status)||"assigned"===f||"blocked"===f||"done"===f?f:null;if(!a)return{ok:!1,error:"invalid task status",status:400};y.status=a}if(Object.hasOwn(c,"pos")){let a=p(c.pos);if(!a)return o(c.pos);y.pos=a,y.placement="pinned"}if(Object.hasOwn(c,"board")){let b=q(c.board);if(!b)return{ok:!1,error:"invalid board visibility",status:400,code:"TASK_INVALID_FIELD",field:"board"};let d=e.hasBoardMembers??(()=>!1);if("shown"===b&&!(0,i.d4)(x,d(x))&&(0,i.Qi)(a,x.project,d)>=300)return m("board");y.board=b}if(Object.hasOwn(c,"color")){let a="none"===(k=c.color)||"string"==typeof k&&l.includes(k)?k:null;if(!a)return{ok:!1,error:`color must be one of none, ${l.join(", ")}`,status:400,code:"TASK_INVALID_FIELD",field:"color"};y.color="none"===a?void 0:a}if(Object.hasOwn(c,"hide")){if(!0!==c.hide&&!1!==c.hide)return{ok:!1,error:"hide must be true or false",status:400,code:"TASK_INVALID_FIELD",field:"hide"};if(c.hide){let a=e.seatHolding?e.seatHolding(x):"unknown";if("holds"===a)return{ok:!1,status:409,code:"TASK_HIDE_PROTECTED",field:"hide",error:"this task holds the project's orchestrator seat conversation, which stays on the board; it cannot be hidden"};if("unknown"===a)return{ok:!1,status:503,code:"TASK_HIDE_UNVERIFIED",field:"hide",error:"the orchestrator seat record could not be read, so the hide was not applied; try again"};y.groupHidden={at:d,by:e.actor??"operator",admitted:(0,j.QE)(x.assignments)}}else y.groupHidden=void 0}if(Object.hasOwn(c,"placement")){let a=r(c.placement);if(!a)return{ok:!1,error:"invalid placement",status:400};if("pinned"===a&&!y.pos&&!x.pos)return{ok:!1,error:"task position is required",status:400,code:"TASK_INVALID_FIELD",field:"pos"};y.placement=a}if(Object.hasOwn(c,"dueAt")||Object.hasOwn(c,"dueTz"))if(null===c.dueAt&&void 0===c.dueTz)y.dueAt=void 0,y.dueTz=void 0;else{let a=s(c.dueAt,c.dueTz);if(!a.ok)return{ok:!1,error:a.error,status:400};y.dueAt=a.dueAt,y.dueTz=a.dueTz}let z=Object.keys(c).every(a=>"color"===a||"hide"===a||"expectedProject"===a||"expectedRevision"===a)&&(Object.hasOwn(c,"color")||Object.hasOwn(c,"hide")),A={...x,...y,updatedAt:z?x.updatedAt:d};Object.hasOwn(y,"dueAt")&&void 0===y.dueAt&&(delete A.dueAt,delete A.dueTz),"unplaced"===A.placement&&delete A.pos,Object.hasOwn(y,"details")&&void 0===y.details&&delete A.details,Object.hasOwn(y,"color")&&void 0===y.color&&delete A.color,Object.hasOwn(y,"groupHidden")&&void 0===y.groupHidden&&delete A.groupHidden;let B=a.slice();return B[v]=A,{ok:!0,tasks:B,task:A}}function x(a,b,c,d,e){let f=a,g=[];for(let a of c){if("failed"===a.state)continue;let c=(0,k.On)(a),h=(0,k.Z1)(a);if(!c||!h||(0,k.v1)(f,c))continue;let i=(0,k.IE)(f,{project:b,origin:h,identity:c},e);if(!i.ok)return i;if(d&&i.taskIds.includes(d))return{ok:!1,error:"this task is the conversation's own membership; link the conversation to another task first or delete the task",status:409};f=i.tasks,g.push(...i.created)}return{ok:!0,tasks:f,replacements:g}}function y(a,b,c={}){let d=a.find(a=>a.id===b);return d?x(a.filter(a=>a.id!==b),d.project,d.assignments,null,c):{ok:!1,error:"task not found",status:404}}function z(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={};return"string"==typeof a.launchId&&a.launchId.trim()&&(b.launchId=a.launchId.trim()),"string"==typeof a.path&&a.path.trim()&&(b.path=a.path.trim()),"string"==typeof a.conversationId&&a.conversationId.trim()&&(b.conversationId=a.conversationId.trim()),"number"==typeof a.panePid&&Number.isInteger(a.panePid)&&a.panePid>0&&(b.panePid=a.panePid),null!=b.launchId||null!=b.conversationId||null!=b.path||null!=b.panePid?b:null}function A(a,b){return null!=b.launchId?a.launchId===b.launchId:null!=b.conversationId?a.conversationId===b.conversationId:null!=b.path?a.path===b.path:null!=b.panePid&&a.panePid===b.panePid}function B(a,b,c,d=(0,h.Ec)(),e={}){let f=a.findIndex(a=>a.id===b);if(f<0)return{ok:!1,error:"task not found",status:404};let g="string"==typeof c?{path:c}:c,i=a[f],j=i.assignments.filter(a=>!A(a,g));if(j.length===i.assignments.length)return{ok:!0,tasks:a,task:i};let k=i.assignments.filter(a=>A(a,g)),l={...i,assignments:j,updatedAt:d},m=a.slice();m[f]=l;let n=x(m,i.project,k,b,{now:()=>d,...e});return n.ok?{ok:!0,tasks:n.tasks,task:l}:n}function C(a,b){return a.find(a=>a.engine===b&&"string"==typeof a.accountId)?.accountId??null}function D(a,b,c,d=(0,h.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"task not found",status:404};let f=a[e],g=function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>a.launchId&&b.launchId?b.launchId===a.launchId:null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d=b>=0?c[b]:void 0,e=void 0!==a.launchId?a.launchId:d?.launchId,f=void 0!==a.clientAttemptId?a.clientAttemptId:d?.clientAttemptId,g=void 0!==a.conversationId?a.conversationId:d?.conversationId,h={...void 0!==e?{launchId:e}:{},...void 0!==f?{clientAttemptId:f}:{},path:a.path,...void 0!==g?{conversationId:g}:{},panePid:a.panePid,state:a.state,error:a.error,at:a.at,...void 0!==a.accountId?{accountId:a.accountId}:{},...void 0!==a.engine?{engine:a.engine}:{}};c=b>=0?[...c.slice(0,b),h,...c.slice(b+1)]:[...c,h]}return c}(f.assignments,c),i=g.some(a=>"delivered"===a.state||"spawning"===a.state||"handoff"===a.state||"linked"===a.state),j=f.status;("inbox"===j||"assigned"===j)&&(j=i?"assigned":"inbox");let k={...f,status:j,assignments:g,updatedAt:d},l=a.slice();return l[e]=k,{ok:!0,tasks:l,task:k}}},36883:(a,b,c)=>{function d(a){let b=new Set;for(let c of a)if("failed"!==c.state){for(let a of[c.clientAttemptId,c.launchId,c.conversationId,c.path].filter(a=>"string"==typeof a&&a.length>0))b.add(a)}return[...b].sort()}function e(a,b){return b.conversationIds.length||b.paths.length?a.find(a=>a.conversationId&&b.conversationIds.includes(a.conversationId)||a.path&&b.paths.includes(a.path))??null:null}c.d(b,{QE:()=>d,VE:()=>e})},58396:(a,b,c)=>{c.d(b,{HR:()=>d,Qi:()=>f,d4:()=>e});let d="emptyTaskBandsHidden";function e(a,b){return"hidden"!==a.board||b}function f(a,b,c){let d=0;for(let f of a)f.project===b&&e(f,c(f))&&(d+=1);return d}}};