agent-log-viewer 1.2.1 → 1.2.2

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 (582) hide show
  1. package/dist/mcp-server.mjs +2225 -1385
  2. package/dist/runtime-host.mjs +1690 -972
  3. package/dist/standalone/.next/BUILD_ID +1 -1
  4. package/dist/standalone/.next/app-path-routes-manifest.json +26 -24
  5. package/dist/standalone/.next/build-manifest.json +2 -2
  6. package/dist/standalone/.next/prerender-manifest.json +4 -4
  7. package/dist/standalone/.next/required-server-files.json +1 -0
  8. package/dist/standalone/.next/routes-manifest.json +12 -0
  9. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
  10. package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
  11. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  14. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  15. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
  19. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  22. package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
  23. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  24. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  27. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  28. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
  29. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
  30. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
  31. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
  32. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
  33. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
  34. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
  35. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
  36. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
  37. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
  38. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
  39. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
  40. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
  41. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
  42. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
  43. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
  44. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
  45. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
  46. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
  47. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
  48. package/dist/standalone/.next/server/app/api/accounts/cli/route.js +1 -0
  49. package/dist/standalone/.next/server/app/api/accounts/cli/route.js.nft.json +1 -0
  50. package/dist/standalone/.next/server/app/api/accounts/cli/route_client-reference-manifest.js +1 -0
  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 -1
  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 -1
  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 +6 -3
  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 +14 -12
  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 -2
  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 +1 -1
  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 +6 -5
  124. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -1
  125. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -2
  126. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -1
  127. package/dist/standalone/.next/server/app/api/onboarding/route.js +1 -0
  128. package/dist/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -0
  129. package/dist/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -0
  130. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
  131. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
  132. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
  133. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
  134. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -1
  135. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
  136. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
  137. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
  138. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
  139. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
  140. package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -1
  141. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
  142. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +1 -2
  143. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
  144. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  145. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  146. package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
  147. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
  148. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
  149. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
  150. package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
  151. package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
  152. package/dist/standalone/.next/server/app/api/push/route.js +2 -2
  153. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  154. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  155. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  156. package/dist/standalone/.next/server/app/api/roles/route.js +3 -3
  157. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
  158. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
  159. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
  160. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
  161. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
  162. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
  163. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
  164. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
  165. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
  166. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
  167. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
  168. package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -1
  169. package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -1
  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 -1
  177. package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -1
  178. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -1
  179. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
  180. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
  181. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
  182. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
  183. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
  184. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
  185. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
  186. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
  187. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
  188. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
  189. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
  190. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +1 -1
  191. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
  192. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  193. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  194. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
  195. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
  196. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
  197. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
  198. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +2 -2
  199. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
  200. package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
  201. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  202. package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -1
  203. package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -1
  204. package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
  205. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
  206. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
  207. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
  208. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
  209. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  210. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  211. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  212. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
  213. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  214. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
  215. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  216. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  217. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  218. package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
  219. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  220. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
  221. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
  222. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
  223. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
  224. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  225. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  226. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  227. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  228. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  229. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  230. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  231. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  232. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  233. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  234. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  235. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  236. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
  237. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
  238. package/dist/standalone/.next/server/app/api/tts/route.js +2 -2
  239. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
  240. package/dist/standalone/.next/server/app/api/view/presence/route.js +2 -1
  241. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
  242. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  243. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  244. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  245. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  246. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  247. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/index.html +1 -1
  249. package/dist/standalone/.next/server/app/index.rsc +3 -3
  250. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  251. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  252. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  253. package/dist/standalone/.next/server/app/page.js +20 -20
  254. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  255. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  256. package/dist/standalone/.next/server/app-paths-manifest.json +26 -24
  257. package/dist/standalone/.next/server/chunks/107.js +1 -1
  258. package/dist/standalone/.next/server/chunks/1106.js +5 -0
  259. package/dist/standalone/.next/server/chunks/112.js +1 -0
  260. package/dist/standalone/.next/server/chunks/1406.js +35 -168
  261. package/dist/standalone/.next/server/chunks/1585.js +3 -3
  262. package/dist/standalone/.next/server/chunks/160.js +18 -18
  263. package/dist/standalone/.next/server/chunks/1617.js +1 -1
  264. package/dist/standalone/.next/server/chunks/1849.js +1 -1
  265. package/dist/standalone/.next/server/chunks/1952.js +1 -1
  266. package/dist/standalone/.next/server/chunks/2499.js +1 -0
  267. package/dist/standalone/.next/server/chunks/2555.js +1 -1
  268. package/dist/standalone/.next/server/chunks/2589.js +127 -0
  269. package/dist/standalone/.next/server/chunks/261.js +1 -0
  270. package/dist/standalone/.next/server/chunks/2744.js +1 -1
  271. package/dist/standalone/.next/server/chunks/286.js +2 -2
  272. package/dist/standalone/.next/server/chunks/2914.js +20 -21
  273. package/dist/standalone/.next/server/chunks/2916.js +1 -0
  274. package/dist/standalone/.next/server/chunks/3086.js +1 -1
  275. package/dist/standalone/.next/server/chunks/3407.js +1 -1
  276. package/dist/standalone/.next/server/chunks/3509.js +1 -0
  277. package/dist/standalone/.next/server/chunks/3570.js +1 -1
  278. package/dist/standalone/.next/server/chunks/3696.js +5 -0
  279. package/dist/standalone/.next/server/chunks/3743.js +9 -9
  280. package/dist/standalone/.next/server/chunks/3784.js +5 -0
  281. package/dist/standalone/.next/server/chunks/3830.js +1 -1
  282. package/dist/standalone/.next/server/chunks/3957.js +1 -0
  283. package/dist/standalone/.next/server/chunks/4037.js +1 -1
  284. package/dist/standalone/.next/server/chunks/4651.js +1 -1
  285. package/dist/standalone/.next/server/chunks/4972.js +38 -16
  286. package/dist/standalone/.next/server/chunks/53.js +1 -0
  287. package/dist/standalone/.next/server/chunks/5408.js +1 -1
  288. package/dist/standalone/.next/server/chunks/5465.js +156 -0
  289. package/dist/standalone/.next/server/chunks/5545.js +1 -1
  290. package/dist/standalone/.next/server/chunks/568.js +1 -1
  291. package/dist/standalone/.next/server/chunks/6023.js +1 -1
  292. package/dist/standalone/.next/server/chunks/6211.js +1 -0
  293. package/dist/standalone/.next/server/chunks/6289.js +1 -2
  294. package/dist/standalone/.next/server/chunks/6418.js +1 -0
  295. package/dist/standalone/.next/server/chunks/6453.js +1 -1
  296. package/dist/standalone/.next/server/chunks/6522.js +1 -1
  297. package/dist/standalone/.next/server/chunks/6796.js +1 -1
  298. package/dist/standalone/.next/server/chunks/6826.js +3 -3
  299. package/dist/standalone/.next/server/chunks/6942.js +3 -3
  300. package/dist/standalone/.next/server/chunks/6978.js +1 -1
  301. package/dist/standalone/.next/server/chunks/7008.js +21 -19
  302. package/dist/standalone/.next/server/chunks/7192.js +1 -1
  303. package/dist/standalone/.next/server/chunks/7238.js +2 -2
  304. package/dist/standalone/.next/server/chunks/7294.js +1 -0
  305. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  306. package/dist/standalone/.next/server/chunks/781.js +17 -17
  307. package/dist/standalone/.next/server/chunks/8027.js +1 -1
  308. package/dist/standalone/.next/server/chunks/8330.js +1 -0
  309. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  310. package/dist/standalone/.next/server/chunks/8512.js +1 -1
  311. package/dist/standalone/.next/server/chunks/8513.js +2 -2
  312. package/dist/standalone/.next/server/chunks/8617.js +1 -1
  313. package/dist/standalone/.next/server/chunks/8817.js +2 -2
  314. package/dist/standalone/.next/server/chunks/8966.js +1 -1
  315. package/dist/standalone/.next/server/chunks/8985.js +1 -1
  316. package/dist/standalone/.next/server/chunks/8996.js +1 -1
  317. package/dist/standalone/.next/server/chunks/9006.js +1 -0
  318. package/dist/standalone/.next/server/chunks/9060.js +4 -0
  319. package/dist/standalone/.next/server/chunks/9296.js +20 -21
  320. package/dist/standalone/.next/server/chunks/9298.js +1 -2
  321. package/dist/standalone/.next/server/chunks/9307.js +1 -1
  322. package/dist/standalone/.next/server/chunks/9360.js +12 -12
  323. package/dist/standalone/.next/server/chunks/9517.js +1 -1
  324. package/dist/standalone/.next/server/chunks/9611.js +1 -0
  325. package/dist/standalone/.next/server/chunks/9822.js +1 -1
  326. package/dist/standalone/.next/server/chunks/9839.js +5 -0
  327. package/dist/standalone/.next/server/chunks/9867.js +1 -0
  328. package/dist/standalone/.next/server/chunks/9940.js +37 -15
  329. package/dist/standalone/.next/server/chunks/9998.js +1 -1
  330. package/dist/standalone/.next/server/file-scanner-worker.js +1 -1
  331. package/dist/standalone/.next/server/files-response-worker.js +2 -2
  332. package/dist/standalone/.next/server/functions-config-manifest.json +2 -0
  333. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  334. package/dist/standalone/.next/server/middleware.js +3 -3
  335. package/dist/standalone/.next/server/pages/404.html +1 -1
  336. package/dist/standalone/.next/server/pages/500.html +1 -1
  337. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  338. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  339. package/dist/standalone/.next/server/state-backup-worker.js +3 -0
  340. package/dist/standalone/.next/server/wakatime-sync-worker.js +1 -1
  341. package/dist/standalone/.next/static/chunks/9591-0fd6a5a4172de16d.js +1 -0
  342. package/dist/standalone/.next/static/chunks/app/_global-error/page-151390fbd8c93c25.js +1 -0
  343. package/dist/standalone/.next/static/chunks/app/api/access/route-151390fbd8c93c25.js +1 -0
  344. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-151390fbd8c93c25.js +1 -0
  345. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-151390fbd8c93c25.js +1 -0
  346. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-151390fbd8c93c25.js +1 -0
  347. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-151390fbd8c93c25.js +1 -0
  348. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-151390fbd8c93c25.js +1 -0
  349. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-151390fbd8c93c25.js +1 -0
  350. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-151390fbd8c93c25.js +1 -0
  351. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-151390fbd8c93c25.js +1 -0
  352. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-151390fbd8c93c25.js +1 -0
  353. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-151390fbd8c93c25.js +1 -0
  354. package/dist/standalone/.next/static/chunks/app/api/accounts/cli/route-151390fbd8c93c25.js +1 -0
  355. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-151390fbd8c93c25.js +1 -0
  356. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-151390fbd8c93c25.js +1 -0
  357. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-151390fbd8c93c25.js +1 -0
  358. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-151390fbd8c93c25.js +1 -0
  359. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-151390fbd8c93c25.js +1 -0
  360. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-151390fbd8c93c25.js +1 -0
  361. package/dist/standalone/.next/static/chunks/app/api/accounts/route-151390fbd8c93c25.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/api/agent/route-151390fbd8c93c25.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-151390fbd8c93c25.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/answer/route-151390fbd8c93c25.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/artifact/route-151390fbd8c93c25.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-151390fbd8c93c25.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-151390fbd8c93c25.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/attention/route-151390fbd8c93c25.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/board/route-151390fbd8c93c25.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/bridge/route-151390fbd8c93c25.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-151390fbd8c93c25.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-151390fbd8c93c25.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-151390fbd8c93c25.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/conversations/route-151390fbd8c93c25.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/files/route-151390fbd8c93c25.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-151390fbd8c93c25.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/flows/route-151390fbd8c93c25.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/image/route-151390fbd8c93c25.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/inbox/route-151390fbd8c93c25.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-151390fbd8c93c25.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-151390fbd8c93c25.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/limits/route-151390fbd8c93c25.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-151390fbd8c93c25.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-151390fbd8c93c25.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-151390fbd8c93c25.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/log/route-151390fbd8c93c25.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-151390fbd8c93c25.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/logs/route-151390fbd8c93c25.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-151390fbd8c93c25.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-151390fbd8c93c25.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-151390fbd8c93c25.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-151390fbd8c93c25.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/onboarding/route-151390fbd8c93c25.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-151390fbd8c93c25.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-151390fbd8c93c25.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-151390fbd8c93c25.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-151390fbd8c93c25.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-151390fbd8c93c25.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-151390fbd8c93c25.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-151390fbd8c93c25.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/proc/route-151390fbd8c93c25.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-151390fbd8c93c25.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-151390fbd8c93c25.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-151390fbd8c93c25.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/push/route-151390fbd8c93c25.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/resources/route-151390fbd8c93c25.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/roles/route-151390fbd8c93c25.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-151390fbd8c93c25.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-151390fbd8c93c25.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-151390fbd8c93c25.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-151390fbd8c93c25.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-151390fbd8c93c25.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-151390fbd8c93c25.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-151390fbd8c93c25.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-151390fbd8c93c25.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-151390fbd8c93c25.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-151390fbd8c93c25.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-151390fbd8c93c25.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-151390fbd8c93c25.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-151390fbd8c93c25.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-151390fbd8c93c25.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-151390fbd8c93c25.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-151390fbd8c93c25.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-151390fbd8c93c25.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/session/route-151390fbd8c93c25.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-151390fbd8c93c25.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/session/title/route-151390fbd8c93c25.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-151390fbd8c93c25.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/spawn/route-151390fbd8c93c25.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-151390fbd8c93c25.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/staging/route-151390fbd8c93c25.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-151390fbd8c93c25.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-151390fbd8c93c25.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-151390fbd8c93c25.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-151390fbd8c93c25.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-151390fbd8c93c25.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-151390fbd8c93c25.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/tasks/route-151390fbd8c93c25.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-151390fbd8c93c25.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/telegram/route-151390fbd8c93c25.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/timeline/route-151390fbd8c93c25.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/tmux/route-151390fbd8c93c25.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-151390fbd8c93c25.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-151390fbd8c93c25.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-151390fbd8c93c25.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-151390fbd8c93c25.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-151390fbd8c93c25.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/tts/route-151390fbd8c93c25.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-151390fbd8c93c25.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-151390fbd8c93c25.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/workflows/route-151390fbd8c93c25.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/page-a2e19d755e17b569.js +125 -0
  453. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-151390fbd8c93c25.js +1 -0
  454. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-151390fbd8c93c25.js +1 -0
  455. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-151390fbd8c93c25.js +1 -0
  456. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-151390fbd8c93c25.js +1 -0
  457. package/dist/standalone/.next/static/css/9b32c3f7f468cbcc.css +1 -0
  458. package/dist/standalone/.next/static/fQ2a5S10vvpyAqE0L_wUj/_buildManifest.js +1 -0
  459. package/dist/standalone/package.json +1 -1
  460. package/dist/standalone/server.bun.js +1 -1
  461. package/dist/standalone/src/lib/viewerInstrumentation.ts +44 -1
  462. package/package.json +1 -1
  463. package/dist/standalone/.next/server/chunks/1888.js +0 -1
  464. package/dist/standalone/.next/server/chunks/4127.js +0 -1
  465. package/dist/standalone/.next/server/chunks/606.js +0 -126
  466. package/dist/standalone/.next/static/836HTp-5V8cZC5YWFVOCk/_buildManifest.js +0 -1
  467. package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +0 -1
  468. package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +0 -1
  469. package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +0 -1
  470. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +0 -1
  471. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +0 -1
  472. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +0 -1
  473. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +0 -1
  474. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +0 -1
  475. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +0 -1
  476. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +0 -1
  477. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +0 -1
  478. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +0 -1
  479. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +0 -1
  480. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +0 -1
  481. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +0 -1
  482. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +0 -1
  483. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +0 -1
  484. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +0 -1
  485. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +0 -1
  486. package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +0 -1
  487. package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +0 -1
  488. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +0 -1
  489. package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +0 -1
  490. package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +0 -1
  491. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +0 -1
  492. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +0 -1
  493. package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +0 -1
  494. package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +0 -1
  495. package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +0 -1
  496. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +0 -1
  497. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +0 -1
  498. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +0 -1
  499. package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +0 -1
  500. package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +0 -1
  501. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +0 -1
  502. package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +0 -1
  503. package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +0 -1
  504. package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +0 -1
  505. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +0 -1
  506. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +0 -1
  507. package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +0 -1
  508. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +0 -1
  509. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +0 -1
  510. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +0 -1
  511. package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +0 -1
  512. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +0 -1
  513. package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +0 -1
  514. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +0 -1
  515. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +0 -1
  516. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +0 -1
  517. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +0 -1
  518. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +0 -1
  519. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +0 -1
  520. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +0 -1
  521. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +0 -1
  522. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +0 -1
  523. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +0 -1
  524. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +0 -1
  525. package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +0 -1
  526. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +0 -1
  527. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +0 -1
  528. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +0 -1
  529. package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +0 -125
  577. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +0 -1
  578. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +0 -1
  579. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +0 -1
  580. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +0 -1
  581. package/dist/standalone/.next/static/css/b25c03e915fd256b.css +0 -1
  582. /package/dist/standalone/.next/static/{836HTp-5V8cZC5YWFVOCk → fQ2a5S10vvpyAqE0L_wUj}/_ssgManifest.js +0 -0
@@ -0,0 +1,127 @@
1
+ "use strict";exports.id=2589,exports.ids=[2589,6277],exports.modules={26277:(a,b,c)=>{c.d(b,{Gs:()=>C,Kn:()=>w,gY:()=>x,h3:()=>q,jd:()=>v,kt:()=>E,ue:()=>D,vx:()=>y,w5:()=>z});var d=c(31421);c(77598);var e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(27146),l=c(89204),m=c(55541),n=c(19777);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let o="127.0.0.1";function p(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function q(){return`http://${o}:${p()}/mcp`}function r(a,...b){if(a)return a;let c=j().join(process.cwd(),...b);if(f().existsSync(c))return c;let d=j().join(process.cwd(),"..","..",...b);return f().existsSync(d)?d:c}function s(){return r(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function t(){return(0,k.BQ)("telegram","venv")}function u(){return(0,k.BQ)("telegram","vendor-src")}function v(){return process.env.LLV_TELEGRAM_PYTHON||j().join(t(),"bin","python")}function w(){return r(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function x(){return r(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let y=Object.freeze(["wait_for_settled_message"]);function z(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(f().readFileSync((0,k.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}function A(){return f().existsSync(j().join(t(),".llv-provisioned"))&&f().existsSync(v())&&f().existsSync(j().join(u(),"pyproject.toml"))}let B=null;function C(){return A()?Promise.resolve(!0):B||(B=(async()=>((0,n._q)(!0),await (0,l.pM)((0,k.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!A()||await (a={command:process.execPath,args:[r(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:s(),env:{...F(),LLV_STATE_DIR:(0,k.Pn)(),LLV_TELEGRAM_VENDOR_DIR:s(),LLV_TELEGRAM_PYTHON:v()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&A()})))().catch(()=>!1).finally(()=>{B=null}))}function D(a){let b=u(),c=(0,m.WG)();return{command:v(),args:[w()],cwd:b,env:{...F(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,n.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:y.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:o,MCP_PORT:String(p())}}}function E(a,b){return{command:v(),args:[r(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:h().homedir(),env:{...F(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function F(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}},55541:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(19777);let l=262144,m=String.raw`import fcntl
2
+ import io
3
+ import os
4
+ import stat
5
+ import sys
6
+ import threading
7
+
8
+ try:
9
+ _path = os.environ["LLV_TELEGRAM_CONNECTOR_LOG"]
10
+ _limit = int(os.environ["LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES"])
11
+ if _limit <= 0:
12
+ raise ValueError("invalid log limit")
13
+ _flags = os.O_RDWR | os.O_CREAT | os.O_APPEND
14
+ if hasattr(os, "O_NOFOLLOW"):
15
+ _flags |= os.O_NOFOLLOW
16
+ _fd = os.open(_path, _flags, 0o600)
17
+ _info = os.fstat(_fd)
18
+ if not stat.S_ISREG(_info.st_mode) or (_info.st_mode & 0o077):
19
+ raise PermissionError("unsafe connector log")
20
+ if hasattr(os, "getuid") and _info.st_uid != os.getuid():
21
+ raise PermissionError("connector log owner mismatch")
22
+ except Exception as _error:
23
+ raise SystemExit("connector log sink unavailable") from _error
24
+
25
+
26
+ def _write_all(data):
27
+ view = memoryview(data)
28
+ while view:
29
+ written = os.write(_fd, view)
30
+ view = view[written:]
31
+
32
+
33
+ class _BoundedConnectorLog(io.TextIOBase):
34
+ encoding = "utf-8"
35
+ errors = "backslashreplace"
36
+
37
+ def __init__(self):
38
+ self._lock = threading.Lock()
39
+
40
+ def writable(self):
41
+ return True
42
+
43
+ def isatty(self):
44
+ return False
45
+
46
+ def fileno(self):
47
+ return _fd
48
+
49
+ def flush(self):
50
+ return None
51
+
52
+ def write(self, value):
53
+ if not isinstance(value, str):
54
+ value = str(value)
55
+ data = value.encode(self.encoding, self.errors)
56
+ if not data:
57
+ return len(value)
58
+ with self._lock:
59
+ fcntl.flock(_fd, fcntl.LOCK_EX)
60
+ try:
61
+ size = os.fstat(_fd).st_size
62
+ if len(data) >= _limit:
63
+ tail = data[-_limit:]
64
+ os.ftruncate(_fd, 0)
65
+ _write_all(tail)
66
+ elif size + len(data) > _limit:
67
+ keep = _limit - len(data)
68
+ prior = os.pread(_fd, keep, max(0, size - keep))
69
+ os.ftruncate(_fd, 0)
70
+ _write_all(prior[-keep:] + data)
71
+ else:
72
+ _write_all(data)
73
+ finally:
74
+ fcntl.flock(_fd, fcntl.LOCK_UN)
75
+ return len(value)
76
+
77
+
78
+ _sink = _BoundedConnectorLog()
79
+ sys.stdout = _sink
80
+ sys.stderr = _sink
81
+ `;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}},74409:(a,b,c)=>{c.r(b),c.d(b,{SEAT_TICK_WAKE_UNRESOLVED_REF:()=>b6,reconcileSeatTick:()=>cs,runSeatTickCheck:()=>cm,seatTickAttemptExits:()=>ci,seatTickWakeUnresolvedRef:()=>b7,startSeatTick:()=>cu,stopSeatTick:()=>cv,wakeReached:()=>b9});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(14928),i=c(67263),j=c(43318);let k="monitor-ref:",l="orchestrator-unresolved";function m(a){let b=a.match(/^monitor-ref:\s*([A-Za-z0-9_-]{4,64})\s*$/m);return b?b[1]:null}let n=a=>`seat-tick-stuck-${a}`,o="seat-tick-settings",p=a=>`seat-tick-source-${a}`,q=["lane-event","unmerged-pr","stalled","unstarted-task","interval","child-terminal","own-lane-settled"],r=["registry-unreadable","children-unindexed","migration-blocked","migration-pending","discovery-incomplete","ledger-gap","child-departed","child-unplaced","ledger-pending"];function s(){return{seatEpoch:null,lastCheckAt:null,lastWakeAt:null,lastWakeReasons:[],wakesWithoutChange:{},quietSince:null,idleSince:null,lastProposalAt:null,stalledSeen:[],lastWakeFingerprint:null,eventsThrough:null,outstandingWake:null,retiredWakes:[],releasedWake:null,pullRequestGap:null,childrenGap:null,harvestedChildren:[],childrenShown:[],announcedLanes:[]}}let t=3e5,u=24e5,v=864e5,w=5,x=2,y=2592e5;function z(a,b,c){let d=Number(a?.trim());return Number.isFinite(d)&&d>0?d*c:b}function A(a=process.env){let b=a.LLV_SEAT_TICK_CHECK_MINUTES?.trim();return b&&0===Number(b)?null:{checkIntervalMs:z(b,t,6e4),stallAfterMs:z(a.LLV_SEAT_TICK_STALL_MINUTES,u,6e4),proposalIntervalMs:z(a.LLV_SEAT_TICK_PROPOSAL_HOURS,v,36e5),itemsPerWake:Math.floor(z(a.LLV_SEAT_TICK_ITEMS,w,1)),retryGuard:Math.floor(z(a.LLV_SEAT_TICK_RETRY_GUARD,x,1)),backlogAfterMs:z(a.LLV_SEAT_TICK_BACKLOG_DAYS,y,864e5)}}function B(a){return"terminal"!==a.state}function C(a){return"running"===a.status}function D(a){return"terminal"===a.status}function E(a){return`child:${a.conversationId}`}function F(a){return(0,i.jk)(a.type)&&!a.pipelineTerminal}function G(a){if("busy"!==a.turn)return!1;let b=a.activity;return!!b&&("waiting"===b.lifecycle?"busy"===b.turnState:"running"===b.lifecycle||"starting"===b.lifecycle)}function H(a){return null!==a&&("stalled"===a.lifecycle||"gone"===a.lifecycle)}function I(a){return"unresolvable"!==a.transcript}function J(a){let b=a.terminalAt?Date.parse(a.terminalAt):NaN;if(Number.isFinite(b))return b;let c=a.lastRecordAt?Date.parse(a.lastRecordAt):NaN;return Number.isFinite(c)?c:a.spawnedAt?Date.parse(a.spawnedAt):NaN}function K(a,b){let c=null===b?String(J(a)):b.slice(-32);return`${a.conversationId}@${c}`}let L=["unreadable","stale","unchanged"],M=new Set;function N(a,b){let c=0;for(let d of a.values())d===b&&(c+=1);return c}function O(a,b,c,d){let e=P(a,b);return e||(d.has(K(a,c))?"unchanged":null)}function P(a,b){let c,d;return(c=J(a),d=b.designatedAt?Date.parse(b.designatedAt):NaN,Number.isFinite(c)&&Number.isFinite(d)&&(c<d-864e5||"number"==typeof a.harvestedEpoch&&a.harvestedEpoch<b.seatEpoch&&c<d))?"stale":(I(a)||"terminal"===a.status)&&Number.isFinite(J(a))?null:"unreadable"}function Q(a,b){return b?null===P(a,b):I(a)||"terminal"===a.status}function R(a){return a.ownLanes.filter(b=>{let c=b.updatedAt?Date.parse(b.updatedAt):NaN;return Number.isFinite(c)&&a.now-c<a.policy.backlogAfterMs})}function S(a,b,c){if(!a)return!0;let d=Date.parse(a);return!Number.isFinite(d)||b-d>=c}function T(a,b,c){if(!a)return!1;let d=Date.parse(a.since);return Number.isFinite(d)&&b-d>=c}function U(a,b,c){if(!a||!T(a,b,c))return!0;let d=Date.parse(a.lastAttemptAt);return!Number.isFinite(d)||b-d>=c}function V(a,b,c){return a?{...a,gap:b,lastAttemptAt:c,attempts:a.attempts+1}:{gap:b,since:c,lastAttemptAt:c,attempts:1,reported:!1}}let W="unread";function X(a,b){if(null===a)return!0;let c=Y(a),d=Y(b);return c&&d?c.board!==d.board||c.pullRequests!==W&&d.pullRequests!==W&&c.pullRequests!==d.pullRequests:a!==b}function Y(a){let b=a.indexOf(".");return b<=0||b===a.length-1?null:{board:a.slice(0,b),pullRequests:a.slice(b+1)}}function Z(a){switch(a){case"registry-unreadable":return"the registry read failed";case"children-unindexed":return"the registry backend has no indexed lineage projection, so children cannot be paged";case"migration-pending":return"the SQLite accounting has not finished importing the legacy tick state";case"migration-blocked":return"the legacy tick state at state/seat-tick.json cannot be imported and blocks every wake until it is fixed or removed";case"discovery-incomplete":return"an owner's lineage page or the seat file's revocations could not be read to the end";case"ledger-gap":return"a child's event ledger was replaced, torn, malformed or skipped a sequence";case"ledger-pending":return"a child left its running state and its ledger has not been read yet";case"child-departed":return"a tracked child no longer projects under this seat and project";case"child-unplaced":return"a child has no conversation record or an unobserved turn with no host behind it"}}function $(a,b){let c="pull-requests"===b?a.state.pullRequestGap:a.state.childrenGap;if(!("pull-requests"===b?a.pullRequestsUnavailable:a.childrenUnavailable)||!c||c.reported||!T(c,a.now,a.settings.wakeIntervalMs))return null;let d=`${c.since.slice(0,16).replace("T"," ")} UTC (${c.gap}, ${c.attempts} attempt(s))`;return{card:{ref:p(b),kind:"source-unreadable",instance:c.since,detail:"pull-requests"===b?`The open pull requests of this project's finished lanes have not been readable since ${d}`:`The seat's spawned children have not been fully accountable since ${d}: `+Z(c.gap)},gap:{...c,reported:!0}}}function _(a,b){return{...a,quietSince:a.quietSince??b}}function aa(a){switch(a){case"no-transcript":return"the registry holds no transcript for it";case"outside-roots":return"its transcript path is outside every folder this Viewer scans";case"missing":return"the transcript file is no longer on disk";default:return"the Viewer cannot resolve its transcript"}}function ab(a){return`${a.conversationId}@unreadable:${a.transcriptReason??"unknown"}`}function ac(a,b,c){var d,e,f,g,h,i;let j,k,l=new Date(c).toISOString(),m=Math.max(a.eventsThrough??0,b.eventsThrough);if(b.proposal)return{...a,lastWakeAt:l,lastProposalAt:l,lastWakeReasons:[],lastWakeFingerprint:b.fingerprint,quietSince:null,eventsThrough:m,outstandingWake:null,releasedWake:null};let n=b.reasons,o=!X(a.lastWakeFingerprint,b.fingerprint),p={};for(let b of q)n.includes(b)&&(p[b]=o?(a.wakesWithoutChange[b]??0)+1:0);return{...a,lastWakeAt:l,lastWakeReasons:n,lastWakeFingerprint:b.fingerprint,wakesWithoutChange:p,quietSince:null,idleSince:null,eventsThrough:m,outstandingWake:null,releasedWake:null,harvestedChildren:(d=a.harvestedChildren,e=b.children,[...new Set([...d.filter(a=>!e.includes(a)),...e])]),childrenShown:(f=a.childrenShown??[],g=b.shownChildren??[],j=a=>a.slice(0,a.lastIndexOf("@")),k=new Set(g.map(j)),[...f.filter(a=>!k.has(j(a))),...g].slice(-64)),announcedLanes:(h=a.announcedLanes??[],i=b.announcedLanes??[],[...new Set([...h.filter(a=>!i.includes(a)),...i])].slice(-64))}}let ad=()=>({offset:0,identity:null,seq:0,activeTurn:null,settledThrough:0,atEnd:!1,initialSize:0,gap:null}),ae=Buffer.from('"turn-'),af=new Set(["completed","interrupted","error"]);function ag(a){let b;try{b=JSON.parse(a.toString("utf8"))}catch{return null}if(!b||"object"!=typeof b||Array.isArray(b))return null;let c=b;return"string"!=typeof c.kind||!Number.isSafeInteger(c.seq)||c.seq<=0?null:{kind:c.kind,seq:c.seq,turnId:c.turnId,status:c.status}}let ah="seat-tick-v3",ai=new Map,aj=a=>{let b=g().statSync(a);return`${b.dev}:${b.ino}`},ak=a=>e().createHash("sha256").update(JSON.stringify(a)).digest("hex"),al=(a,b,c="")=>`${a}/${encodeURIComponent(b)}/${encodeURIComponent(c)}`;function am(a){if(!a||"object"!=typeof a)return null;let b=a=>"string"==typeof a&&a.length>0,c=a=>Number.isSafeInteger(a)&&Number(a)>=0,d=a=>null===a||"string"==typeof a,e=a=>a&&b(a.conversationId)&&"string"==typeof a.title&&["running","terminal","unknown"].includes(a.status)&&(null===a.outcome||["finished","failed"].includes(a.outcome));if(1!==a.schemaVersion||!b(a.key)||"string"!=typeof a.project||"string"!=typeof a.kind||!a.key.startsWith(al(a.kind,a.project)))return null;switch(a.kind){case"project":{let e=a.state;if(!c(a.revision)||!c(a.sequence)||!["ready","pending","unknown"].includes(a.migration)||!e||"object"!=typeof e||!d(a.gap)||null!==e.seatEpoch&&!c(e.seatEpoch))return null;for(let a of["lastCheckAt","lastWakeAt","quietSince","idleSince","lastProposalAt"]){let b=e[a];if(null!==b&&("string"!=typeof b||!Number.isFinite(Date.parse(b))))return null}if(null!==e.eventsThrough&&!c(e.eventsThrough)||!Array.isArray(e.harvestedChildren)||0!==e.harvestedChildren.length||!Array.isArray(e.lastWakeReasons)||!Array.isArray(e.stalledSeen)||!e.wakesWithoutChange||"object"!=typeof e.wakesWithoutChange||void 0!==e.childrenShown&&(!Array.isArray(e.childrenShown)||!e.childrenShown.every(b))||void 0!==e.announcedLanes&&(!Array.isArray(e.announcedLanes)||!e.announcedLanes.every(b)))return null;let f=a=>!!a&&!!b(a.clientMessageId)&&!!b(a.conversationId)&&!!c(a.seatEpoch)&&!!d(a.operationId)&&!!a.commit&&"boolean"==typeof a.commit.proposal&&!!b(a.commit.fingerprint)&&!!c(a.commit.eventsThrough)&&!!Array.isArray(a.commit.reasons)&&!!Array.isArray(a.commit.children)&&!!a.commit.children.every(b)&&(void 0===a.commit.shownChildren||!!Array.isArray(a.commit.shownChildren)&&!!a.commit.shownChildren.every(b))&&(void 0===a.commit.announcedLanes||!!Array.isArray(a.commit.announcedLanes)&&!!a.commit.announcedLanes.every(b))&&(void 0===a.preparedAt||!!b(a.preparedAt))&&(void 0===a.dispatch||!!a.dispatch&&b(a.dispatch.token)&&["active","refused","returned"].includes(a.dispatch.state)),g=e.outstandingWake;if(null!==g&&!f(g)||void 0!==a.ownerScan&&(!a.ownerScan||!b(a.ownerScan.identity)||"boolean"!=typeof a.ownerScan.gap))return null;let h=e.retiredWakes;if(void 0===h)return{...a,state:{...e,retiredWakes:[]}};if(!Array.isArray(h))return null;let i=[];for(let a of h){if(!a||"object"!=typeof a||!f(a.wake)||!b(a.retiredAt))return null;let d=a.reason??"seat-superseded";if("seat-superseded"!==d&&"unresolved-age"!==d)return null;let e=a.supersededBy??null;if("seat-superseded"===d&&(!e||!b(e.conversationId)||!c(e.seatEpoch))||"unresolved-age"===d&&null!==e)return null;i.push({...a,supersededBy:e,reason:d})}return{...a,state:{...e,retiredWakes:i}}}case"owner":{if(!b(a.conversationId)||!c(a.epoch))return null;if("string"==typeof a.after&&void 0===a.pollKey)return{...a,after:null,pollKey:""};let d=a=>null===a||!!a&&"object"==typeof a&&Number.isSafeInteger(a.order)&&b(a.key);return"string"==typeof a.pollKey&&d(a.after)&&(void 0===a.bootstrap||a.bootstrap&&d(a.bootstrap.after))?a:null}case"child":return b(a.identity)&&b(a.rowKey)&&b(a.owner)&&b(a.launchId)&&e(a.input)&&c(a.generationIndex)&&d(a.runningKey)&&(void 0===a.pollKey||d(a.pollKey))&&(void 0===a.harvestedEpoch||c(a.harvestedEpoch))?{...a,pollKey:a.pollKey??null}:null;case"source":return b(a.identity)&&b(a.child)&&b(a.engine)&&b(a.generation)&&a.cursor&&c(a.cursor.offset)&&c(a.cursor.seq)&&c(a.cursor.settledThrough)&&c(a.cursor.initialSize)&&d(a.cursor.identity)&&d(a.cursor.activeTurn)&&d(a.cursor.gap)&&"boolean"==typeof a.cursor.atEnd?a:null;case"outcome":return Array.isArray(a.tuple)&&[2,3].includes(a.tuple.length)&&a.tuple.every(b)&&a.identity===ak(a.tuple)&&a.key===al("outcome",a.project,a.identity)&&e(a.input)&&a.input.outcomeId===a.identity&&"terminal"===a.input.status&&["owed","acknowledged"].includes(a.status)&&b(a.child)&&b(a.readyKey)?a:null;case"poll":case"ready":case"owner-poll":case"running":return b(a.target)?a:null;case"legacy":return b(a.conversationId)&&"boolean"==typeof a.reconciled?a:null;default:return null}}function an(a,b){let c;try{c=g().openSync(a,g().constants.O_RDONLY|g().constants.O_NOFOLLOW);let d=g().fstatSync(c);if(!d.isFile())return{kind:"gap",gap:"not-a-file"};if(d.size>b)return{kind:"gap",gap:"oversized"};let e=Buffer.allocUnsafe(d.size),f=0;for(;f<d.size;){let a=g().readSync(c,e,f,d.size-f,f);if(!a)break;f+=a}try{return{kind:"parsed",value:JSON.parse(e.subarray(0,f).toString("utf8"))}}catch{return{kind:"gap",gap:"malformed"}}}catch(a){return"ENOENT"===a.code?{kind:"absent"}:{kind:"gap",gap:"unreadable"}}finally{void 0!==c&&g().closeSync(c)}}class ao{constructor(a,b){this.filename=a,this.project=b;const c=ai.get(a);if(c){if(aj(a)!==c.identity)throw Error("seat accounting database was replaced");this.collection=c.collection;return}(0,h.t0)(a,[{collection:ah,schemaVersion:1,migrationId:"monitor-v3",key:a=>a.key,loadRecords:()=>[]}]),this.collection=new h.UY(a,{collection:ah,schemaVersion:1,busyMessage:"seat outcome accounting is busy",key:a=>a.key,decode:am,clone:structuredClone,strictDecode:!0}),ai.set(a,{identity:aj(a),collection:this.collection})}base(a,b=""){return{key:al(a,this.project,b),project:this.project,schemaVersion:1}}get(a){return this.collection.get(a)}row(){let a=this.get(al("project",this.project));if(a&&"project"!==a.kind)throw Error("invalid project accounting row");return a}page(a,b){let c=al(a,this.project);return this.collection.keyRange(c,`${c}~`,b)}pollPage(a){let b=this.collection.keyRange(`${al("poll",this.project)}0`,`${al("poll",this.project)}~`,8),c=this.page("poll",a),d=new Set(b.map(a=>a.key));return[...b,...c.filter(a=>!d.has(a.key))].slice(0,a)}ticket(a,b,c,d,e="tail"){if(!Number.isSafeInteger(++b.sequence))throw Error("accounting sequence exhausted");let f={...this.base(c,`${"head"===e?"!":""}${String(b.sequence).padStart(16,"0")}`),kind:c,target:d};return a.put(f),f.key}atHead(a,b){return a.startsWith(al(b,this.project,"!"))}trackRunning(a,b,c){"running"===c.input.status?c.runningKey||(c.runningKey=this.ticket(a,b,"running",c.key)):c.runningKey&&(a.delete(c.runningKey),c.runningKey=null)}mutate(a){return this.collection.boundedPatch(4096,b=>{let c=b.get(al("project",this.project));if(!c||"project"!==c.kind)throw Error("accounting migration has not completed");let d=a(b,c);return c.revision++,b.put(c),d})}initialize(a,b){this.collection.boundedPatch(4096,c=>{if(!c.get(al("project",this.project))){for(let b of a.harvestedChildren)c.put({...this.base("legacy",b),kind:"legacy",conversationId:b,reconciled:!1});c.put({...this.base("project"),kind:"project",revision:0,sequence:0,state:{...a,harvestedChildren:[]},migration:b?"unknown":"ready",gap:b})}})}migrateLegacy(a,b){if(this.row()?.migration==="ready")return;this.row()||this.collection.boundedPatch(2,a=>{a.get(al("project",this.project))||a.put({...this.base("project"),kind:"project",revision:0,sequence:0,state:s(),migration:"pending",gap:null})});let c=this.row(),d=an(a,4194304),e=null,f=s(),g=[];if("gap"===d.kind)e="malformed"===d.gap?"legacy-json-malformed":"oversized"===d.gap?"legacy-state-oversized":"legacy-state-unreadable";else if("parsed"===d.kind){let a=d.value,c=a&&"object"==typeof a&&!Array.isArray(a)?a.projects:void 0;if(!c||"object"!=typeof c||Array.isArray(c))e="legacy-projects-unreadable";else{let d="number"==typeof a.version?a.version:null,h=c[this.project];if(void 0!==h){let a=h&&"object"==typeof h&&!Array.isArray(h)?h:{};f=b(a,d);let c=a.harvestedChildren;if(void 0!==c)if(Array.isArray(c))for(let a of c){if("string"!=typeof a||!a||a.length>200){e="legacy-acknowledgments-unreadable";break}g.push(a)}else e="legacy-acknowledgments-unreadable";Object.hasOwn(a,"outstandingWake")&&null!==a.outstandingWake&&!f.outstandingWake&&(e="legacy-outstanding-unreadable")}}}let h=e?[]:[...new Set(g)];for(let a=0;a<h.length;a+=1e3){let b=h.slice(a,a+1e3);this.collection.boundedPatch(1002,a=>{let d=a.get(c.key);if(d&&"project"===d.kind&&d.revision===c.revision)for(let c of b)a.put({...this.base("legacy",c),kind:"legacy",conversationId:c,reconciled:!1})})}this.collection.boundedPatch(2,a=>{let b=a.get(c.key);if(!b||"project"!==b.kind||b.revision!==c.revision)return;let d=e?"unknown":"ready";b.migration===d&&b.gap===e&&e||a.put({...b,revision:b.revision+1,state:e?b.state:{...f,harvestedChildren:[]},migration:d,gap:e})})}readState(){let a=this.row();if(!a)throw Error("missing project accounting");return{...a.state,accounting:{filename:this.filename,revision:a.revision,gap:"ready"===a.migration?a.gap:a.gap??"legacy-migration-pending"}}}writeState(a){this.mutate((b,c)=>{if(a.accounting?.revision!==c.revision)throw Error("stale seat tick state");c.state={...a,accounting:void 0,harvestedChildren:[]}})}owner(a,b){let c=al("owner",this.project,String(b)),d=this.get(c);if(d?.kind==="owner"&&d.conversationId===a&&d.pollKey)return d;this.mutate((d,e)=>{let f=d.get(c);if(f){if("owner"!==f.kind||f.conversationId!==a)throw Error("contradictory seat ownership");f.pollKey||d.put({...f,pollKey:this.ticket(d,e,"owner-poll",c)});return}let g={...this.base("owner",String(b)),kind:"owner",conversationId:a,epoch:b,after:null,pollKey:""};g.pollKey=this.ticket(d,e,"owner-poll",c),d.put(g)});let e=this.get(c);if(!e||"owner"!==e.kind)throw Error("missing owner provenance");return e}discoverRevokedOwners(a,b){let c,d=this.row();try{let b=g().statSync(a);c=`${b.dev}:${b.ino}:${b.size}:${b.mtimeMs}`}catch(a){return"ENOENT"!==a.code}if(d.ownerScan?.identity===c)return d.ownerScan.gap;let e=an(a,0x1000000);if("absent"===e.kind)return!1;let f="gap"===e.kind,h=[];if("parsed"===e.kind){let a=e.value,c=a&&"object"==typeof a&&!Array.isArray(a)&&1===a.schemaVersion&&Array.isArray(a.revocations)?a.revocations:null;if(c)for(let a of c){let c=a??{};"string"==typeof c.project&&b(c.project)&&"string"==typeof c.conversationId&&c.conversationId.startsWith("conversation_")&&Number.isSafeInteger(c.seatEpoch)&&Number(c.seatEpoch)>=1&&"string"==typeof c.revokedAt&&Number.isFinite(Date.parse(c.revokedAt))&&h.push({conversationId:c.conversationId,epoch:Number(c.seatEpoch)})}else f=!0}let i=h.slice(0,200),j=h.length>i.length,k=!1;return this.mutate((a,b)=>{if(b.revision!==d.revision){k=!0;return}for(let c of i){let d=al("owner",this.project,String(c.epoch)),e=a.get(d);if(e){if("owner"!==e.kind||e.conversationId!==c.conversationId)throw Error("contradictory predecessor ownership");continue}let f={...this.base("owner",String(c.epoch)),kind:"owner",conversationId:c.conversationId,epoch:c.epoch,after:null,pollKey:""};f.pollKey=this.ticket(a,b,"owner-poll",d),a.put(f)}j||(b.ownerScan={identity:c,gap:f})}),f||j||k}discovery(a,b){this.mutate((c,d)=>{if(c.get(a.pollKey)){for(let{child:a,position:e}of b){let b=c.get(a.key);if(b){if("child"!==b.kind)throw Error("invalid child provenance");b.pollKey||c.put({...b,pollKey:this.ticket(c,d,"poll",a.key,e)});continue}a.pollKey=this.ticket(c,d,"poll",a.key,e),this.trackRunning(c,d,a),c.put(a)}c.delete(a.pollKey),c.put({...a,pollKey:this.ticket(c,d,"owner-poll",a.key)})}})}adoptPoll(a,b){return a.pollKey?a:(this.mutate(c=>{let d=c.get(a.key),e=c.get(b);d?.kind!=="child"||d.pollKey||e?.kind!=="poll"||e.target!==a.key||c.put({...d,pollKey:b})}),this.get(a.key))}child(a,b,c,d){let e=ak([b,a,c]);return{...this.base("child",e),kind:"child",identity:e,rowKey:a,owner:b,launchId:c,input:d,generationIndex:0,runningKey:null,pollKey:null}}source(a,b,c){let d=ak([b,c]),e=this.get(al("source",this.project,d));if(e){if("source"!==e.kind||e.child!==a.key||e.engine!==b||e.generation!==c)throw Error("source identity collision");return e}return{...this.base("source",d),kind:"source",identity:d,child:a.key,engine:b,generation:c,cursor:ad()}}ingest(a,b,c,d=!1,e="tail"){this.mutate((f,g)=>{a.pollKey&&f.get(a.pollKey)&&(b?.cursor.identity&&b.legacyBoundary?.identity!==b.cursor.identity&&(b.legacyBoundary={identity:b.cursor.identity,bytes:b.cursor.initialSize}),(d?[[a.launchId,"pre-execution-failure"]]:c.map(a=>[b.engine,b.generation,a.turnId])).forEach((e,h)=>{let i=ak(e),j=al("outcome",this.project,i),k=d||"completed"!==c[h].status?"failed":"finished",l=f.get(j);if(l){if("outcome"!==l.kind||JSON.stringify(l.tuple)!==JSON.stringify(e))throw Error("outcome identity collision");l.input.outcome!==k&&f.put({...l,gap:"conflicting-terminal"});return}let m=f.get(al("legacy",this.project,a.input.conversationId)),n={...a.input,status:"terminal",outcome:k,outcomeId:i},o=al("ready",this.project,String(g.sequence+1).padStart(16,"0"));this.ticket(f,g,"ready",j),f.put({...this.base("outcome",i),kind:"outcome",identity:i,child:a.key,tuple:e,input:n,status:"owed",landingKey:null,readyKey:o,gap:m&&(d||!b?.legacyBoundary||c[h].endOffset<=b.legacyBoundary.bytes)?"legacy-delivery-ambiguous":null})}),b&&f.put(b),this.trackRunning(f,g,a),f.delete(a.pollKey),a.pollKey=this.ticket(f,g,"poll",a.key,e),f.put(a))})}promote(a){!a.pollKey||this.atHead(a.pollKey,"poll")||this.mutate((b,c)=>{b.get(a.pollKey)&&(b.delete(a.pollKey),a.pollKey=this.ticket(b,c,"poll",a.key,"head"),b.put(a))})}rotateCold(a){a.length&&this.mutate((b,c)=>{for(let d of a){let a=b.get(d.key);a?.kind==="child"&&d.pollKey&&a.pollKey===d.pollKey&&b.get(d.pollKey)&&(b.delete(d.pollKey),b.put({...a,pollKey:this.ticket(b,c,"poll",d.key)}))}})}drop(a){this.mutate(b=>{b.get(a.key)&&b.delete(a.key)})}rotateRunning(a){0!==a.length&&this.mutate((b,c)=>{for(let d of a){if("running"!==d.kind||!b.get(d.key))continue;b.delete(d.key);let a=b.get(d.target);a&&"child"===a.kind&&a.runningKey===d.key&&(a.runningKey="running"===a.input.status?this.ticket(b,c,"running",a.key):null,b.put(a))}})}ready(a){return this.page("ready",a).flatMap(a=>{if("ready"!==a.kind)throw Error("invalid ready ticket");let b=this.get(a.target);if(!b||"outcome"!==b.kind)throw Error("missing outcome");return"owed"===b.status&&b.gap&&this.defer(b),"owed"!==b.status||b.gap?[]:[b]})}defer(a){this.mutate((b,c)=>{let d=b.get(a.key);d&&"outcome"===d.kind&&"owed"===d.status&&d.readyKey===a.readyKey&&(b.delete(d.readyKey),d.readyKey=al("ready",this.project,String(c.sequence+1).padStart(16,"0")),this.ticket(b,c,"ready",d.key),b.put(d))})}prepare(a,b){return this.collection.boundedPatch(4096,c=>{let d=c.get(al("project",this.project));if(!d||"project"!==d.kind)throw Error("accounting migration has not completed");if(d.revision!==a.accounting?.revision||d.state.outstandingWake||"ready"!==d.migration)return!1;for(let a of b.commit.children){let b=c.get(al("outcome",this.project,a));if(!b||"outcome"!==b.kind||"owed"!==b.status||b.gap)return!1}return d.state={...a,accounting:void 0,harvestedChildren:[],outstandingWake:b},d.revision++,c.put(d),!0})}beginDispatch(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;if(!d||d.clientMessageId!==a.clientMessageId||d.dispatch&&"refused"!==d.dispatch.state||d.dispatch?.token!==a.dispatch?.token)return null;let f=e().randomUUID();return c.state.outstandingWake={...d,dispatch:{token:f,state:"active"}},f})}returnedDispatch(a,b,c){this.mutate((d,e)=>{let f=e.state.outstandingWake;if(f?.clientMessageId===a&&f.dispatch?.token===b&&"active"===f.dispatch.state){e.state.outstandingWake={...f,dispatch:{token:b,state:c?"refused":"returned"}};return}let g=e.state.retiredWakes??[],h=g.findIndex(c=>c.wake.clientMessageId===a&&c.wake.dispatch?.token===b&&"active"===c.wake.dispatch.state);if(h<0)return;let i=[...g];i[h]={...i[h],wake:{...i[h].wake,dispatch:{token:b,state:c?"refused":"returned"}}},e.state={...e.state,retiredWakes:i}})}cancelUndispatched(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;return!!d&&d.clientMessageId===a.clientMessageId&&!d.dispatch&&(c.state.outstandingWake=null,!0)})}settleAbsent(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;return!!d&&d.clientMessageId===a.clientMessageId&&!d.operationId&&!!d.text&&d.dispatch?.state==="refused"&&d.dispatch.token===a.dispatch?.token&&(c.state.outstandingWake=null,!0)})}retire(a,b,c,d){return this.mutate((e,f)=>{let g=f.state.outstandingWake;if(!g||g.clientMessageId!==a.clientMessageId)return{retired:!1,evicted:null};let h=f.state.retiredWakes??[],i=null;if(h.length>=20){let a=h.findIndex(a=>{if(a.wake.dispatch?.state==="active")return!1;let b=Date.parse(a.wake.preparedAt??a.retiredAt);return Number.isFinite(b)&&void 0!==d&&b<=d});if(a<0)return{retired:!1,evicted:null};i=h[a].wake.clientMessageId,h=[...h.slice(0,a),...h.slice(a+1)]}return f.state={...f.state,outstandingWake:null,retiredWakes:[...h,{wake:g,retiredAt:b,supersededBy:c.supersededBy,reason:c.reason}],releasedWake:{clientMessageId:g.clientMessageId,releasedAt:b}},{retired:!0,evicted:i}})}settleRetired(a){return this.mutate((b,c)=>{let d=c.state.retiredWakes??[],e=d.filter(b=>b.wake.clientMessageId!==a);return e.length!==d.length&&(c.state={...c.state,retiredWakes:e},!0)})}settle(a,b,c){return this.mutate((d,e)=>{let f=e.state.outstandingWake;if(!f||f.clientMessageId!==a||"unsent"===c&&f.dispatch?.state==="active")return!1;if("landed"===c)for(let b of f.commit.children){let c=d.get(al("outcome",this.project,b));if(!c){if(!b.startsWith("conversation_"))throw Error("missing frozen outcome");d.put({...this.base("legacy",b),kind:"legacy",conversationId:b,reconciled:!0});continue}if("outcome"!==c.kind)throw Error("invalid frozen outcome");d.put({...c,status:"acknowledged",landingKey:a}),d.delete(c.readyKey);let e=d.get(c.child);e?.kind==="child"&&(e.harvestedEpoch??-1)<f.seatEpoch&&d.put({...e,harvestedEpoch:f.seatEpoch})}let g="landed"===c?ac(e.state,f.commit,Date.parse(b.lastWakeAt)):e.state;return e.state={...g,accounting:void 0,harvestedChildren:[],outstandingWake:null,releasedWake:"landed"===c?null:b.releasedWake??null},!0})}}var ap=c(27146),aq=c(67434),ar=c(29307),as=c(70160),at=c(58512);function au(a){let b=(0,as.agentRegistry)().conversation(a);if(!b)return null;for(let a=b.generations.length-1;a>=0;a-=1){let c=b.generations[a]?.launchProfile?.cwd;if(c&&function(a){try{return g().statSync(a).isDirectory()}catch{return!1}}(c))return c}return null}function av(a,b){if(!a.conversationId)return null;let c=null;try{c=b(a.conversationId)}catch{c=null}return(0,at.M)(a.project,c)}function aw(a=au){return(0,at.n)((0,ar.activeOrchestratorSeats)().map(b=>av(b,a)))}function ax(a=au){return(0,ar.activeOrchestratorSeats)().map(b=>{let c=function(a,b=au){return av(a,b)?.target??a.project}(b,a);return c===b.project?b:{...b,project:c}})}var ay=c(75040),az=c(23509),aA=c(13696),aB=c(31421);let aC=(0,c(57975).promisify)(aB.execFile);function aD(a,b){return async c=>{let{stdout:d}=await aC("gh",c,{cwd:a,timeout:b,maxBuffer:4194304});return d}}async function aE(a){let b,c=a.run??aD(a.cwd,a.timeoutMs??2e4);try{b=await c(["pr","list","--state","open","--limit",String(a.limit??60),"--json","number,title,headRefName,updatedAt"])}catch(a){return{ok:!1,unavailable:a?.killed===!0||a?.code==="ETIMEDOUT"||a?.name==="TimeoutError"?"timed-out":"command-failed"}}let d=function(a){let b;try{b=JSON.parse(a)}catch{return null}if(!Array.isArray(b))return null;let c=[];for(let a of b){if(!a||"object"!=typeof a||Array.isArray(a)||"number"!=typeof a.number||!Number.isSafeInteger(a.number)||"string"!=typeof a.headRefName||!a.headRefName)return null;c.push({number:a.number,title:"string"==typeof a.title?a.title.slice(0,200):"",headRefName:a.headRefName,updatedAt:"string"==typeof a.updatedAt?a.updatedAt:null})}return c}(b);return d?{ok:!0,pullRequests:d}:{ok:!1,unavailable:"malformed-output"}}async function aF(a){let b=a.run??aD(a.cwd,a.timeoutMs??2e4);try{let d;var c=await b(["issue","list","--state","open","--limit",String(a.limit??40),"--json","number,title,labels,updatedAt"]);try{d=JSON.parse(c)}catch{return[]}if(!Array.isArray(d))return[];let e=[];for(let a of d)!(!a||"object"!=typeof a||Array.isArray(a))&&"number"==typeof a.number&&Number.isSafeInteger(a.number)&&e.push({number:a.number,title:"string"==typeof a.title?a.title.slice(0,200):"",labels:(Array.isArray(a.labels)?a.labels:[]).flatMap(a=>{let b=a?.name;return"string"==typeof b?[b.slice(0,60)]:[]}),updatedAt:"string"==typeof a.updatedAt?a.updatedAt:null});return e}catch{return[]}}var aG=c(76760),aH=c.n(aG),aI=c(89204);function aJ(a,b=process.env.LLV_SEAT_TICK_AUDIT_FILE?.trim()||(0,ap.BQ)(aH().join("seat-tick","runs.ndjson"))){var c;c={filePath:b,retention:500,busyMessage:"the seat tick journal is busy"},g().mkdirSync(aH().dirname(c.filePath),{recursive:!0,mode:448}),(0,aI.Ol)(c.filePath,c.busyMessage,()=>{g().appendFileSync(c.filePath,`${JSON.stringify(a)}
82
+ `,{encoding:"utf8",mode:384}),function(a,b){let c;try{c=g().readFileSync(a,"utf8").split("\n").filter(a=>a.trim())}catch{return}if(c.length<=b)return;let d=`${a}.${process.pid}.${e().randomUUID()}.tmp`;g().writeFileSync(d,`${c.slice(-b).join("\n")}
83
+ `,{encoding:"utf8",mode:384}),g().renameSync(d,a)}(c.filePath,c.retention)})}var aK=c(77548),aL=c(842);function aM(a,b){let c=`
84
+ ${(0,j.l)(b.join("\n")).trimEnd()}`,d=Math.max(4e3-c.length,1e3),e=(0,j.l)(a.join("\n")).trimStart();return e.length<=d?`${e}${c}`:`${e.slice(0,d-1).trimEnd()}…${c}`}c(40898);let aN=["Handle the listed items first, then make ONE bounded pass over this project's whole board and act on what stands still: list_pipelines for lanes completed, parked or failed to spawn, the open pull requests their finished lanes left, list_flows, agent_activity with liveOnly for live and stalled agents, and open tasks with nothing running.","Record every outcome where it belongs — on the board card or on the pipeline — not only in this conversation.","If an item cannot be done, mark its task blocked with the reason. That is the stop, and it is the only one.","Do not schedule yourself. The Viewer ticks this seat; a self-scheduled monitor is refused practice.","This tick is yours to govern: seat_tick_settings turns it off, changes how often it wakes you, or turns it back on, per project, with a reason that shows on the board.","Do not wait on the operator inside this turn."];function aO(a){let b=`- [${a.kind}] ${a.id} — ${a.label}`;return a.finalMessage?`${b}
85
+ final message: ${a.finalMessage}`:b}function aP(a){var b;return a?["","Standing monitor note for this project, in the seat's own words (seat_tick_settings sets, replaces and clears it). It shapes what you look at; the contract below still governs what you do:",(b=a).length<=1e3?b:`${b.slice(0,1e3).trimEnd()}… [preview, ${b.length} chars; seat_tick_settings returns the full note]`]:[]}function aQ(a){return Math.max(36e5,Number.isFinite(a)&&a>0?2*a:0)}function aR(a,b){let c=a?Date.parse(a):NaN;return Number.isFinite(c)?new Date(c+aQ(b)).toISOString():null}function aS(a,b,c){let d=a?Date.parse(a):NaN;return!Number.isFinite(d)||b-d<aQ(c)}function aT(a,b,c,d,e=!1){return{clientMessageId:b.clientMessageId,conversationId:b.conversationId,seatEpoch:b.seatEpoch,slot:a,since:c,lapsesAt:aR(c,d),keptPastBound:e}}function aU(a,b,c,d){let e=[],f=a.outstandingWake;for(let c of(f&&e.push(aT("outstanding",f,f.preparedAt??null,d)),a.retiredWakes??[]))b?.conversationId&&c.wake.conversationId===b.conversationId&&e.push(aT("retired",c.wake,c.wake.preparedAt??c.retiredAt,d));let g=e.filter(a=>aS(a.since,c,d));return g.length?g.reduce((a,b)=>a.lapsesAt?b.lapsesAt?b.lapsesAt>a.lapsesAt?b:a:b:a):null}let aV=new Set(["retained","landed","dropped"]);function aW(a){return a?`${a.slice(0,16).replace("T"," ")} UTC`:"an instant the row does not record"}function aX(a){let b=`this tick is fenced by the wake prepared ${aW(a.since)} under key ${a.clientMessageId}, which is unresolved: no replacement wake is sent for this project until it settles`;return a.keptPastBound?`${b}, and its age bound was spent ${a.lapsesAt?`at ${aW(a.lapsesAt)}`:"before now"}: the next check retires it unresolved and may wake this project, unless the layer holding it reports by then that it still has the payload, or a transport call of its own has not returned`:`${b}, and the fence lapses ${a.lapsesAt?`at ${aW(a.lapsesAt)}`:"once a check has an instant to measure its age from"}, after which the attempt is retired unresolved and the next check may wake`}var aY=c(44405);function aZ(){return process.env.LLV_SEAT_TICK_SETTINGS_FILE?.trim()||(0,ap.BQ)("seat-tick-settings.json")}function a$(a){return{project:a,enabled:!0,wakeIntervalMinutes:null,reason:null,monitorPrompt:null,until:null,updatedAt:null,setBy:null}}function a_(a){return a.enabled&&null===a.wakeIntervalMinutes}function a0(a){return"string"==typeof a&&Number.isFinite(Date.parse(a))?a:null}function a1(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if(!b||"object"!=typeof b||Array.isArray(b))return{version:1,projects:{}};let c=b.projects??{};return{version:1,projects:Object.fromEntries(Object.entries(c).map(([a,b])=>{var c,d,e;let f;return[a,(c=a,d=b,f=a$(c),!d||"object"!=typeof d||Array.isArray(d)?f:{project:c,enabled:!1!==d.enabled,wakeIntervalMinutes:"number"!=typeof(e=d.wakeIntervalMinutes)||!Number.isFinite(e)||e<=0?null:Math.min(525600,e),reason:"string"==typeof d.reason&&d.reason.trim()?d.reason.slice(0,500):null,monitorPrompt:"string"==typeof d.monitorPrompt&&d.monitorPrompt.trim()?d.monitorPrompt.slice(0,16e3):null,until:a0(d.until),updatedAt:a0(d.updatedAt),setBy:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.kind;return"manager"!==b&&"agent"!==b&&"gateway"!==b&&"unidentified"!==b?null:{kind:b,conversationId:"string"==typeof a.conversationId&&a.conversationId?a.conversationId.slice(0,200):null,project:"string"==typeof a.project&&a.project?a.project.slice(0,200):null,seatEpoch:"number"==typeof a.seatEpoch&&Number.isSafeInteger(a.seatEpoch)?a.seatEpoch:null}}(d.setBy)})]}))}}catch{return{version:1,projects:{}}}}function a2(a,b,c=aZ()){(0,aI.Ol)(c,"seat tick settings are busy",()=>{let d=a1(c);(0,aY.fZ)(c,{version:1,projects:{...d.projects,[a]:{...b,project:a}}})})}function a3(a,b,c){let d=a.until?Date.parse(a.until):NaN,e=Number.isFinite(d)&&d<=b&&!a_(a),f=null!==a.updatedAt;return e||a_(a)?{enabled:!0,wakeIntervalMs:c,reason:null,monitorPrompt:a.monitorPrompt,until:null,updatedAt:a.updatedAt,isDefault:!0,configured:f,lapsed:e,setBy:e?a.setBy:null}:{enabled:a.enabled,wakeIntervalMs:null===a.wakeIntervalMinutes?c:Math.round(6e4*a.wakeIntervalMinutes),reason:a.reason,monitorPrompt:a.monitorPrompt,until:a.until,updatedAt:a.updatedAt,isDefault:!1,configured:f,lapsed:!1,setBy:a.setBy}}function a4(){return process.env.LLV_SEAT_TICK_STATE_FILE?.trim()||(0,ap.BQ)("seat-tick.json")}function a5(a){return"string"==typeof a&&Number.isFinite(Date.parse(a))?a:null}function a6(a){return(Array.isArray(a)?a:[]).filter(a=>"string"==typeof a&&a.length>0&&a.length<=200)}function a7(a){var b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c="string"==typeof a.clientMessageId?a.clientMessageId:"",d="string"==typeof a.conversationId?a.conversationId:"",e=a.seatEpoch,f=!(b=a.commit)||"object"!=typeof b||Array.isArray(b)?null:"string"==typeof b.fingerprint&&b.fingerprint&&"number"==typeof b.eventsThrough&&Number.isInteger(b.eventsThrough)&&!(b.eventsThrough<0)?{proposal:!0===b.proposal,reasons:(Array.isArray(b.reasons)?b.reasons:[]).filter(a=>q.includes(a)),fingerprint:b.fingerprint.slice(0,200),eventsThrough:b.eventsThrough,children:a6(b.children),shownChildren:a6(b.shownChildren),announcedLanes:a6(b.announcedLanes)}:null;return c&&d&&f&&"number"==typeof e&&Number.isSafeInteger(e)?{clientMessageId:c,conversationId:d,seatEpoch:e,operationId:"string"==typeof a.operationId&&a.operationId?a.operationId:null,commit:f,..."string"==typeof a.text?{text:a.text}:{},...a5(a.preparedAt)?{preparedAt:a.preparedAt}:{}}:null}let a8=["timed-out","command-failed","malformed-output","lanes-unreadable"];function a9(a,b){var c;let d,e=s();if(!a||"object"!=typeof a||Array.isArray(a))return e;let f={},g=a.wakesWithoutChange??{};for(let a of q){let b=g[a];"number"==typeof b&&Number.isInteger(b)&&b>=0&&(f[a]=b)}return{seatEpoch:"number"==typeof a.seatEpoch&&Number.isSafeInteger(a.seatEpoch)?a.seatEpoch:null,lastCheckAt:a5(a.lastCheckAt),lastWakeAt:a5(a.lastWakeAt),lastWakeReasons:(Array.isArray(a.lastWakeReasons)?a.lastWakeReasons:[]).filter(a=>q.includes(a)),wakesWithoutChange:f,quietSince:a5(a.quietSince),idleSince:a5(a.idleSince),lastProposalAt:a5(a.lastProposalAt),stalledSeen:(Array.isArray(a.stalledSeen)?a.stalledSeen:[]).filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,200),lastWakeFingerprint:"string"==typeof a.lastWakeFingerprint?a.lastWakeFingerprint.slice(0,200):null,eventsThrough:"number"!=typeof(d=a.eventsThrough)||!Number.isInteger(d)||d<0||b&&0===d&&!a5(a.lastWakeAt)?null:d,outstandingWake:a7(a.outstandingWake),retiredWakes:(Array.isArray(c=a.retiredWakes)?c:[]).flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];let b=a7(a.wake),c=a5(a.retiredAt);if(!b||!c)return[];let d=void 0===a.reason?"seat-superseded":a.reason;if("seat-superseded"!==d&&"unresolved-age"!==d)return[];if("unresolved-age"===d)return a.supersededBy?[]:[{wake:b,retiredAt:c,supersededBy:null,reason:d}];let e=a.supersededBy;if(!e||"object"!=typeof e)return[];let f="string"==typeof e.conversationId?e.conversationId:"",g=e.seatEpoch;return f&&"number"==typeof g&&Number.isSafeInteger(g)?[{wake:b,retiredAt:c,supersededBy:{conversationId:f,seatEpoch:g},reason:d}]:[]}).slice(0,20),releasedWake:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b="string"==typeof a.clientMessageId&&a.clientMessageId.length>0&&a.clientMessageId.length<=1e3?a.clientMessageId:null,c=a5(a.releasedAt);return b&&c?{clientMessageId:b,releasedAt:c}:null}(a.releasedWake),pullRequestGap:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a8.find(b=>b===a.gap),c=a5(a.since),d=a5(a.lastAttemptAt),e=a.attempts;return b&&c&&d&&"number"==typeof e&&Number.isInteger(e)&&!(e<1)?{gap:b,since:c,lastAttemptAt:d,attempts:e,reported:!0===a.reported}:null}(a.pullRequestGap),childrenGap:null,harvestedChildren:a6(a.harvestedChildren),childrenShown:a6(a.childrenShown).slice(-64),announcedLanes:a6(a.announcedLanes).slice(-64)}}function ba(a,b){return a.seatEpoch===b?a:{...s(),seatEpoch:b,eventsThrough:a.eventsThrough,lastWakeAt:a.lastWakeAt,lastProposalAt:a.lastProposalAt,outstandingWake:a.outstandingWake,retiredWakes:a.retiredWakes??[],releasedWake:a.releasedWake??null,pullRequestGap:a.pullRequestGap,childrenGap:a.childrenGap,harvestedChildren:a.harvestedChildren,accounting:a.accounting}}function bb(a){return a===a4()?aH().join(aH().dirname(a),"state.sqlite"):`${a}.sqlite`}function bc(a,b){let c=new ao(bb(b),a);return c.migrateLegacy(b,(a,b)=>a9(a,2!==b)),c}function bd(a,b=a4()){return bc(a,b).readState()}function be(a,b,c=a4()){let d=bc(a,c);d.writeState(b.accounting?b:{...b,accounting:d.readState().accounting})}var bf=c(88623),bg=c(53344),bh=c(65972),bi=c(12136),bj=c(57624),bk=c(30816),bl=c(88370),bm=c(58444);function bn(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("catalog selection cancelled","AbortError")}function bo(a,b){let c=Math.max(0,Math.floor(b.limit)),d=b.query?b.query.toLocaleLowerCase():"",e=[],f=new Set,g=0,h=0;for(let i of a){if("claude"===i.engine||"codex"===i.engine)h+=1,b.hostedPaths?.has(i.path)&&f.add(i.path),(!b.project||i.project===b.project)&&(!b.liveOnly||"live"===i.activity||"stalled"===i.activity||b.hostedPaths?.has(i.path))&&(!d||`${i.title}
86
+ ${i.project}
87
+ ${i.path}`.toLocaleLowerCase().includes(d))&&(g+=1,e.length<c&&e.push(i))}return{entries:e,matched:g,scanned:h,hostedSeen:f}}async function bp(a,b={completedFileScan:bm.Nm}){let c=performance.now();if(b.signal?.aborted)throw bn(b.signal.reason);let d=await b.completedFileScan({signal:b.signal??null});if(b.signal?.aborted)throw bn(b.signal.reason);return{...bo(d.snapshot.files,a),generation:d.generation,cacheStatus:d.cacheStatus,freshScan:!1,selectionMs:performance.now()-c}}async function bq(a,b,c,d){let e=d.now??Date.now,f=d.signal??null,g=new Map,h=0,i=0,j="complete";if(f?.aborted)throw bn(f.reason);let k=async()=>{for(;;){if(f?.aborted)throw bn(f.reason);if("complete"!==j||h>=a.length)return;if(null!==d.deadlineAt&&e()>=d.deadlineAt){j="deadline";return}let k=h,l=a[k],m=Math.max(0,b(l));if(i+m>d.maxBytes){j="byte_budget";return}h=k+1,i+=m,g.set(k,await c(l,f))}},l=(await Promise.allSettled(Array.from({length:Number.isFinite(d.concurrency)?Math.max(1,Math.min(Math.floor(d.concurrency),a.length||1)):1},()=>k()))).find(a=>"rejected"===a.status);if(l?.status==="rejected")throw l.reason;return{results:g,hydrated:g.size,skipped:a.length-g.size,bytes:i,stopped:j}}var br=c(66812),bs=c(14310),bt=c(43872);async function bu(a,b){let c=await (0,aL.mR)(b);if("complete"!==c.integrity)return null;let d=(0,br.j)(c.records,a);return{turn:"terminal"===d.state?"idle":"busy"===d.state?"busy":"unknown",lastRecordTs:function(a){let b=null;for(let c of a){let a=c.timestamp;if("string"!=typeof a)continue;let d=Date.parse(a);Number.isFinite(d)&&(null===b||d>b)&&(b=d)}return b}(c.records)}}async function bv(a){let b,c=function(a){let b=null;for(let[c,d]of(0,bt.s9)())(a===d||a.startsWith(d.endsWith(aH().sep)?d:d+aH().sep))&&(!b||d.length>b[1].length)&&(b=[c,d]);return b}(a);if(!c)return null;try{b=await g().promises.stat(a)}catch{return null}if(!b.isFile())return null;let d=(0,bs.q0)(c[0],c[1],a,b);return{path:a,project:d.project,title:d.title,engine:d.engine,mtimeMs:b.mtimeMs,sizeBytes:b.size,conversationId:null,activity:null,activityReason:null}}function bw(a){return{path:a.path,project:a.project,title:a.title,engine:a.engine,mtimeMs:Number.isFinite(a.mtime)?1e3*a.mtime:NaN,sizeBytes:Number.isFinite(a.size)?a.size:void 0,conversationId:a.conversationId??null,activity:a.activity??null,activityReason:a.activityReason??null}}async function bx(a,b,c,d){let e=[];for(let c of a)b.has(c)||e.push(c);if(0===e.length)return{entries:[],truncated:!1};let f=e.length>64,g=f?e.slice(-64):e;return{entries:(await Promise.all(g.map(async a=>{try{return await d(a)}catch{return null}}))).filter(a=>null!==a&&("claude"===a.engine||"codex"===a.engine)&&(!c||a.project===c)),truncated:f}}function by(a,b){let c=a=>Number.isFinite(a.mtimeMs)?a.mtimeMs:-1/0;return c(b)-c(a)}function bz(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("liveness snapshot cancelled","AbortError")}function bA(a){return Math.round(100*Math.max(0,a))/100}async function bB(a,b){let c,d,e=performance.now(),f=b.now(),g=a.signal??null;if(g?.aborted)throw bz(g.reason);let h=Number.isFinite(a.stallAfterMs)&&a.stallAfterMs>0?Math.floor(a.stallAfterMs):6e5,i=Math.max(1,Math.min(200,Number.isInteger(a.limit)?a.limit:100)),j=performance.now(),k=b.registrySnapshot(),l=function(a){let b=new Map,c=new Map;for(let d of a)for(let a of d.runs)for(let e of a.attempts){if(e.historical)continue;let f={pipelineId:d.id,stageId:a.stageId,attempt:e.n,reportedState:e.state,reportedPipelineState:d.state,paneId:e.paneId};e.conversationId&&b.set(e.conversationId,f),e.agentPath&&c.set(e.agentPath,f)}return{byConversation:b,byPath:c}}(b.pipelines()),m=function(a){let b=new Set;for(let c of Object.values(a.entries))("starting"===c.status||"live"===c.status||"idle"===c.status||"handoff"===c.status)&&c.artifactPath&&b.add(c.artifactPath);return b}(k),n=performance.now()-j,o=new Set,p=!!(a.transcriptPath||a.conversationId);if(a.transcriptPath&&o.add(a.transcriptPath),a.conversationId){let b=k.conversations[a.conversationId],c=b?.generations.at(-1)?.path;c&&o.add(c)}let q=performance.now();if(p)c=o.size>0?(await Promise.all([...o].slice(0,i).map(a=>b.describeTranscript(a)))).filter(a=>null!==a):[],d={scope:"targeted",scanned:o.size,matched:c.length,selected:c.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!1};else{let e,f={project:a.project,liveOnly:a.liveOnly,limit:i,hostedPaths:m};if(b.selectInventory){let h=await b.selectInventory(f,{signal:g});c=h.entries.map(bw),e=h.hostedSeen??new Set(h.entries.map(a=>a.path)),d={scope:a.project?"project":"corpus",scanned:h.scanned,matched:h.matched,selected:h.entries.length,recovered:0,recoveryTruncated:!1,generation:h.generation,cacheStatus:h.cacheStatus,freshScan:h.freshScan}}else if(b.listFiles){let g=bo(await b.listFiles(),f);c=g.entries.map(bw),e=g.hostedSeen,d={scope:a.project?"project":"corpus",scanned:g.scanned,matched:g.matched,selected:g.entries.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!0}}else throw Error("liveness needs an inventory source: install selectInventory");let h=await bx(m,e,a.project,b.describeTranscript),j=new Set(c.map(a=>a.path)),k=h.entries.filter(a=>!j.has(a.path));(k.length>0||h.truncated)&&(k.length>0&&(c=[...c,...k].sort(by).slice(0,i)),d={...d,matched:d.matched+k.length,selected:c.length,recovered:k.length,recoveryTruncated:h.truncated})}let r=performance.now()-q;if(g?.aborted)throw bz(g.reason);let s=c.filter(a=>"claude"===a.engine||"codex"===a.engine),t=performance.now(),u=Number.isFinite(a.evidenceDeadlineMs)&&a.evidenceDeadlineMs>0?Math.floor(a.evidenceDeadlineMs):2e3,v=await bq(s,a=>Math.min(Number.isFinite(a.sizeBytes)?a.sizeBytes:131072,131072),async(a,c)=>{try{return await b.transcriptEvidence(a.engine,a.path,{signal:c})}catch(a){if(c?.aborted||(0,bi.zf)(a))throw a;return null}},{concurrency:Number.isFinite(a.evidenceConcurrency)?Math.max(1,Math.floor(a.evidenceConcurrency)):4,maxBytes:Number.isFinite(a.evidenceByteBudget)?Math.max(0,Math.floor(a.evidenceByteBudget)):131072*Math.max(1,i),deadlineAt:b.now()+u,signal:g,now:b.now}),w=performance.now()-t;if(g?.aborted)throw bz(g.reason);let x=performance.now(),y=0,z={claude:new Map,codex:new Map},A=s.map((a,c)=>{var d,e;let g,i=v.results.has(c),j=v.results.get(c)??null;i&&null===j&&(y+=1);let m=j?j.turn:"jsonl_turn_open"===a.activityReason?"busy":"jsonl_turn_completed"===a.activityReason?"idle":"unknown",n=j?.lastRecordTs??(Number.isFinite(a.mtimeMs)?a.mtimeMs:null),o=null!==n?Math.max(0,f-n):null,p=function(a,b){for(let c of Object.values(a.entries))if(c.artifactPath===b)return c;return null}(k,a.path),q=function(a,b){if(!a)return{state:"unknown",kind:"none",pid:null};let c="starting"===a.status||"live"===a.status||"idle"===a.status||"handoff"===a.status,d=a.structuredHost?.process??null,e=a.host?{state:(0,bh.eW)(a.host.agent,b)||(0,bh.eW)(a.host.panePid,b)?"alive":"gone",kind:"tmux",pid:a.host.agent.pid}:null,f=d?{state:(0,bh.eW)(d,b)?"alive":"gone",kind:"structured",pid:d.pid}:null;if(!c){let a=e??f;return a?{...a,state:"gone"}:{state:"gone",kind:"none",pid:null}}if(e?.state==="alive")return e;if(f?.state==="alive")return f;if(e)return e;if(f)return f;let g=Date.parse(a.updatedAt);return{state:Number.isFinite(g)&&b.now()-g<3e5?"unknown":"gone",kind:"none",pid:null}}(p,b.probe),r="busy"===m&&"alive"===q.state&&p?.accountId?(d=a.engine,e=p.accountId,(g=z[d]).has(e)||g.set(e,(0,bk.p5)(b.limitsProvenance?.(d,e),f,bk.Lm)),g.get(e)??null):null,s=a.conversationId??function(a,b){for(let c of Object.values(a.conversations))if(c.generations.some(a=>a.path===b)||c.continuityPaths?.includes(b))return c.id;return null}(k,a.path);return{entry:a,conversationId:s,turnState:m,lastRecordMs:n,silentForMs:o,host:q,...function(a){let b=null!==a.silentForMs&&a.silentForMs>=a.stallAfterMs;if("gone"===a.host.state)return"busy"===a.turnState?{lifecycle:"stalled",reason:"host_gone_turn_open"}:{lifecycle:"gone",reason:"host_gone_turn_settled"};if("unknown"===a.host.state){let b=a.startingGraceMs??3e5;return null===a.silentForMs||a.silentForMs<b?{lifecycle:"starting",reason:"launch_unproven"}:"busy"===a.turnState?{lifecycle:"stalled",reason:"launch_unproven_expired"}:{lifecycle:"gone",reason:"launch_unproven_expired"}}return"busy"===a.turnState&&a.providerRetryAt?{lifecycle:"waiting",reason:"provider_throttled",retryAt:a.providerRetryAt}:b?{lifecycle:"stalled",reason:"host_alive_transcript_silent"}:"idle"===a.turnState?{lifecycle:"waiting",reason:"host_alive_turn_idle"}:{lifecycle:"running",reason:"host_alive_turn_active"}}({host:q,turnState:m,silentForMs:o,stallAfterMs:h,providerRetryAt:r}),pipeline:(s?l.byConversation.get(s):void 0)??l.byPath.get(a.path)??null,evidenceSource:i?null!==j?"transcript":"unreadable":"projection"}}),B=n+(performance.now()-x),C=performance.now(),D=A.map(a=>{var b;return{conversationId:a.conversationId,transcriptPath:a.entry.path,project:a.entry.project,engine:a.entry.engine,title:a.entry.title,lastRecordAt:null!==(b=a.lastRecordMs)&&Number.isFinite(b)?new Date(b).toISOString():null,turnState:a.turnState,host:a.host,lifecycle:a.lifecycle,reason:a.reason,retryAt:a.retryAt??null,silentForMs:a.silentForMs,stalledForMs:"stalled"===a.lifecycle||"gone"===a.lifecycle?a.silentForMs:null,pipeline:a.pipeline,evidenceSource:a.evidenceSource}}),E=performance.now()-C;return{observedAt:new Date(f).toISOString(),stallAfterMs:h,count:D.length,stalledCount:D.filter(a=>"stalled"===a.lifecycle).length,stalledConfirmedCount:D.filter(a=>"stalled"===a.lifecycle&&"transcript"===a.evidenceSource).length,conversations:D,selection:{...d,hydrated:v.hydrated,unreadable:y,projected:s.length-v.hydrated,evidenceBytes:v.bytes,budget:v.stopped},timings:{inventorySelectionMs:bA(r),journalProjectionMs:bA(B),evidenceReadMs:bA(w),serializationMs:bA(E),totalMs:bA(performance.now()-e)}}}var bC=c(18027),bD=c(93994);function bE(){return{state:"unreadable",error:"deployment ledger is unreadable"}}let bF=`
88
+ ORDER BY COALESCE(
89
+ julianday(json_extract(state_json, '$.createdAt')),
90
+ julianday(json_extract(state_json, '$.updatedAt'))
91
+ ) DESC,
92
+ COALESCE(updated_at, 0) DESC,
93
+ id DESC
94
+ `;function bG(a=process.env){let b=function(a=process.env){let b=process.getBuiltinModule?.("bun:sqlite");if(!b)return null;try{return new b.Database(function(a=process.env){return a.LLV_RUNTIME_JOURNAL?.trim()||(0,ap.BQ)("runtime-events.sqlite")}(a),{readonly:!0,create:!1})}catch{return null}}(a);if(!b)return bE();try{let a=b.query(`SELECT id, state_json FROM entities WHERE kind = ?${bF} LIMIT 1`).get("deployment");if(!a)return{state:"ok",value:null};let c=function(a,b){try{let c=JSON.parse(a);if(!c||"object"!=typeof c||Array.isArray(c)||c.deploymentId!==b||"string"!=typeof c.revision||"string"!=typeof c.phase)return null;return c}catch{return null}}(a.state_json,a.id);return c?{state:"ok",value:c}:bE()}catch{return bE()}finally{b.close()}}var bH=c(84201),bI=c(80588);function bJ(a,b=200){let c=a.split("\n").find(a=>a.trim())??"";return(0,j.t)(c,b)}function bK(a){let b=new Set;for(let c of a.matchAll(/(?<![\w#])#(\d{1,6})\b/g)){let a=Number(c[1]);Number.isSafeInteger(a)&&a>0&&b.add(a)}return[...b]}let bL=new Set(["pending","queued"]),bM=new Set(["delivering","applying"]),bN=new Set(["delivered","applied","answered"]);async function bO(a,b){let c=await b.operationStatus(a,{currentRetryLeaf:!0});return c?{status:c.receipt.status,reason:c.receipt.reason??null}:null}function bP(a){if(!a)return"unknown";let b=a.status;return bL.has(b)||bM.has(b)?"retained":bN.has(b)?"landed":"failed"===b&&a.reason===bH.WU?"uncertain":"failed"===b||"rejected"===b?"dropped":"uncertain"}async function bQ(a,b){let c=async a=>{try{return await b.journal(a)??"no-record"}catch{return"unreachable"}},d=await b.lookup({conversationId:a.conversationId,clientMessageId:a.clientMessageId});if("absent"===d.kind){if(!a.operationId)return{state:"absent",evidence:{operationId:null,record:null,journal:"unasked"}};let b=await c(a.operationId);return{state:"string"==typeof b?"unknown":bP(b),evidence:{operationId:a.operationId,record:null,journal:b}}}if("found"!==d.kind)return{state:"unknown",evidence:{operationId:a.operationId,record:null,journal:"unasked"}};let e=(a,b)=>({operationId:d.operationId,record:{state:a.state,reason:a.reason,resend:a.resend,settledAt:a.settledAt},journal:b});if(!d.current.readable)return{state:"unknown",evidence:e(d.receipt,"unreachable")};let f=d.current.value;if("in-flight"===f.state){if(!b.settle)return{state:"retained",evidence:e(f,"unasked")};let a=await b.settle(d.operationId);if(!a)return{state:"unknown",evidence:e(f,"unasked")};if("in-flight"===a.state)return{state:"retained",evidence:e(a,"unasked")};f=a}if("delivered"===f.state)return{state:"landed",evidence:e(f,"unasked")};if("safe"===f.resend)return{state:"dropped",evidence:e(f,"unasked")};let g=await c(d.operationId);if("string"==typeof g)return{state:"uncertain",evidence:e(f,g)};let h=bP(g);if("landed"!==h&&"dropped"!==h)return{state:"unknown"===h?"uncertain":h,evidence:e(f,g)};if(!b.settleFromJournal)return{state:h,evidence:e(f,g)};let i=await b.settleFromJournal({conversationId:a.conversationId,operationId:d.operationId,deliveryId:d.deliveryId},g);return"landed"===h?{state:"landed",evidence:{...e(i??f,g),...i?.state==="delivered"?{recorded:"delivered"}:{}}}:i?.resend==="safe"?{state:"dropped",evidence:{...e(i,g),recorded:"lost"}}:{state:"dropped",evidence:{...e(i??f,g),recorded:"refused"}}}async function bR(a,b,c){let d=await c.operationStatus(a,{currentRetryLeaf:!0});if(!d)return"unknown";let e=d.receipt.status;if(bN.has(e)||bM.has(e))return"too-late";if("failed"===e||"rejected"===e)return"withdrawn";if(!bL.has(e))return"unknown";try{let a=await c.transitionOperation(d.operationId,"failed",{reason:b});return"failed"===a.receipt.status?"withdrawn":"too-late"}catch{let a=await c.operationStatus(d.operationId,{currentRetryLeaf:!0});return a&&bN.has(a.receipt.status)?"too-late":"unknown"}}async function bS(a,b,c){let d=(0,bH.nb)(c.status,c.reason);if(!d||"unverified"===d.disposition||"uncertain"===bP(c))return null;try{if("delivered"===d.state)a.recordDeliveryOutcomeForOperation(b.conversationId,b.operationId,"delivered",null,"delivered");else{if(!b.deliveryId)return null;a.recordDeliveryOutcome(b.deliveryId,"failed",c.reason??d.reason,"lost")}}catch{return null}return(0,bH.ak)(a.readOnlySnapshot(),b.operationId)}function bT(){return{seatFor:a=>(function(a,b=au){let c=(0,ar.orchestratorSeatFor)(a);if(c.active)return c;let d=ax(b).find(b=>b.project===a)??null;return d?{...c,active:d}:c})(a),activeSeats:()=>ax().map(a=>a.project),pipelines:()=>(0,bC.loadPipelinesForList)(),archivedPipelines:()=>(0,bC.loadArchivedPipelines)(),tasks:()=>(0,aA.loadTasks)(),registry:()=>(0,as.agentRegistry)(),liveness:async a=>(await bB({...a.conversationId?{conversationId:a.conversationId}:{},...a.project?{project:a.project,liveOnly:!0}:{},stallAfterMs:a.stallAfterMs,limit:a.limit},function(a={}){let b=a.completedFileScan??bm.Nm;return{now:()=>Date.now(),selectInventory:(a,c)=>bp(a,{completedFileScan:b,signal:c?.signal??null}),describeTranscript:bv,registrySnapshot:()=>(0,as.agentRegistry)().readOnlySnapshot(),pipelines:()=>(0,bl.Cz)().pipelines,transcriptEvidence:bu,limitsProvenance:bj.io,probe:(0,bh.AM)()}}())).conversations,lifecycleJournal:bg._1,latestDeployment:bG,retirementReport:()=>{let a=(0,aY.dt)((0,ap.BQ)("host-retirement-report.json"));return a&&"object"==typeof a?a:null},settings:a=>(function(a,b=aZ()){return a1(b).projects[a]??a$(a)})(a),openPullRequests:a=>aE(a),wakeState:async a=>bQ(a,{lookup:a=>(0,bH.Mc)(a),settle:a=>(0,bH.V$)(a),settleFromJournal:(a,b)=>bS((0,as.agentRegistry)(),a,b),journal:async a=>{let b=(0,bD.sS)();if(!b)throw Error("runtime host socket is unavailable");return bO(a,b)}}),originalSend:a=>(0,bH.Mc)(a),withdrawWake:async(a,b)=>{let c;if(a.operationId){let c=(0,bD.sS)();return c?bR(a.operationId,b,c):"unknown"}let d=(c=Object.values((0,as.agentRegistry)().readOnlySnapshot().heldDeliveries).find(b=>b.clientMessageId===a.clientMessageId))?{id:c.id,state:c.state}:null;return d?"delivered"===d.state?"too-late":"held"!==d.state?"unknown":((0,as.agentRegistry)().terminalizeHeldDelivery(d.id,b),"withdrawn"):"unknown"},now:()=>Date.now()}}function bU(a){return!a.closedAt&&!a.hiddenAt&&"completed"!==a.state&&"closed"!==a.state}function bV(a){let b=[a.pausedAt,a.resumedAt,...a.runs.flatMap(a=>a.attempts.flatMap(a=>[a.startedAt,a.completedAt]))].filter(a=>"string"==typeof a&&Number.isFinite(Date.parse(a)));return{id:a.id,task:a.task,project:a.project,state:a.state,createdAt:a.createdAt,closedAt:a.closedAt,...a.spec?{spec:a.spec}:{},activityAt:b}}function bW(a){return{id:a.id,project:a.project,status:a.status,text:a.text,updatedAt:a.updatedAt,assignments:a.assignments?.map(a=>({state:a.state,path:a.path,conversationId:a.conversationId??null}))??[],pipelineIds:a.pipelineIds}}function bX(a){return a?{lifecycle:a.lifecycle,reason:a.reason,turnState:a.turnState}:null}async function bY(a,b,c){let d,e=new Map;try{d=await c.liveness({project:a,stallAfterMs:b.stallAfterMs,limit:60})}catch{return e}for(let a of d){let b=a.pipeline?.pipelineId;if(!b||e.has(b))continue;let c=bX(a);c&&e.set(b,c)}return e}async function bZ(a,b,c){let d=c.seatFor(a).active;if(!d?.conversationId)return null;let e=c.registry().seatTickConversation(d.conversationId),f=e?.turn.state??"unknown",g=null;if("busy"===f)try{let a=await c.liveness({conversationId:d.conversationId,stallAfterMs:b.stallAfterMs,limit:1});g=bX(a[0])}catch{g=null}return{conversationId:d.conversationId,seatEpoch:d.seatEpoch,path:d.path,designatedAt:"string"==typeof d.designatedAt?d.designatedAt:null,turn:f,activity:g}}function b$(a,b,c=[]){let d=(0,ar.canonicalOrchestratorProject)(a),e=[...b.pipelines(),...c].filter(a=>a.repoDir&&(0,ar.canonicalOrchestratorProject)(a.project)===d).sort((a,b)=>Date.parse(b.createdAt)-Date.parse(a.createdAt));return e[0]?.repoDir??null}function b_(a){return e().createHash("sha256").update(a.join("\n")).digest("hex").slice(0,32)}async function b0(a){let b,c,d={pullRequests:[],unavailable:null,gap:a.gap};if(!a.wakeDue||!a.enabled||!a.seat||G(a.seat))return d;let e=new Date(a.now).toISOString(),f=b=>({pullRequests:[],unavailable:b,gap:V(a.gap,b,e)}),g=a.gap;if(g?.gap==="lanes-unreadable"&&!U(g,a.now,a.wakeIntervalMs))return{pullRequests:[],unavailable:g.gap,gap:g};try{b=a.sources.archivedPipelines()}catch{return f("lanes-unreadable")}let h=[...a.sources.pipelines(),...b].filter(b=>{var c;return(0,ar.canonicalOrchestratorProject)(b.project)===a.project&&!(c=b).hiddenAt&&(!!c.closedAt||"completed"===c.state||"closed"===c.state)});if(0===h.length)return d;let i=b$(a.project,a.sources,b);if(!i)return d;if(a.gap&&!U(a.gap,a.now,a.wakeIntervalMs))return{pullRequests:[],unavailable:a.gap.gap,gap:a.gap};try{c=await a.sources.openPullRequests({cwd:i,limit:60})}catch{c={ok:!1,unavailable:"command-failed"}}if(!c.ok)return f(c.unavailable);let k=c.pullRequests,l=new Map;for(let a of h){if(!a.branch)continue;let b=l.get(a.branch);(!b||Date.parse(a.createdAt)>Date.parse(b.createdAt))&&l.set(a.branch,a)}let m=[];for(let a of k){let b=l.get(a.headRefName);b&&m.push({number:a.number,title:(0,j.t)(a.title,120),pipelineId:b.id,pipelineTitle:(0,j.t)(b.task.split("\n")[0]??"",120),updatedAt:a.updatedAt})}return{pullRequests:m.sort((a,b)=>a.number-b.number),unavailable:null,gap:null}}let b1=new Set(["starting","pane-bound","host-verified","prompt-delivered","path-pending"]),b2=new Set(["starting","live","idle","handoff"]),b3=new Set(["pipeline","flow","orchestrator"]);async function b4(a,b,c,d,e){var f;let h,i;if(!b)return{children:[],unavailable:null};if(!c.accounting)return{children:[],unavailable:"registry-unreadable"};let k=new ao(c.accounting.filename,a),l=e.registry(),m=e.now(),n=new Set,o=null===(f=c.accounting.gap)?null:"legacy-migration-pending"===f?"migration-pending":"migration-blocked";o&&n.add(o);let p=[],q=(i=(h=(0,bt.s9)().map(([,a])=>a)).flatMap(a=>{try{return[g().realpathSync(a)]}catch{return[]}}),{recorded:h,resolved:i}),s=(b,c)=>{let d=b.file.lineageEdges[c];return d?function(a,b,c,d,e,f){if("viewer-spawn"!==c.source)return null;let h=b.canonicalConversationId(c.childConversationId);if((a.memberships[h]??[]).some(a=>b3.has(a.kind)))return null;let i=c.evidence.launchId?a.receipts[c.evidence.launchId]??null:null,k=b.conversation(h),l=k?.generations.at(-1)??null,m=k&&l?(0,bf.sz)(k.engine,l.path):null,n=[...new Set([i?.key,c.childSessionKey,m].filter(a=>!!a).map(bf.pp))].flatMap(b=>a.entries[b]?[a.entries[b]]:[]),o=(0,bI.x)({projectOwnership:k?.projectOwnership??null,cwd:i?.cwd??n[0]?.cwd??null,launchProfileProject:i?.launchProfile.project??l?.launchProfile.project??null}).project;if(!o||(0,ar.canonicalOrchestratorProject)(o)!==d)return null;let p=(0,j.t)(i?.launchProfile.title??l?.launchProfile.title??c.role??"spawned child",120),q=function(a,b,c){if(b.some(a=>b2.has(a.status)))return!0;if(!a||!b1.has(a.state))return!1;if("starting"!==a.state)return!0;let d=Date.parse(a.createdAt);return Number.isFinite(d)&&c-d<=as.rK}(i,n,e),r=k?.turn.state??"unknown",s=l?function(a,b){let c,d=(a,b)=>b.some(b=>a===b||a.startsWith(b.endsWith(aH().sep)?b:b+aH().sep));try{c=g().statSync(a)}catch{return{record:null,reason:d(a,b.recorded)?"missing":"outside-roots"}}if(!c.isFile())return{record:null,reason:"missing"};if(!d(a,b.recorded)){let c;try{c=g().realpathSync(a)}catch{return{record:null,reason:"missing"}}if(!d(c,b.resolved))return{record:null,reason:"outside-roots"}}return{record:new Date(c.mtimeMs).toISOString(),reason:null}}(l.path,f):{record:null,reason:"no-transcript"},t=s.record,u=k?.turn.terminalAt??t,v={conversationId:h,title:p,activity:null,lastRecordAt:t,transcript:null===t?"unresolvable":"readable",...s.reason?{transcriptReason:s.reason}:l&&k?{transcriptPath:l.path,engine:k.engine}:{},spawnedAt:c.createdAt},w=c.createdAt;if(i&&(i.rejection||"failed"===i.state||"conflicted"===i.state)){let{transcriptReason:a,...b}=v;return{input:{...b,transcript:"readable",status:"terminal",outcome:"failed",terminalAt:i.rejection?.rejectedAt??i.createdAt},turn:r,hosted:q,createdAt:w}}return k?"terminal"===r?{input:{...v,status:"terminal",outcome:"finished",terminalAt:u},turn:r,hosted:q,createdAt:w}:q?{input:{...v,status:"running",outcome:null,terminalAt:null},turn:r,hosted:q,createdAt:w}:"idle"===r?{input:{...v,status:"terminal",outcome:"finished",terminalAt:u},turn:r,hosted:q,createdAt:w}:"busy"===r?{input:{...v,status:"running",outcome:null,terminalAt:null,activity:{lifecycle:"gone",reason:"host_gone_turn_open",turnState:"busy"}},turn:r,hosted:q,createdAt:w}:{input:{...v,status:"unknown",outcome:null,terminalAt:null},turn:r,hosted:q,createdAt:w}:{input:{...v,status:"unknown",outcome:null,terminalAt:null},turn:r,hosted:q,createdAt:w}}(b.file,(0,as.MA)(b.file),d,a,m,q):null},t=new Map,u=0,v=(...a)=>{let[b,,c,d]=a,e=d?.length===1?t.get(`${b}/${d[0]}`):null;if(e)return e;if(u+c>60)return n.add("ledger-pending"),null;let f=l.pageSeatChildren(...a);for(let a of(u+=f?.keys.length??0,f?.keys??[]))t.set(`${b}/${a}`,f);return f||(n.add("children-unindexed"),null)},w=0x2000000,x=[],y=a=>{let b=v(a.conversationId,a.after,20);if(!b)return!1;let c=[b],d=a.bootstrap,e=b.after;if(a.after||a.bootstrap||b.complete){if(d&&u<=20){let b=v(a.conversationId,d.after,20);b&&(c.push(b),d=b.complete?void 0:{after:b.after})}}else d={after:b.after},e=b.latest??b.after;let f=[];for(let b of c)for(let c of b.keys){let d=b.file.lineageEdges[c],e=s(b,c);e&&d?.evidence.launchId&&f.push({child:k.child(c,a.conversationId,d.evidence.launchId,e.input),position:"terminal"===e.input.status?"head":"tail"})}return k.discovery({...a,after:b.evidenceGap?a.after:e,bootstrap:d},f),(d||c.some(a=>a.evidenceGap||!a.complete))&&n.add("discovery-incomplete"),!0},z=(a,b,c)=>{let d=a.input,e=a.generationIndex,f=b.file.lineageEdges[a.rowKey];if(!c||!f||f.parentConversationId!==a.owner||f.evidence.launchId!==a.launchId){k.ingest({...a,input:{...a.input,status:"unknown",outcome:null}},null,[]),n.add("child-departed");return}a.input=c.input,"unknown"===a.input.status&&(p.push(a.input),n.add("child-unplaced"));let h=(0,as.MA)(b.file).conversation(f.childConversationId),i=h?.generations??[],j=i[a.generationIndex%Math.max(1,i.length)],l=b.file.receipts[a.launchId],m=l?.state==="failed"&&null===l.key&&null===l.artifactPath&&0===i.length;if(!j)return void k.ingest(a,null,[],m);let o=k.source(a,h.engine,j.id),q=o.cursor,r=Math.min(w,0x1000000),s=function(a,b,c,d=256){let e;if(!Number.isSafeInteger(c)||c<1||c>0x4000000)throw Error("invalid ledger budget");if(!Number.isSafeInteger(d)||d<1||d>256)throw Error("invalid ledger outcome budget");let f={...b},h=[],i=0,j=0;try{e=g().openSync(a,g().constants.O_RDONLY|g().constants.O_NOFOLLOW);let k=g().fstatSync(e);if(!k.isFile())throw Error("ledger is not a regular file");let l=`${k.dev}:${k.ino}`;(f.identity!==l||k.size<f.offset)&&(f={...ad(),identity:l,initialSize:k.size,gap:b.identity?"ledger-replaced":b.gap}),"ledger-unreadable"===f.gap&&(f.gap=null);let m=Buffer.allocUnsafe(Math.min(262144,Math.max(c,1))),n=[],o=0,p=!1,q=f.offset,r=!1;for(;!r&&q<k.size&&(!(i>=c)||!(j>0)&&(0!==o||p));){let a=g().readSync(e,m,0,m.length,q);if(!a)break;i+=a,q+=a;let b=0;for(;b<a;){let c=m.indexOf(10,b);if(c<0){let c=m.subarray(b,a);p||((o+=c.length)>0x1000000?(p=!0,n=[],o=0):n.push(Buffer.from(c)));break}let e=q-a+c+1;if(p)f.gap="malformed-record",f.resync=!0,p=!1;else{let a=m.subarray(b,c),d=n.length?Buffer.concat([...n,a]):a;d.length>0x1000000?f.gap="malformed-record":function(a,b,c,d){let e;if(b.indexOf(ae)>=0)e=ag(b);else{let a,c,d=(a=b.subarray(Math.max(0,b.length-48)).toString("latin1").trimEnd(),(c=/"seq":(\d{1,15})\}$/.exec(a))?Number(c[1]):null);e=null!==d?{kind:"",seq:d}:ag(b)}if(!e){a.gap="malformed-record",a.resync=!0;return}a.resync?delete a.resync:e.seq!==a.seq+1&&(a.gap="sequence-gap"),a.seq=e.seq,"turn-started"===e.kind?"string"==typeof e.turnId&&e.turnId?a.activeTurn=e.turnId:a.gap="invalid-turn-start":"turn-ended"===e.kind&&("string"==typeof e.turnId&&e.turnId.length>0&&af.has(String(e.status))?((null===a.activeTurn||a.activeTurn===e.turnId)&&(a.activeTurn=null,a.settledThrough=e.seq),d.push({turnId:e.turnId,status:e.status,seq:e.seq,endOffset:c})):a.gap="invalid-terminal")}(f,d,e,h)}if(n=[],o=0,f.offset=e,j++,b=c+1,h.length>=d){r=!0;break}}}f.atEnd=f.offset===k.size}catch(b){let a="ENOENT"===b.code;f.gap=a?f.identity?"ledger-missing":f.gap:"ledger-unreadable",f.atEnd=!1}finally{void 0!==e&&g().closeSync(e)}return{cursor:f,outcomes:h,bytes:i,records:j}}(aH().join((0,ap.BQ)("structured-host-events"),`${encodeURIComponent(j.id)}.jsonl`),o.cursor,r);o.cursor=s.cursor,s.cursor.atEnd&&null===s.cursor.activeTurn&&s.cursor.settledThrough>0&&("idle"===c.turn||"terminal"===c.turn)&&(a.input={...a.input,status:"terminal",outcome:"finished"}),w-=s.bytes,null!==o.cursor.gap&&n.add("ledger-gap"),a.generationIndex=(a.generationIndex+1)%i.length;let t=!s.cursor.atEnd&&(s.bytes>=r||s.outcomes.length>=256);"terminal"===a.input.status&&0===s.bytes&&0===s.outcomes.length&&s.cursor.atEnd&&a.generationIndex===e&&JSON.stringify(q)===JSON.stringify(s.cursor)&&JSON.stringify(d)===JSON.stringify(a.input)?x.push(a):k.ingest(a,o,s.outcomes,!1,t?"head":"tail"),t&&"busy"!==c.turn&&n.add("ledger-pending")};try{let c=k.owner(b.conversationId,b.seatEpoch);if(k.discoverRevokedOwners((0,ap.BQ)("orchestrator-seats.json"),b=>(0,ar.canonicalOrchestratorProject)(b)===a)&&n.add("discovery-incomplete"),y(c)){let a=k.page("owner-poll",1)[0];if(u<=20&&a?.kind==="owner-poll"){let b=k.get(a.target);if(!b||"owner"!==b.kind)throw Error("missing owner provenance");let d=b.pollKey?b:k.owner(b.conversationId,b.epoch);d.pollKey!==a.key?k.drop(a):d.key!==c.key&&y(d)}}let f=new Set,g=k.page("running",8);for(let a of g){if("running"!==a.kind)continue;let b=k.get(a.target);if(!b||"child"!==b.kind)throw Error("missing running child");let c=v(b.owner,null,1,[b.rowKey]);if(!c)break;let g=s(c,b.rowKey);if((!g||"running"!==g.input.status||"idle"===g.turn||"terminal"===g.turn)&&(w>0?z(b,c,g):(k.promote(b),n.add("ledger-pending")),!g||"running"!==g.input.status||"running"!==b.input.status))continue;let h=g.input;if("busy"===g.turn&&g.hosted)try{h={...h,activity:bX((await e.liveness({conversationId:h.conversationId,stallAfterMs:d.stallAfterMs,limit:1}))[0])}}catch{h={...h,activity:null}}p.push(h),f.add(b.key)}for(let a of(k.rotateRunning(g.slice(0,4)),k.pollPage(40))){if(w<=0)break;if("poll"!==a.kind)throw Error("invalid poll ticket");let b=k.get(a.target);if(!b||"child"!==b.kind)throw Error("missing child provenance");if((b=k.adoptPoll(b,a.key)).pollKey!==a.key){k.drop(a);continue}if(u>=40&&!t.has(`${b.owner}/${b.rowKey}`))break;let c=v(b.owner,null,1,[b.rowKey]);if(!c)break;let d=s(c,b.rowKey);z(b,c,d),"running"!==b.input.status||f.has(b.key)||(p.push(b.input),f.add(b.key))}for(let a of(k.rotateCold(x),k.ready(20))){let b=k.get(a.child);if(!b||"child"!==b.kind)throw Error("missing ready child");let c=v(b.owner,null,1,[b.rowKey]);if(!c)break;let d=s(c,b.rowKey);if(!d||c.file.lineageEdges[b.rowKey]?.parentConversationId!==b.owner){k.defer(a),n.add("child-departed");continue}let{terminalAt:e,lastRecordAt:f,transcript:g,transcriptReason:h,transcriptPath:i,engine:j,spawnedAt:l}=d.input,{transcriptReason:m,transcriptPath:o,...q}=a.input;p.push({...q,terminalAt:e,lastRecordAt:f,transcript:g,...h?{transcriptReason:h}:{},...i?{transcriptPath:i,engine:j}:{},...l?{spawnedAt:l}:{},...void 0===b.harvestedEpoch?{}:{harvestedEpoch:b.harvestedEpoch}})}}catch{n.add("registry-unreadable")}return{children:p,unavailable:r.find(a=>n.has(a))??null}}async function b5(a,b,c,d){var e,f,g,h;let i,k,l,n,o,p,q,r,s,t,u=d.now(),v=(0,ar.canonicalOrchestratorProject)(a),w=a3(d.settings(v),u,36e5),x=await bZ(v,c,d),y=d.pipelines().filter(a=>bU(a)&&(0,ar.canonicalOrchestratorProject)(a.project)===v),z=y.map(bV).map(a=>{var b,c;let d;return{kind:"pipeline",id:a.id,title:bJ(`${a.task}
95
+ ${a.spec??""}`),project:a.project||null,state:"completed"===(b=a.state)||"closed"===b?"terminal":"needs_decision"===b||"paused"===b||"draft"===b?"inert":"active",owner:`pipeline ${a.id}`,updatedAt:0===(d=[...a.activityAt??[],...(c=a.closedAt)?[c]:[]].filter(a=>Number.isFinite(Date.parse(a)))).length?null:d.reduce((a,b)=>Date.parse(b)>Date.parse(a)?b:a),references:bK(`${a.task} ${a.spec??""}`),monitorRef:null}}),A=y.length>0?await bY(v,c,d):new Map,B=y.map((a,b)=>({id:a.id,title:z[b].title,state:z[b].state,updatedAt:z[b].updatedAt,stageActivity:A.get(a.id)??null,stageId:a.cursor?.stageId??null})),C=(e=d.tasks(),f=[...d.pipelines()],e.map(a=>({...a,pipelineIds:f.filter(b=>b.taskIds.includes(a.id)).map(a=>a.id)}))).filter(a=>(0,ar.canonicalOrchestratorProject)(a.project)===v),D=C.map(bW).map(a=>{var b;let c;return{kind:"task",id:a.id,title:bJ(a.text),project:a.project||null,state:"done"===(b=a.status)?"terminal":"blocked"===b?"inert":"active",owner:(c=a.pipelineIds?.[0])?`pipeline ${c}`:a.assignments?.find(a=>"delivered"===a.state||"spawning"===a.state||"handoff"===a.state||"linked"===a.state)?"an assigned agent":null,updatedAt:a.updatedAt||null,references:bK(a.text),monitorRef:m(a.text)}}),E=C.map((a,b)=>({id:a.id,title:D[b].title,status:a.status,owned:null!==D[b].owner,updatedAt:a.updatedAt??null})),F=function(a,b,c,d){if(!b)return[];let e=[];for(let f of d.pipelines()){if((0,ar.canonicalOrchestratorProject)(f.project)!==a||f.srcConversationId!==b.conversationId)continue;let d=function(a){if(a.hiddenAt||a.dismissedAt||a.closedAt||"closed"===a.state)return null;let b=a.runs.flatMap(a=>a.attempts);if("completed"===a.state)return"completed";if("needs_decision"===a.state||"needs_decision"===a.pausedState)return 0===b.length?"provisioning-failed":"needs_decision";let c=b.reduce((a,b)=>{let c=Date.parse(b.completedAt??b.startedAt??""),d=a?Date.parse(a.completedAt??a.startedAt??""):-1/0;return Number.isFinite(c)&&c>=d?b:a},null);return c?.state==="failed"?"failed":c?.state==="needs_decision"?"needs_decision":"running"===a.state&&1===b.length?"provisioned":null}(f);d&&!("provisioned"===d&&c.includes(f.id))&&e.push({id:f.id,title:(0,j.t)(f.task.split("\n")[0]??"",120),settled:d,updatedAt:bV(f).activityAt.reduce((a,b)=>!a||Date.parse(b)>Date.parse(a)?b:a,null)??f.createdAt??null,..."provisioning-failed"===d?{detail:(0,j.t)(f.stateDetail??"",160)||null}:{}})}let f=a=>a.updatedAt?Date.parse(a.updatedAt):NaN;return e.sort((a,b)=>(f(b)||0)-(f(a)||0)||a.id.localeCompare(b.id)).slice(0,20)}(v,x,b.announcedLanes??[],d),G=new Set(d.pipelines().filter(bU).map(a=>a.id)),{events:H,cursor:I}=(g=b.eventsThrough,k=Math.max((i=d.lifecycleJournal()).lastSeq,i.events.at(-1)?.seq??0),null===g?{events:[],cursor:k}:{events:(0,bg.Vj)(i,{project:v,afterSeq:g,limit:200}).events.map(a=>({seq:a.seq,at:a.at,type:a.type,summary:a.summary,pipelineId:a.pipelineId,pipelineTerminal:null!==a.pipelineId&&!G.has(a.pipelineId)})),cursor:g}),{children:J,unavailable:K}=await b4(v,x,b,c,d),L=x?K?V(b.childrenGap,K,new Date(u).toISOString()):null:b.childrenGap,M=b.harvestedChildren,{pullRequests:N,unavailable:O,gap:P}=await b0({project:v,seat:x,wakeDue:S(b.lastWakeAt,u,w.wakeIntervalMs),enabled:w.enabled,now:u,wakeIntervalMs:w.wakeIntervalMs,gap:b.pullRequestGap,sources:d});return{project:v,now:u,seat:x,pipelines:B,tasks:E,events:H,pullRequests:N,pullRequestsUnavailable:O,signals:(l=[],(o="ok"===(n=d.latestDeployment()).state?n.value:null)&&o.terminal&&"succeeded"!==o.phase&&l.push({id:"deploy",label:`the last deployment ended ${o.phase}`}),p=d.retirementReport(),q=p?.refused.filter(a=>a.undetermined).length??0,p&&(p.failed.length>0||q>0)&&l.push({id:"host-retirement",label:`host retirement: ${p.failed.length} failed, ${q} undetermined`}),r=x?.activity,x&&"busy"===x.turn&&r&&("gone"===(h=r).lifecycle||"stalled"===h.lifecycle&&"busy"===h.turnState)&&l.push({id:"seat-host",label:`the seat's own turn is ${r.lifecycle} in ${v} (${r.reason})`}),l),ownLanes:F,children:J,childrenUnavailable:K,changeFingerprint:(s=[...B.map(a=>`p:${a.id}:${a.state}:${a.updatedAt??""}`),...E.map(a=>`t:${a.id}:${a.status}:${a.owned}:${a.updatedAt??""}`),...J.map(a=>`c:${a.conversationId}:${a.outcomeId??""}:${a.status}:${a.terminalAt??""}`),...F.map(a=>`o:${a.id}:${a.settled}:${a.updatedAt??""}`)].sort(),t=N.map(a=>`pr:${a.number}:${a.pipelineId}`).sort(),`${b_(s)}.${O?W:b_(t)}`),state:{...b,eventsThrough:I,pullRequestGap:P,childrenGap:L,harvestedChildren:M,accounting:b.accounting?new ao(b.accounting.filename,v).readState().accounting:void 0},policy:c,settings:w}}let b6="seat-tick-wake-unresolved",b7=a=>`${b6}-${e().createHash("sha256").update(a).digest("hex").slice(0,16)}`;function b8(a,b,c){return(0,aA.mutateTasksFile)(d=>{let e,f=d.tasks.find(c=>(0,ar.canonicalOrchestratorProject)(c.project)===a&&"done"!==c.status&&m(c.text)===b.ref);if("resolved"===b.state){if(!f)return{state:void 0,result:!0};let a=(0,az.patchTask)(d.tasks,f.id,{status:"done"});return a.ok?{state:{tasks:a.tasks,recentCreates:d.recentCreates},result:!0}:{state:void 0,result:!1}}let g=function(a,b,c){var d,e,f,g,h,i,m,n,q,r;if("no-seat"===b.kind)return d=b.detail,(0,j.t)(`Conversation monitor cannot resolve a live orchestrator
96
+
97
+ The monitor resolves the orchestrator through the durable record, never a transcript path. ${d}.
98
+ Until a live orchestrator is adopted, monitor runs report their findings on the board only — nothing is delivered in chat.
99
+ Observed ${c.slice(0,16).replace("T"," ")} UTC.
100
+
101
+ ${k} ${l}`,5e3);if("source-unreadable"===b.kind)return b.ref===p("children")?(e=b.detail,f=b.ref,(0,j.t)(`Seat tick cannot fully account for the seat's spawned children
102
+
103
+ ${e}.
104
+ Wakes continue on every reason that does not depend on it, and each one names the missing evidence; a finished worker whose outcome is owed, or a stalled one, is what cannot be named while this stands.
105
+ The tick keeps asking on every check and reports nothing further until every child is accounted for — this card is raised once per outage.
106
+ Project ${a}. Observed ${c.slice(0,16).replace("T"," ")} UTC.
107
+
108
+ ${k} ${f}`,5e3)):(g=b.detail,h=b.ref,(0,j.t)(`Seat tick cannot read one of its evidence sources
109
+
110
+ ${g}.
111
+ Wakes continue on every reason that does not depend on it, and each one names the missing evidence; an unmerged pull request left by a finished lane is what cannot be seen while this stands.
112
+ The tick keeps asking, at this project's wake interval, and reports nothing further until the source answers — this card is raised once per outage.
113
+ Project ${a}. Observed ${c.slice(0,16).replace("T"," ")} UTC.
114
+
115
+ ${k} ${h}`,5e3));if("wake-unresolved"===b.kind)return i=b.detail,m=b.ref,(0,j.t)(`Seat tick wake unresolved under its original key
116
+
117
+ ${i}.
118
+ Nothing the wake carried is acknowledged: every outcome and lane event it named stays owed until a wake that lands names it.
119
+ Project ${a}. Observed ${c.slice(0,16).replace("T"," ")} UTC.
120
+
121
+ ${k} ${m}`,5e3);if("tick-settings"===b.kind){let c,d;return n={project:a,detail:b.detail,reason:b.settings?.reason??null,until:b.settings?.until??null,setBy:b.settings?.setBy??null,updatedAt:b.settings?.updatedAt??null},c=n.setBy?.project&&n.setBy.project!==n.project,d=n.setBy?`Set by ${"manager"===n.setBy.kind?"the designated seat":"gateway"===n.setBy.kind?"the operator's own session":"agent"===n.setBy.kind?"an agent session":"a caller nothing identified"}${n.setBy.conversationId?` (${n.setBy.conversationId})`:""}${c?`, whose own project is ${n.setBy.project}`:""}.`:"Set by nobody the record names.",(0,j.t)(["This project's seat tick is not on its default settings\n",`${n.detail}.`,`Reason given: ${n.reason??"none recorded"}.`,n.until?`It returns to the default at ${n.until.slice(0,16).replace("T"," ")} UTC.`:"It stands until someone changes it back.",d,`Project ${n.project}. Recorded ${n.updatedAt?`${n.updatedAt.slice(0,16).replace("T"," ")} UTC`:"at an unrecorded time"}.`,"Change it with the seat tick settings tool; this card clears itself once the project is back on the defaults.\n",`${k} ${o}`].join("\n"),5e3)}return q=b.detail,r=b.ref,(0,j.t)(`Seat tick stopped re-sending a wake reason
122
+
123
+ ${q}.
124
+ Project ${a}. Observed ${c.slice(0,16).replace("T"," ")} UTC.
125
+ The tick resumes this reason on its own once the board or a pipeline moves.
126
+
127
+ ${k} ${r}`,5e3)}(a,b,c);if(f){if("open"!==b.state||f.text===g)return{state:void 0,result:!0};let a=(0,az.patchTask)(d.tasks,f.id,{text:g});return a.ok?{state:{tasks:a.tasks,recentCreates:d.recentCreates},result:!0}:{state:void 0,result:!0}}let h=(0,az.createTask)(d.tasks,{project:a,text:g,placement:"unplaced",clientRequestId:(e=b.instance?`${b.ref}:${b.instance}`:b.ref,`monitor-741:${e}`)},d.recentCreates);return h.ok?h.replay?{state:void 0,result:!0}:{state:{tasks:h.tasks,recentCreates:h.recentCreates},result:!0}:{state:void 0,result:!1}},(0,ap.BQ)("tasks.json"))}function b9(a){if(!a.ok)return!1;switch(a.outcome){case"held":case"queued":case"delivering":case"pending":return!1;default:return!0}}function ca(a){return a.ok?a.outcome??"delivered":"failed"}function cb(a){return a.ok?null:`the delivery layer would not take the wake: ${(0,j.t)(a.error||"no reason was returned",ce)}`}let cc="the seat tick revoked a wake raised for a seat that has since been replaced";async function cd(a,b){try{let c=await a.wakeState(b);return"string"==typeof c?{observed:c,evidence:null,reason:""}:{observed:c.state,evidence:c.evidence,reason:""}}catch(a){return{observed:"unreadable",evidence:null,reason:(0,j.l)(a instanceof Error?a.message:"unknown error")}}}let ce=200;function cf(a){if(!a)return null;let b=[];if(a.record){let c=a.record,d="delivered"===c.state?"delivered":"in-flight"===c.state?"in flight":"safe"===c.resend?"failed, proven lost":"failed, unverified";b.push(`delivery record: ${d}${c.reason?` — ${(0,j.t)(c.reason,ce)}`:""}`)}else b.push("delivery record: nothing under the key");b.push(a.operationId?`operation ${a.operationId}`:"no operation named");let c=a.journal;return b.push("no-record"===c?"runtime journal holds no record of it":"unreachable"===c?"runtime journal unreachable":"unasked"===c?"runtime journal not asked":`runtime journal: ${c.status}${c.reason?` — ${(0,j.t)(c.reason,ce)}`:""}`),"lost"===a.recorded&&b.push("the delivery record was settled lost on the journal's own verdict"),"delivered"===a.recorded&&b.push("the delivery record was settled delivered on the journal's own verdict"),"refused"===a.recorded&&b.push("the delivery record could not take the journal's verdict and keeps its own answer; the release rests on the journal alone"),b.join("; ")}function cg(a){if("unreadable"===a.observed)return`could not be read${a.reason?` (${a.reason})`:""}`;let b=cf(a.evidence);return`answered "${a.observed}"${b?` (${b})`:""}`}function ch(a,b){let c=cf(b.evidence);return c?`${a}; ${c}`:a}function ci(a,b){let c=["the delivery record or the runtime journal reporting the operation delivered, which credits the plan the wake was raised on","the journal reporting it rejected or failed before actuation, or the record proving it lost, which releases the key and lets the next check raise the wake again","the seat being superseded by a different conversation at a higher epoch, which retires the attempt and lets the successor's own wake go out",`its age bound${b?` at ${b.slice(0,16).replace("T"," ")} UTC`:" — two of this project's wake intervals, and never less than an hour, from when it was prepared"}, which retires it unresolved: it is never re-sent and credits nothing, and the obligations it named are re-derived by the next check, which may wake the seat`];return a?.journal==="no-record"&&a.operationId&&c.push(`the runtime journal holds no record under operation ${a.operationId}, so an operator discard of that operation cannot reach it; supersession and the age bound are the exits left that need no new evidence`),c}function cj(a){return a.supersededBy?"retired to a superseded seat":"retired unresolved on its age bound"}async function ck(a){let b=a.state,c=[...b.retiredWakes];if(!c.length)return b;for(let d of c){let c=d.wake,e=await cd(a.sources,c),f=e.observed,g=null;if("landed"===f)g={verdict:"landed",outcome:"landed",detail:d.supersededBy?"a wake retired to a superseded seat was delivered to it after all; nothing it carried is credited, because the seat that received it no longer holds this project, so every obligation it named is still owed and the successor's own wake carries it":"a wake retired unresolved on its age bound was delivered after all; nothing it carried is credited, because the check that retired it re-derived every obligation it named into a later wake"};else if("dropped"===f)g={verdict:"dropped",outcome:"dropped",detail:`the layer holding a wake ${cj(d)} settled it without delivering it; the obligations it named were never credited and remain owed`};else if("retained"===f){let b;try{b=await a.sources.withdrawWake(c,d.supersededBy?cc:"the seat tick revoked a wake it retired unresolved after its age bound, whose obligations a later wake carries")}catch{b="unknown"}"withdrawn"===b&&(g={verdict:"revoked",outcome:"withdrawn",detail:d.supersededBy?"a wake retired to a superseded seat was taken out of the queue holding it before it could reach that seat":"a wake retired unresolved on its age bound was taken out of the queue holding it, so the wake that replaced it is the only one this seat receives"})}else"absent"!==f||c.operationId||c.dispatch?.state==="active"||(g={verdict:"revoked",outcome:"unsent",detail:`the layer holding a wake ${cj(d)} affirms it holds nothing under its key and no transport call is outstanding: the attempt is released unsent, and it is never re-dispatched because `+(d.supersededBy?"the seat it was prepared for has been replaced":"the check that retired it already re-derived every obligation it named")});if(!g){let b=Date.parse(c.preparedAt??d.retiredAt);if(Number.isFinite(b)&&a.now-b>=a.wakeIntervalMs||"uncertain"===f){let b=`A wake prepared ${(c.preparedAt??d.retiredAt).slice(0,16).replace("T"," ")} UTC for seat epoch ${c.seatEpoch},${d.supersededBy?` which epoch ${d.supersededBy.seatEpoch} has since replaced,`:" retired unresolved on its age bound,"} is still unresolved under its original key; the layer holding it last ${cg(e)}. The attempt is never re-sent and nothing it named is credited, and it no longer holds back this project's wakes. Check the delivery record under its client message id ${c.clientMessageId}`;try{a.ensureCard(a.project,{ref:b7(c.clientMessageId),kind:"wake-unresolved",instance:c.clientMessageId,detail:b},a.at)}catch(a){console.error("[seat tick] card write failed",a instanceof Error?a.name:"unknown")}}continue}if(b.accounting){let d=new ao(b.accounting.filename,a.project);if(!d.settleRetired(c.clientMessageId)){b=d.readState();continue}b=d.readState()}else b={...b,retiredWakes:b.retiredWakes.filter(a=>a.wake.clientMessageId!==c.clientMessageId)},a.writeState(a.project,b);a.appendRecord({schemaVersion:1,at:a.at,project:a.project,seatEpoch:c.seatEpoch,verdict:g.verdict,reasons:[],items:0,deferred:0,eventsThrough:b.eventsThrough??0,delivery:{clientMessageId:c.clientMessageId,outcome:g.outcome},detail:ch(g.detail,e)})}return b}async function cl(a){var b,c,d,e,f,g,h,i,k,l,m,n;let o,p,q,r,s=a.state.outstandingWake;if(!s)return a.state;let t=a.state,u=b=>{if(b.accounting){let c=new ao(b.accounting.filename,a.project);return c.writeState(b),c.readState()}return a.writeState(a.project,b),b};s.preparedAt||(t=u({...t,outstandingWake:{...s,preparedAt:a.at}}));let v=t.outstandingWake,w=Date.parse(v.preparedAt),x=Number.isFinite(w)&&a.now-w>=a.wakeIntervalMs,y=!a.seat||a.seat.conversationId!==v.conversationId||a.seat.seatEpoch!==v.seatEpoch,z=await cd(a.sources,v),A=z.observed,B=z.reason,C=null,D=null,E=null;if("landed"===A)C={verdict:"landed",outcome:"landed",row:"commit",detail:"a wake the delivery layer had kept reached the seat; the wake stamp and the event cursor move now, on the plan the check that raised it wrote down"};else if("dropped"===A)C={verdict:"dropped",outcome:"dropped",row:"clear",detail:"the layer holding the wake settled it without delivering it, so no stamp moves and the next check may raise it again"};else if(y)if("retained"===A){let b;try{b=await a.sources.withdrawWake(v,cc)}catch(a){b="unknown",B=(0,j.l)(a instanceof Error?a.message:"unknown error")}C="withdrawn"===b?{verdict:"revoked",outcome:"withdrawn",row:"clear",detail:"a wake the delivery layer had accepted but not landed was taken out of its queue before it could reach the replaced seat"}:"too-late"===b?{verdict:"revoked",outcome:"too-late",row:"keep",detail:"the wake raised for the replaced seat could not be taken back: the layer holding it had already let it go, so the replaced seat may have received it; the attempt is kept under its original key until the holder settles it"}:{verdict:"revoked",outcome:"unknown",row:"keep",detail:`the wake raised for the replaced seat could not be revoked: the layer holding it did not answer${B?` (${B})`:""}; it is asked again at the next check`}}else if("uncertain"===A)C={verdict:"uncertain",outcome:"uncertain",row:"keep",detail:"the layer holding the wake raised for the replaced seat ended it without proving arrival; the original key and all obligations remain outstanding, and no wake replaces it"};else if("absent"===A&&!v.operationId&&v.text&&v.dispatch?.state==="refused"&&t.accounting){let b=new ao(t.accounting.filename,a.project);if(!b.settleAbsent(v))return b.readState();t=b.readState(),C={verdict:"revoked",outcome:"unsent",row:"clear",detail:"the wake raised for the replaced seat was refused by the delivery layer before it reserved anything, and the record holds nothing under its key and the returned dispatch token was fenced atomically: the attempt is released unsent with nothing it named acknowledged, and the successor's next check raises its own wake"}}else C={verdict:"revoked",outcome:"unknown",row:"keep",detail:`the wake raised for the replaced seat could not be revoked: no holder could account for it${B?` (${B})`:""}; it is asked again at the next check`};else if("uncertain"===A)C={verdict:"uncertain",outcome:"uncertain",row:"keep",detail:"the layer holding the wake ended it without proving arrival; the original key and all obligations remain outstanding, and no wake replaces it"};else if("absent"===A&&!v.operationId&&v.text&&(!v.dispatch||"refused"===v.dispatch.state)&&a.deliver){let b=t.accounting?new ao(t.accounting.filename,a.project).readState():t,c=a.sources.seatFor(a.project).active;if(b.outstandingWake?.clientMessageId!==v.clientMessageId)return b;if(!c||c.conversationId!==v.conversationId||c.seatEpoch!==v.seatEpoch)return t;let d=t.accounting?new ao(t.accounting.filename,a.project):null;if(!d)return t;let e=d.beginDispatch(v);if(t=d.readState(),!e)return t;v=t.outstandingWake;let f=null;try{f=await a.deliver({pid:null,path:c.path??a.seat?.path??"",conversationId:v.conversationId,clientMessageId:v.clientMessageId,text:v.text,images:[],origin:{kind:"agent",role:"seat-tick"}}),D=ca(f),E=cb(f)}catch(a){D="unreturned",E=`the transport call did not return: ${(0,j.t)(a instanceof Error?a.message:"unknown error",ce)}`}if(f){if(d.returnedDispatch(v.clientMessageId,e,!f.ok&&!f.operationId&&"started"!==f.actuation&&"verify-first"!==f.resend),t=d.readState(),t.outstandingWake?.clientMessageId!==v.clientMessageId)return t;v=t.outstandingWake}f&&b9(f)?C={verdict:"landed",outcome:"landed",row:"commit",detail:"a wake the delivery layer had refused without keeping a record was re-dispatched under its original key and reached the seat; the wake stamp and the event cursor move now, on the plan the check that raised it wrote down"}:f?.operationId&&(v=(t=u({...t,outstandingWake:{...v,operationId:f.operationId}})).outstandingWake)}C?.row==="clear"&&v.dispatch?.state==="active"&&(C={...C,row:"keep",outcome:"unknown",detail:"the delivery record was fenced, but its admitted transport call has not returned; the original attempt remains outstanding until that call is accounted for"});let F=!C||"keep"===C.row,G=F?(o=(c=(b={seat:a.seat,wake:v,observed:A,now:a.now,wakeIntervalMs:a.wakeIntervalMs}).seat,d=b.wake,!c?.conversationId||c.seatEpoch<=d.seatEpoch||c.conversationId===d.conversationId?null:{conversationId:c.conversationId,seatEpoch:c.seatEpoch}))?{reason:"seat-superseded",supersededBy:o}:(e=b.wake,f=b.observed,g=b.now,h=b.wakeIntervalMs,null!==f&&aV.has(f)||e.dispatch?.state==="active"||aS(e.preparedAt??null,g,h))?null:{reason:"unresolved-age",supersededBy:null}:null,H=!1,I=null;if(G)if(t.accounting){let b=new ao(t.accounting.filename,a.project),c=b.retire(v,a.at,G,a.now-aQ(a.wakeIntervalMs));H=c.retired,I=c.evicted,t=b.readState()}else t.retiredWakes.length<20&&(t=u({...t,outstandingWake:null,retiredWakes:[...t.retiredWakes,{wake:v,retiredAt:a.at,...G}],releasedWake:{clientMessageId:v.clientMessageId,releasedAt:a.at}}),H=!0);let J=aR(v.preparedAt??null,a.wakeIntervalMs);if(F&&(x||"uncertain"===A)){let b=`A wake prepared ${v.preparedAt.slice(0,16).replace("T"," ")} UTC for ${y?"a seat that has since been replaced":"this seat"} is still unresolved under its original key; the layer holding it last ${cg(z)}${D?`, and a re-dispatch under the same key answered "${D}"${E?` — ${E}`:""}`:""}.`+(H?"seat-superseded"===G.reason?" The attempt is kept under that seat, never re-sent and crediting nothing, and it no longer holds back this project's wakes.":" The attempt is retired unresolved on its age bound, never re-sent and crediting nothing: it no longer holds back this project's wakes, and the next check re-derives everything it named.":" The tick keeps the attempt and dispatches no replacement wake for this project until it lands or the delivery record proves it never actuated."+(i=z.evidence,` What ends it: ${ci(i,J).join("; ")}.`))+` Check the seat's conversation for the wake and the delivery record under its client message id ${v.clientMessageId}`;try{a.ensureCard(a.project,{ref:b7(v.clientMessageId),kind:"wake-unresolved",instance:v.clientMessageId,detail:b},a.at)}catch(a){console.error("[seat tick] card write failed",a instanceof Error?a.name:"unknown")}}if(!C&&!H)return t;let K=C?.row==="commit"?ac(t,v.commit,a.now):C?.row==="clear"?{...t,outstandingWake:null,releasedWake:{clientMessageId:v.clientMessageId,releasedAt:a.at}}:t;if(a.appendRecord({schemaVersion:1,at:a.at,project:a.project,seatEpoch:v.seatEpoch,verdict:H?"retired":C.verdict,reasons:[],items:0,deferred:0,eventsThrough:K.eventsThrough??0,delivery:{clientMessageId:v.clientMessageId,outcome:C?.outcome??A},detail:ch(H?(k=C?.detail??null,l=G,m=v,n=I,p="seat-superseded"===l.reason?`the attempt is retired to seat epoch ${m.seatEpoch}, which epoch ${l.supersededBy.seatEpoch} has replaced`:`the attempt is retired unresolved on its age bound: it has been fenced since ${(m.preparedAt??"").slice(0,16).replace("T"," ")} UTC with nothing proving its delivery either way`,q="unresolved-age"===l.reason?"; every obligation it named is still owed and the next check derives its own wake from them":"",r=n?`; the retained-attempt bound was full, so the entry fenced longest ago, under key ${n}, was dropped from the row — it credited nothing and fenced nothing, and its own retirement stands in this journal`:"",`${k?`${k}; `:""}${p}: it keeps its original key, is never re-sent, credits nothing whatever becomes of it, and no longer withholds this project's wakes${q}${r}`):C.detail,z)}),H)return t;if("keep"===C.row)return K;if(t.accounting){let b=new ao(t.accounting.filename,a.project);return b.settle(v.clientMessageId,K,"commit"===C.row?"landed":"unsent"),b.readState()}return a.writeState(a.project,K),K}async function cm(a,b={}){let c=void 0===b.policy?A():b.policy;if(!c)return null;let d=b.appendRecord??aJ,e=(0,ar.canonicalOrchestratorProject)(a);try{return await cn(e,c,b,d)}catch(b){let a={schemaVersion:1,at:new Date().toISOString(),project:e,seatEpoch:null,verdict:"error",reasons:[],items:0,deferred:0,eventsThrough:0,delivery:null,detail:`the check failed: ${(0,j.l)(b instanceof Error?b.message:"unknown error")}`};return d(a),a}}async function cn(a,b,c,d){var f,h,i,m,q,r,s,t,u,v,w,x,y,z,A;let J,P=c.sources??bT(),T=c.readState??bd,U=c.writeState??be,V=c.deliver??aq.Ku,W=c.ensureCard??b8,Y=await co(a,c),ad=P.now(),ae=P.seatFor(a).active??null,af=function(a,b,c){try{return a3(c.settings(a),b,36e5).wakeIntervalMs}catch{return 36e5}}(a,ad,P),ag=await ck({project:a,state:ba(T(a),ae?.seatEpoch??null),sources:P,appendRecord:d,writeState:U,ensureCard:W,at:new Date(ad).toISOString(),now:ad,wakeIntervalMs:af}),ah=await cl({project:a,state:ag,seat:ae,sources:P,appendRecord:d,writeState:U,ensureCard:W,deliver:V,at:new Date(ad).toISOString(),now:ad,wakeIntervalMs:af}),ai=await b5(a,ah,b,P),aj=new Date(ai.now).toISOString(),ak={...ai,state:ba(ai.state,ai.seat?.seatEpoch??null)},al={...J=function(a){var b,c,d,e;let f,g,h=new Date(a.now).toISOString(),i={...a.state,lastCheckAt:h};if(!a.seat)return{verdict:{kind:"no-seat",detail:"the project has open work and no active orchestrator seat"},state:{...i,seatEpoch:null},cards:[{ref:l,kind:"no-seat",detail:"No active orchestrator seat holds this project, so the tick has nothing to wake"}]};if(G(a.seat))return{verdict:{kind:"skipped",reason:"seat-busy"},state:i,cards:[]};let j={...i,seatEpoch:a.seat.seatEpoch,eventsThrough:function(a,b){let c=b;for(let b of a){if(F(b))break;c=Math.max(c??b.seq,b.seq)}return c}(a.events,i.eventsThrough)},k=function(a){let b={now:new Date(a.now),stallAfterMs:null},c=[];for(let d of a.pipelines){if(!B(d))continue;let a=function(a,b){if("terminal"===a.state)return null;if("inert"===a.state)return`${a.kind} ${a.id} is parked`;if(null===b.stallAfterMs)return null;let c=b.stallAfterMs??1728e5,d=a.updatedAt?Date.parse(a.updatedAt):NaN;return Number.isFinite(d)&&b.now.getTime()-d>c?`${a.kind} ${a.id} is live but shows no movement past the stall threshold`:null}({kind:"pipeline",id:d.id,state:d.state,updatedAt:d.updatedAt},b);if(a){c.push({pipeline:d,reason:a});continue}let e=d.stageActivity;if(e&&("stalled"===e.lifecycle||"gone"===e.lifecycle)){let a=d.stageId?` stage ${d.stageId}`:"";c.push({pipeline:d,reason:`pipeline ${d.id}${a} runs a turn the registry reports ${e.lifecycle} (${e.reason})`})}}return c}(a),m=function(a){let b=[];for(let c of a.children){if(!C(c))continue;let a=c.activity;a&&H(a)&&b.push({child:c,reason:`child ${c.conversationId} runs a turn the registry reports ${a.lifecycle} (${a.reason})`})}return b}(a),o=[...k.map(a=>a.pipeline.id),...m.map(a=>E(a.child))],p=R(a),q=new Map,r=(a,b)=>{let c=q.get(a.conversationId);(!c||L.indexOf(b)<L.indexOf(c))&&q.set(a.conversationId,b)},s=a.children.filter(D).sort((a,b)=>{let c=a=>{let b=a.terminalAt?Date.parse(a.terminalAt):NaN;return Number.isFinite(b)?b:1/0};return c(a)-c(b)||a.conversationId.localeCompare(b.conversationId)}).filter(b=>{let c=O(b,a.seat,b.outcomeId??null,M);return c&&r(b,c),null===c}),t=new Set(a.state.childrenShown??[]),u=(function(a){let b=[],c=new Map;for(let d of a){let a=c.get(d.conversationId);if(!a){b.push(d.conversationId),c.set(d.conversationId,{child:d,outcomeIds:d.outcomeId?[d.outcomeId]:[]});continue}a.child=d,d.outcomeId&&a.outcomeIds.push(d.outcomeId)}return b.map(a=>c.get(a))})(s).filter(b=>{let c=O(b.child,a.seat,b.child.outcomeId??null,t);return c&&r(b.child,c),null===c}),v=m.filter(b=>{let c=O(b.child,a.seat,null,t);return c&&r(b.child,c),null===c}),w=a.children.filter(C).filter(b=>{let c=O(b,a.seat,null,M);return c&&r(b,c),null===c});for(let a of[...u.map(a=>a.child),...v.map(a=>a.child),...w])q.delete(a.conversationId);let x=function(a,b,c){let d=[],e=new Set,f=0;for(let g of a){if("unreadable"!==b.get(g.conversationId)||e.has(g.conversationId))continue;e.add(g.conversationId);let a=ab(g);if(c.has(a)){f+=1;continue}d.length>=5||d.push({conversationId:g.conversationId,title:g.title,reason:aa(g.transcriptReason),stateToken:a})}return{named:d,unchanged:f}}(a.children,q,t),y={stale:N(q,"stale"),unreadable:N(q,"unreadable")-x.named.length-x.unchanged,unchanged:N(q,"unchanged")+x.unchanged},z=k.filter(b=>a.state.stalledSeen.includes(b.pipeline.id)),A=v.filter(b=>a.state.stalledSeen.includes(E(b.child))),J=a.children.filter(a=>"unknown"===a.status).length,P=a.tasks.filter(b=>(function(a,b,c){if("assigned"!==a.status||a.owned)return!1;let d=a.updatedAt?Date.parse(a.updatedAt):NaN;return Number.isFinite(d)&&b-d<c})(b,a.now,a.policy.backlogAfterMs)),T=a.tasks.filter(a=>"assigned"===a.status&&!a.owned).length-P.length,U=a.pipelines.some(B)||a.tasks.some(a=>"inbox"===a.status||"assigned"===a.status)||a.pullRequests.length>0||R(a).length>0||a.children.some(b=>C(b)&&Q(b,a.seat))||a.children.some(b=>D(b)&&Q(b,a.seat)),V=u.length>0||A.length>0,W=w.filter(a=>!H(a.activity)),Y=V?3e5:W.length>0?9e5:1/0,ac=(b=a.state.lastWakeAt,S(b,a.now,Math.min(a.settings.wakeIntervalMs,Y))),ad={...j,stalledSeen:o};if(!a.settings.enabled)return{verdict:{kind:"quiet",detail:a.settings.reason?`ticking is off for this project: ${a.settings.reason}`:"ticking is off for this project"},state:_(ad,h),cards:[]};let ae=a.events.filter(F),af=[];if(ac){if(p.length>0){let a=p[0],b=p.length>1?` and ${p.length-1} more`:"";af.push({kind:"own-lane-settled",detail:`a lane you launched is ${a.settled}${b}`})}if(ae.length>0){let a=ae[0],b=ae.length>1?` and ${ae.length-1} more`:"";af.push({kind:"lane-event",detail:`${a.type} since the last delivered wake${b}`})}if(u.length>0){let a=u[0],b=u.length>1?` and ${u.length-1} more`:"";af.push({kind:"child-terminal",detail:`a spawned child ${a.child.outcome??"finished"} and its outcome is unharvested${b}`})}if(a.pullRequests.length>0){let b=a.pullRequests[0],c=a.pullRequests.length>1?` and ${a.pullRequests.length-1} more`:"";af.push({kind:"unmerged-pr",detail:`pull request #${b.number}${c} left open by a lane that finished`})}if((z.length>0||A.length>0)&&af.push({kind:"stalled",detail:(z[0]??A[0]).reason}),P.length>0){let a=T>0?`, and ${T} older than the backlog bound the wake no longer names`:"";af.push({kind:"unstarted-task",detail:`${P.length} assigned board task(s) nothing has started${a}`})}let b=a.pipelines.some(B)||w.length>0||a.signals.length>0;U&&b&&0===af.length&&af.push({kind:"interval",detail:"the wake interval elapsed while work is open"})}let ag=[],ah=[],ai=0;for(let b of af){if(c=a.state,d=b.kind,e=a.changeFingerprint,(X(c.lastWakeFingerprint,e)?0:c.wakesWithoutChange[d]??0)>=a.policy.retryGuard){ai+=1,ag.push({ref:n(b.kind),kind:"retry-guard",detail:`Wakes for "${b.kind}" stopped producing any board or pipeline change; the tick has stopped re-sending it until state moves`});continue}ah.push(b)}let aj=(f=[],(g=a.pullRequestsUnavailable)&&f.push({source:"pull-requests",gap:g,detail:`the open pull requests of this project's finished lanes could not be read (${g}), so a pull request a finished lane left unmerged cannot be named in this wake`}),a.childrenUnavailable&&f.push({source:"children",gap:a.childrenUnavailable,detail:`the seat's spawned children could not be read (${a.childrenUnavailable}): ${Z(a.childrenUnavailable)}, so a running or finished worker cannot be named in this wake`}),f),ak=$(a,"pull-requests");ak&&ag.push(ak.card);let al=$(a,"children");al&&ag.push(al.card);let am=ak?.gap??null,an=al?.gap??null;if(ah.length>0){let b=function(a){let{input:b}=a,c=[];for(let a of b.pullRequests)c.push({kind:"pull-request",id:`#${a.number}`,label:`${a.title} — open pull request from ${a.pipelineTitle}, unmerged since that lane finished`});let d=new Set(b.pullRequests.map(a=>a.pipelineId));for(let b of a.ownLanes)d.has(b.id)||c.push({kind:"provisioned"===b.settled?"provisioning":"pipeline",id:b.id,label:function(a){if("provisioned"===a.settled)return`${a.title} — lane you launched: provisioned, first stage running`;if("provisioning-failed"===a.settled)return`${a.title} — lane you launched: provisioning failed, it never ran a stage: ${a.detail||"no reason recorded"}`;let b="completed"===a.settled?"completed, and nobody has closed it out":"failed"===a.settled?"a stage failed":"parked on a decision";return`${a.title} — lane you launched: ${b}`}(b)});for(let b of a.laneEvents)c.push({kind:"event",id:b.pipelineId??b.type,label:`${b.type}: ${b.summary}`});for(let b of a.harvest){let{child:a}=b,d=I(a);c.push({kind:"child",id:a.conversationId,outcomeId:a.outcomeId,outcomeIds:b.outcomeIds,stateTokens:[K(a,a.outcomeId??null),K(a,null),...d?[]:[ab(a)]],label:d?`${a.title} — spawned child ${a.outcome??"finished"}, outcome unharvested`:`${a.title} — spawned child ${a.outcome??"finished"}, transcript not readable: ${aa(a.transcriptReason)}`,...d&&a.transcriptPath?{finalMessageFrom:{path:a.transcriptPath,engine:a.engine??null}}:{}})}let e=new Set(a.ownLanes.map(a=>a.id));for(let b of a.stalled)e.has(b.pipeline.id)||c.push({kind:"pipeline",id:b.pipeline.id,label:`${b.pipeline.title} — ${b.reason}`});for(let b of a.stalledChildren)c.some(a=>"child"===a.kind&&a.id===b.child.conversationId)||c.push({kind:"child",id:b.child.conversationId,stateTokens:[K(b.child,null)],label:`${b.child.title} — ${b.reason}`});for(let b of a.unstarted)c.push({kind:"task",id:b.id,label:`${b.title} — assigned, nothing started it`});for(let a of b.pipelines)B(a)&&(c.some(b=>b.id===a.id)||c.push({kind:"pipeline",id:a.id,label:`${a.title} — open`}));for(let b of a.runningChildren)c.some(a=>a.id===b.conversationId)||c.push({kind:"child",id:b.outcomeId??b.conversationId,label:`${b.title} — spawned child running`});for(let a of b.signals)c.push({kind:"signal",id:a.id,label:a.label});return c}({input:a,ownLanes:p,stalled:z,stalledChildren:A,harvest:u,runningChildren:w,laneEvents:ae,unstarted:P});return{verdict:{kind:"wake",reasons:ah,items:b.slice(0,a.policy.itemsPerWake),deferred:Math.max(0,b.length-a.policy.itemsPerWake),skippedChildren:y,unreadableChildren:x.named,gaps:aj},state:ad,cards:ag,reportedSourceGap:am,reportedChildrenGap:an}}if(aj.length>0){let a=aj[0],b="children"===a.source?"the seat's spawned children":"the open pull requests of this project's finished lanes",c="children"===a.source?`: ${Z(a.gap)}`:"";return{verdict:{kind:"error",detail:`${b} could not be read (${a.gap})${c}, so nothing owed is not established`},state:ad,cards:ag,reportedSourceGap:am,reportedChildrenGap:an}}if(ai>0)return{verdict:{kind:"quiet",detail:"every wake reason is held by the retry guard"},state:_(ad,h),cards:ag};let ao=J>0?`; ${J} spawned child(ren) in an unknown state`:"";if(!U){let b={..._(ad,h),idleSince:a.state.idleSince??h};return ac&&S(a.state.lastProposalAt,a.now,a.policy.proposalIntervalMs)?{verdict:{kind:"proactive",detail:`no open lane, no unblocked task, and the proposal slot is due${ao}`},state:b,cards:[]}:{verdict:{kind:"quiet",detail:`the board is done and the proposal slot is not due${ao}`},state:b,cards:[]}}return{verdict:{kind:"quiet",detail:`nothing owed${ao}`},state:{..._(ad,h),idleSince:null},cards:[]}}(ak),cards:[...J.cards,...function(a){var b;let c=a.settings;if(!c.configured)return[];let d={reason:c.reason,until:c.until,setBy:c.setBy,updatedAt:c.updatedAt};return[{ref:o,kind:"tick-settings",state:c.isDefault?"resolved":"open",settings:d,detail:(b=c).isDefault?b.lapsed?"the recorded tick setting reached its expiry, so this project is back on the default wake interval":"this project is on the default tick settings":b.enabled?`wakes for this project are set to one every ${Math.round(b.wakeIntervalMs/6e4)} minute(s)`:"ticking is off for this project: no wake will be sent until it is turned back on"}]}(ak)]};if(ak.settings.lapsed)try{let a;(c.writeSettings??a2)(ak.project,(f=ak.project,h=ak.settings,a=a$(f),h.monitorPrompt?{...a,monitorPrompt:h.monitorPrompt,updatedAt:h.updatedAt,setBy:h.setBy}:a))}catch(a){console.error("[seat tick] lapsed settings could not be persisted",a instanceof Error?a.name:"unknown")}let am=al.state;for(let a of al.cards){let b=!1;try{b=W(ak.project,a,aj)}catch(a){console.error("[seat tick] card write failed",a instanceof Error?a.name:"unknown")}b&&"source-unreadable"===a.kind&&(a.ref===p("pull-requests")&&al.reportedSourceGap&&(am={...am,pullRequestGap:al.reportedSourceGap}),a.ref===p("children")&&al.reportedChildrenGap&&(am={...am,childrenGap:al.reportedChildrenGap}))}let an=null,ap=null,ar=null,as=al.verdict,at=ak.children.filter(a=>"terminal"===a.status).map(a=>a.outcomeId??a.conversationId);if(("wake"===as.kind||"proactive"===as.kind)&&ak.seat){let a,f,h,l,n=(i=ak.project,m=ak.seat.seatEpoch,q={fingerprint:ak.changeFingerprint,lastWakeAt:ak.state.lastWakeAt,releasedWake:ak.state.releasedWake??null,monitorPrompt:ak.settings.monitorPrompt},a="wake"===as.kind?as.reasons.map(a=>a.kind).sort().join(","):"proposal",function(a,b,c){if((0,ay.sS)(a))return a;let d=`:${c}:digest-${e().createHash("sha256").update(a).digest("hex").slice(0,32)}`,f=`seat-tick:${b}`;return`${f.slice(0,Math.max(0,ay.b9-d.length))}${d}`}(`seat-tick:${i}:${m}:${q.lastWakeAt??"first"}:${a}:${q.fingerprint}`+((w=q.monitorPrompt)?`:prompt-${e().createHash("sha256").update(w).digest("hex").slice(0,16)}`:"")+((x=q.releasedWake??null)?`:after-${e().createHash("sha256").update(x.clientMessageId).digest("hex").slice(0,16)}`:""),i,m)),o="wake"===as.kind?(r={project:ak.project,reasons:as.reasons,items:function(a,b=function(a,b){try{let c=g().statSync(a);if(!c.isFile())return null;let d=(0,aL.He)(a,c.size,c.mtimeMs),e=(0,aK.uc)(d,"codex"===b?"codex-sessions":"claude-projects",c.mtimeMs),f=e?.text.replace(/\s+/g," ").trim();return f?(0,j.t)(f,600):null}catch{return null}}){return a.map(a=>{if(!a.finalMessageFrom)return a;let c=b(a.finalMessageFrom.path,a.finalMessageFrom.engine);return c?{...a,finalMessage:c}:a})}(as.items),deferred:as.deferred,skippedChildren:as.skippedChildren,unreadableChildren:as.unreadableChildren,signals:ak.signals,gaps:as.gaps,monitorPrompt:ak.settings.monitorPrompt},f=[`Seat tick — ${r.project}.`,"","Why you were woken:",...r.reasons.map(a=>`- ${a.kind}: ${a.detail}`)],r.gaps&&r.gaps.length>0&&f.push("","Evidence unavailable:",...r.gaps.map(a=>`- ${a.source}: ${a.detail}.`)),f.push("","Items:",...r.items.map(aO)),r.deferred>0&&f.push(`(${r.deferred} more item(s) held back for the next wake.)`),r.skippedChildren&&r.skippedChildren.stale>0&&f.push(`(${r.skippedChildren.stale} spawned child(ren) not listed: their last activity predates this seat's designation, or an earlier seat epoch already harvested them.)`),r.unreadableChildren&&r.unreadableChildren.length>0&&f.push("","Spawned children whose transcript the Viewer cannot read (not work, named once):",...r.unreadableChildren.map(a=>`- ${a.conversationId} — ${a.title}: ${a.reason}`)),r.skippedChildren&&r.skippedChildren.unreadable>0&&f.push(`(${r.skippedChildren.unreadable} more spawned child(ren) whose transcript the Viewer cannot resolve, named by a later wake.)`),r.skippedChildren&&r.skippedChildren.unchanged>0&&f.push(`(${r.skippedChildren.unchanged} spawned child(ren) not listed: nothing has changed about them since the wake that showed them.)`),r.signals.length>0&&f.push("","Signals:",...r.signals.map(a=>`- ${a.label}`)),aM(f,[...aP(r.monitorPrompt),"","Contract:",...aN.map(a=>`- ${a}`)])):(s={project:ak.project,issues:await (c.proposalIssues??cp)(ak.project,P),signals:ak.signals,items:b.itemsPerWake,slot:String(Math.floor(ak.now/b.proposalIntervalMs)),monitorPrompt:ak.settings.monitorPrompt},h=[`Seat tick — ${s.project}. No lane is open and no board task is waiting, and the proposal slot is due.`,"","Open issues:",...s.issues.length>0?s.issues.map(a=>`- #${a.number} ${a.title}${a.labels.length>0?` [${a.labels.join(", ")}]`:""}`):["- (none readable; rank from the board and the signals below)"]],s.signals.length>0&&h.push("","Signals:",...s.signals.map(a=>`- ${a.label}`)),aM(h,["",`Produce ONE ranked list of at most ${s.items} actions, each with the evidence behind it, and post it as a single board card in inbox for this project.`,"Rank by what actually matters now: what is blocking, what is cheap and finishes something, what has been waiting longest.",`Put this exact line at the foot of the card so the next tick recognizes it: ${k} ${(l=s.slot,`seat-tick-proposal-${l}`)}`,"Open no GitHub issue and start no pipeline from this — the operator moves a card to assigned when they want it, and the next tick starts it.",...aP(s.monitorPrompt),"","Contract:",...aN.map(a=>`- ${a}`)])),p=P.seatFor(ak.project).active,B=!p||p.seatEpoch!==ak.seat.seatEpoch||p.conversationId!==ak.seat.conversationId,C=aU(am,{conversationId:ak.seat.conversationId},ak.now,ak.settings.wakeIntervalMs),D=null!==C,E=function(a,b){let{fingerprint:c,eventsThrough:d}=b;if("proactive"===a.kind)return{proposal:!0,reasons:[],fingerprint:c,eventsThrough:d,children:[],announcedLanes:[],shownChildren:[]};if("wake"!==a.kind)return null;let e=new Set(b.terminalChildren??[]),f=[...new Set([...a.items.flatMap(a=>a.stateTokens??[]),...(a.unreadableChildren??[]).map(a=>a.stateToken)])],g=a.items.filter(a=>"child"===a.kind).flatMap(a=>a.outcomeIds?.length?a.outcomeIds:[a.outcomeId??a.id]).filter(a=>e.has(a)),h=a.items.filter(a=>"provisioning"===a.kind).map(a=>a.id);return{proposal:!1,reasons:a.reasons.map(a=>a.kind),fingerprint:c,eventsThrough:d,children:g,announcedLanes:h,shownChildren:f}}(as,{fingerprint:ak.changeFingerprint,eventsThrough:ak.events.at(-1)?.seq??am.eventsThrough??0,terminalChildren:at});if(B)an={clientMessageId:n,outcome:"seat-rotated"};else if(D)an={clientMessageId:n,outcome:"deferred-outstanding"},ap=aX(C);else if(E){let a={clientMessageId:n,conversationId:ak.seat.conversationId,seatEpoch:ak.seat.seatEpoch,operationId:null,commit:E,text:o,preparedAt:aj},b=am.accounting?new ao(am.accounting.filename,ak.project):null;if(b?b.prepare(am,a):!am.outstandingWake){am=b?b.readState():{...am,outstandingWake:a},b||U(ak.project,am);let c=P.seatFor(ak.project).active;if(c&&c.seatEpoch===a.seatEpoch&&c.conversationId===a.conversationId){let e=b?.beginDispatch(a);b&&(am=b.readState());let f=null;try{if(b&&!e)throw Error("wake dispatch already claimed");f=await V({pid:null,path:c.path??ak.seat.path??"",conversationId:c.conversationId,clientMessageId:n,text:o,images:[],origin:{kind:"agent",role:"seat-tick"}}),an={clientMessageId:n,outcome:ca(f)},ar=cb(f)}catch(a){an={clientMessageId:n,outcome:"unreturned"},ar=`the transport call for the wake did not return: ${(0,j.t)(a instanceof Error?a.message:"unknown error",ce)}`}if(b&&e&&f&&(b.returnedDispatch(n,e,!f.ok&&!f.operationId&&"started"!==f.actuation&&"verify-first"!==f.resend),am=b.readState()),f&&b9(f)){let a=ac(am,E,ak.now);b?(b.settle(n,a,"landed"),am=b.readState()):am=a}else f?.operationId&&am.outstandingWake&&(am={...am,outstandingWake:{...am.outstandingWake,operationId:f.operationId}},b?(b.writeState(am),am=b.readState()):U(ak.project,am)),am=await cl({project:ak.project,state:am,seat:P.seatFor(ak.project).active??null,sources:P,appendRecord:d,writeState:U,ensureCard:W,at:aj,now:ak.now,wakeIntervalMs:ak.settings.wakeIntervalMs})}else an={clientMessageId:n,outcome:"seat-rotated"},b?(b.cancelUndispatched(a),am=b.readState()):am={...am,outstandingWake:null}}else{let a,c=b?b.readState():am;c.accounting?.revision!==am.accounting?.revision&&(am=c),an={clientMessageId:n,outcome:c.accounting?.gap?"accounting-blocked":"deferred-outstanding"};let d=c.accounting?.gap?null:(t={conversationId:ak.seat.conversationId},aU(c,t,u=ak.now,v=ak.settings.wakeIntervalMs)??(c.outstandingWake?(y=c.outstandingWake,z=u,A=v,a=y.preparedAt??null,aT("outstanding",y,a,A,!aS(a,z,A))):null));d&&(ap=aX(d))}}}U(ak.project,am);let au={schemaVersion:1,at:aj,project:ak.project,seatEpoch:ak.seat?.seatEpoch??null,verdict:as.kind,reasons:"wake"===as.kind?as.reasons.map(a=>a.kind):[],items:"wake"===as.kind?as.items.length:0,deferred:"wake"===as.kind?as.deferred:0,eventsThrough:am.eventsThrough??0,delivery:an,detail:[Y,"skipped"===as.kind?"the seat's turn is progressing; the tick is dropped, never queued":"wake"===as.kind?[...as.reasons.map(a=>a.detail),...as.gaps.map(a=>a.detail)].join("; "):as.detail,ap,ar].filter(a=>!!a).join("; ")||null};return d(au),au}async function co(a,b){try{let d=b.reconcileSeat??(async a=>{let{reconcileActiveOrchestratorSeat:b}=await c.e(1585).then(c.bind(c,1585));return b(a)}),e=await d(a);if(!e)return null;let f=e.restored;return`the seat this check opened on was stillborn and has been rolled back: ${(0,j.l)(e.terminalized.seat.intent.error??"no reason was recorded")}; ${f?.conversationId?`the project is designated on ${f.conversationId} again at epoch ${f.seatEpoch}`:"the project is left undesignated, which is what create_orchestrator answers"}`}catch(a){return console.error("[seat tick] the active seat could not be reconciled",a instanceof Error?a.name:"unknown"),null}}async function cp(a,b){let c=b$(a,b);return c?aF({cwd:c}):[]}async function cq(){try{let{viewerReleaseOwnsTraffic:a}=await Promise.resolve().then(c.bind(c,94972));return a()}catch(a){return console.error("[seat tick] traffic authority is unreadable",a instanceof Error?a.name:"unknown"),!0}}function cr(a=aw,b=a=>console.error(a)){try{let c=a();c.length>0&&b(`[seat tick] recorded ${c.length} project identity succession(s) for seated projects`);let d=function(a=aZ()){return a1(a).projects}();for(let[a,b]of Object.entries(d)){let c=(0,ar.canonicalOrchestratorProject)(a);c===a||d[c]||a2(c,{...b,project:c})}let e=function(a=a4()){for(let b of Object.keys(function(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if(!b||"object"!=typeof b||Array.isArray(b))return{version:2,projects:{}};let c=!("number"==typeof b.version&&b.version>=2),d=b.projects??{};return{version:2,projects:Object.fromEntries(Object.entries(d).map(([a,b])=>[a,a9(b,c)]))}}catch{return{version:2,projects:{}}}}(a).projects))bc(b,a);let b=bb(a);return Object.fromEntries(new ao(b,"").collection.snapshot().flatMap(a=>"project"===a.kind?[[a.project,{...a.state,accounting:{filename:b,revision:a.revision,gap:a.gap}}]]:[]))}();for(let[a,b]of Object.entries(e)){let c=(0,ar.canonicalOrchestratorProject)(a);c===a||e[c]||be(c,{...b,accounting:void 0})}}catch(a){b(`[seat tick] project identity succession failed: ${a instanceof Error?a.name:"unknown"}`)}}async function cs(a={}){let b=a.sources??bT(),c=a.appendRecord??aJ;if(!await (a.ownsTraffic??cq)()){let a="this release no longer owns viewer traffic, so the seats belong to the promoted one";console.error(`[seat tick] refused: ${a}`);try{c({schemaVersion:1,at:new Date().toISOString(),project:"",seatEpoch:null,verdict:"refused",reasons:[],items:0,deferred:0,eventsThrough:0,delivery:null,detail:`the seat tick sweep was refused and this process's clock stopped: ${a}`})}catch{}return cv(),[]}cr(a.recordSuccessions);let d=[];for(let c of function(a){let b=new Set(a.activeSeats().map(ar.canonicalOrchestratorProject));for(let c of a.pipelines())bU(c)&&c.project&&b.add((0,ar.canonicalOrchestratorProject)(c.project));for(let c of a.tasks())("inbox"===c.status||"assigned"===c.status)&&c.project&&b.add((0,ar.canonicalOrchestratorProject)(c.project));return[...b].sort()}(b))try{let e=await cm(c,{...a,sources:b});e&&d.push(e)}catch(a){console.error("[seat tick] check could not be journaled",a instanceof Error?a.name:"unknown")}return d}let ct=globalThis;function cu(a={}){let b=a.log??(a=>console.error(a));if(ct.__llvSeatTickTimer){let c="this process already holds the seat tick — exactly one ticker per seat";b(`[seat tick] refused: ${c}`);try{(a.appendRecord??aJ)({schemaVersion:1,at:new Date().toISOString(),project:"",seatEpoch:null,verdict:"refused",reasons:[],items:0,deferred:0,eventsThrough:0,delivery:null,detail:`a second seat tick start was refused: ${c}`})}catch{}return!1}cr(a.recordSuccessions,b);let c=void 0===a.policy?A():a.policy;if(!c)return b("[seat tick] not started: LLV_SEAT_TICK_CHECK_MINUTES=0 turns the tick off"),!1;let d=a.scheduleInterval??((a,b)=>setInterval(a,b)),e=a.sweep??(()=>cs()),f=d(()=>{ct.__llvSeatTickRunning||(ct.__llvSeatTickRunning=!0,Promise.resolve(e()).catch(a=>console.error("[seat tick] sweep failed",a instanceof Error?a.name:"unknown")).finally(()=>{ct.__llvSeatTickRunning=!1}))},c.checkIntervalMs);return f.unref?.(),ct.__llvSeatTickTimer=f,!0}function cv(){let a=ct.__llvSeatTickTimer;a&&clearInterval(a),ct.__llvSeatTickTimer=void 0,ct.__llvSeatTickRunning=!1}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=261,exports.ids=[261],exports.modules={20261:(a,b,c)=>{c.d(b,{IE:()=>n,On:()=>i,Z1:()=>j,mD:()=>r,to:()=>o,v1:()=>k});var d=c(77598),e=c.n(d),f=c(96428),g=c(13696);let h=function(a,b){return b.conversationId&&a.conversationId?a.conversationId===b.conversationId:b.launchId&&a.launchId?a.launchId===b.launchId:b.clientAttemptId&&a.clientAttemptId?a.clientAttemptId===b.clientAttemptId:!!b.path&&a.path===b.path};function i(a){let b={launchId:a.launchId??null,clientAttemptId:a.clientAttemptId??null,conversationId:a.conversationId??null,path:a.path??null,engine:a.engine??null,accountId:a.accountId??null};return m(b)?b:null}function j(a){let b=a.clientAttemptId??a.launchId;if(b)return{kind:"launch",key:b};let c=a.conversationId??a.path;return c?{kind:"conversation",key:c}:null}function k(a,b){return a.some(a=>a.assignments.some(a=>"failed"!==a.state&&h(a,b)))}function l(a,b,c){let d=a.assignments.findIndex(a=>h(a,b));if(d>=0){let e=a.assignments[d],f={...e,...b.launchId&&!e.launchId?{launchId:b.launchId}:{},...b.clientAttemptId&&!e.clientAttemptId?{clientAttemptId:b.clientAttemptId}:{},...b.conversationId&&!e.conversationId?{conversationId:b.conversationId}:{},path:e.path??b.path??null,...b.engine&&!e.engine?{engine:b.engine}:{},...b.accountId&&!e.accountId?{accountId:b.accountId}:{}};if(JSON.stringify(f)===JSON.stringify(e))return{task:a,changed:!1};let g=a.assignments.slice();return g[d]=f,{task:{...a,assignments:g,updatedAt:c},changed:!0}}let e={...b.launchId?{launchId:b.launchId}:{},...b.clientAttemptId?{clientAttemptId:b.clientAttemptId}:{},path:b.path??null,...b.conversationId?{conversationId:b.conversationId}:{},panePid:null,state:"linked",error:null,at:c,...b.engine?{engine:b.engine}:{},...b.accountId?{accountId:b.accountId}:{}},f="inbox"===a.status?"assigned":a.status;return{task:{...a,status:f,assignments:[...a.assignments,e],updatedAt:c},changed:!0}}function m(a){return!!(a.launchId||a.clientAttemptId||a.conversationId||a.path)}function n(a,b,c={}){var d;let g,i=b.project.trim();if(!i&&!b.explicitTaskIds?.length)return{ok:!1,error:"project is required",status:400};if(!b.origin.key.trim())return{ok:!1,error:"membership origin key is required",status:400};if(!m(b.identity))return{ok:!1,error:"membership needs a launch, conversation or path identity",status:400};let j=c.now?.()??(0,f.Ec)(),k=a.slice(),o=!1,p=(a,b)=>{b.changed&&(k[a]=b.task,o=!0)},q=k.filter(a=>a.assignments.some(a=>{var c;return"failed"!==a.state&&((c=b.identity).launchId&&a.launchId?a.launchId===c.launchId:!!c.clientAttemptId&&a.clientAttemptId===c.clientAttemptId)})),r=k.find(a=>a.project===(i||a.project)&&a.origin?.kind===b.origin.kind&&a.origin.key===b.origin.key);if(b.explicitTaskIds?.length){let c=[...new Set(b.explicitTaskIds)];if(r&&!c.includes(r.id))return{ok:!1,error:"this launch was admitted without a task target; a retry cannot add one",status:409};if(q.length&&(q.length!==c.length||q.some(a=>!c.includes(a.id))))return{ok:!1,error:"this launch was admitted with a different task target set; a retry keeps the original",status:409};let d=c.map(a=>k.findIndex(b=>b.id===a)),e=d.findIndex(a=>a<0);if(e>=0)return{ok:!1,error:`task ${c[e]} is not available`,status:404};let f=new Set(d.map(a=>k[a].project));if(f.size>1||i&&!f.has(i))return{ok:!1,error:"explicit tasks must belong to the launch's project",status:409};for(let a of d)p(a,l(k[a],b.identity,j));return{ok:!0,tasks:o?k:a.slice(),taskIds:c,created:[],changed:o}}let s=k.findIndex(a=>a.project===i&&a.origin?.kind===b.origin.kind&&a.origin.key===b.origin.key);if(s>=0)return p(s,l(k[s],b.identity,j)),{ok:!0,tasks:o?k:a.slice(),taskIds:[k[s].id],created:[],changed:o};let t=k.map((a,b)=>({task:a,index:b})).filter(({task:a})=>a.assignments.some(a=>"failed"!==a.state&&h(a,b.identity)));if(t.length){for(let{index:a}of t)p(a,l(k[a],b.identity,j));return{ok:!0,tasks:o?k:a.slice(),taskIds:t.map(({task:a})=>a.id),created:[],changed:o}}let u=(b.inherit??[]).filter(m),v=k.map((a,b)=>({task:a,index:b})).filter(({task:a})=>u.some(b=>a.assignments.some(a=>"failed"!==a.state&&h(a,b))));if(v.length){for(let{index:a}of v)p(a,l(k[a],b.identity,j));return{ok:!0,tasks:o?k:a.slice(),taskIds:v.map(({task:a})=>a.id),created:[],changed:o}}let w=c.id?.()??e().randomUUID(),x=l({id:w,project:i,status:"inbox",text:(d=b.title,(g=(d??"").split(/\r?\n/,1)[0]?.trim()??"")?g.length>80?`${g.slice(0,79).trimEnd()}…`:g:"Untitled task"),placement:"unplaced",origin:{kind:b.origin.kind,key:b.origin.key,refinement:"pending"},assignments:[],createdAt:j,updatedAt:j},b.identity,j).task;for(let a of u)x=l(x,a,j).task;return{ok:!0,tasks:k=[...k,x],taskIds:[w],created:[w],changed:!0}}function o(a,b){return(0,g.mutateTasks)(b=>{let c=n(b,a);return{tasks:c.ok&&c.changed?c.tasks:void 0,result:c}},b)}function p(a){return!(!a.project||!a.path||a.path.startsWith("spawn:"))&&("claude-projects"===a.root||"codex-sessions"===a.root)&&!a.path.includes("/subagents/")}let q=(a,b)=>!!(b.conversationId&&a.conversationIds.has(b.conversationId))||a.paths.has(b.path);function r(a,b,c){return(0,g.mutateTasks)(c=>{let d=function(a,b,c,d=50){let e=function(a){let b={conversationIds:new Set,paths:new Set,launches:new Map};for(let c of a)for(let a of c.assignments)if("failed"!==a.state)for(let d of(a.conversationId&&b.conversationIds.add(a.conversationId),a.path&&b.paths.add(a.path),[a.launchId,a.clientAttemptId])){if(!d)continue;let a=b.launches.get(d)??[];a.includes(c.id)||a.push(c.id),b.launches.set(d,a)}return b}(b),f=[],g=new Set,h=new Map(a.map(a=>[a.path,a])),i=b=>(b.agentPath?h.get(b.agentPath):void 0)??(b.conversationId?a.find(a=>a.conversationId===b.conversationId):void 0);for(let a of c){if(a.hiddenAt)continue;let b=a.runs.flatMap(a=>a.attempts).map(i).filter(a=>!!a);for(let a of b)g.add(a.path);if(!a.taskIds.length)for(let c of b)q(e,c)||f.length>=d||(f.push({project:c.project,origin:{kind:"pipeline",key:a.id},title:a.task,identity:{conversationId:c.conversationId??null,path:c.path,engine:"claude"===c.engine||"codex"===c.engine?c.engine:null}}),e.paths.add(c.path),c.conversationId&&e.conversationIds.add(c.conversationId))}let j=(a,b)=>{let c=function(a,b){let c=[b.spawn?.launchId,b.spawn?.clientAttemptId].filter(a=>!!a),d=new Set;for(let b of c)for(let c of a.launches.get(b)??[])d.add(c);return[...d]}(e,a);c.length?f.push({project:a.project,origin:{kind:"launch",key:a.spawn?.clientAttemptId??a.spawn?.launchId??a.path},identity:{launchId:a.spawn?.launchId??null,clientAttemptId:a.spawn?.clientAttemptId??null,conversationId:a.conversationId??null,path:a.path},explicitTaskIds:c}):f.push({project:a.project,origin:{kind:"conversation",key:a.conversationId??a.path},title:a.title,identity:{conversationId:a.conversationId??null,path:a.path,engine:"claude"===a.engine||"codex"===a.engine?a.engine:null},...b.length?{inherit:b}:{}}),e.paths.add(a.path),a.conversationId&&e.conversationIds.add(a.conversationId)};for(let b of a){if(f.length>=d)break;b.parent||g.has(b.path)||!p(b)||q(e,b)||j(b,[])}for(let b of a){if(f.length>=d)break;if(!b.parent||g.has(b.path)||!p(b)||q(e,b))continue;let a=h.get(b.parent);(!a||q(e,a))&&j(b,a?[{conversationId:a.conversationId??null,path:a.path}]:[])}return f}(a,c,b);if(!d.length)return{tasks:void 0,result:0};let e=function(a,b,c={}){let d=a.slice(),e=0;for(let a of b){let b=n(d,a,c);b.ok&&b.changed&&(d=b.tasks,e+=1)}return{tasks:d,admitted:e}}(c,d);return{tasks:e.admitted?e.tasks:void 0,result:e.admitted}},c)}},96428:(a,b,c)=>{c.d(b,{Ec:()=>d});function d(){return new Date().toISOString()}}};
@@ -1,3 +1,3 @@
1
- "use strict";exports.id=2744,exports.ids=[2744,5408],exports.modules={15408:(a,b,c)=>{c.r(b),c.d(b,{ORCHESTRATOR_SEATS_SCHEMA_VERSION:()=>m,ORCHESTRATOR_SEAT_HISTORY_CAP:()=>n,abandonStillbornOrchestratorSeat:()=>I,activeOrchestratorSeats:()=>K,activeOrchestratorSeatsForMigration:()=>N,activeOrchestratorSeatsOrUnknown:()=>L,beginOrchestratorSeatIntent:()=>E,canonicalOrchestratorProject:()=>p,completeOrchestratorSeatIntent:()=>F,confirmOrchestratorSeatMaterialization:()=>J,failOrchestratorSeatIntent:()=>H,orchestratorRevocations:()=>P,orchestratorSeatFor:()=>D,orchestratorSeatForOrUnknown:()=>M,readOrchestratorSeatFile:()=>x,rekeyOrchestratorSeatPaths:()=>O,repairOrchestratorSeatRuntimeIdentity:()=>G,revokedOrchestratorSeatConversationsOrUnknown:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(22962),k=c(91724),l=c(89940);let m=1,n=50,o=()=>(0,k.BQ)("orchestrator-seats.json");function p(a){return(0,l.G$)(a.trim())}function q(){return{schemaVersion:m,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[],rollbacks:{}}}function r(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 s(a){if(!a||"object"!=typeof a||Array.isArray(a)||"operator"!==a.kind&&"agent"!==a.kind)return null;let b="string"==typeof a.conversationId&&a.conversationId?a.conversationId:null,c="number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&a.seatEpoch>=1?a.seatEpoch:null;return{kind:a.kind,conversationId:b,seatEpoch:c}}function t(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.project||!a.project||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||null!==a.conversationId&&"string"!=typeof a.conversationId||null!==a.path&&"string"!=typeof a.path||"string"!=typeof a.mandate||"pending"!==a.state&&"active"!==a.state)return null;let b=a.intent;if(!b||"string"!=typeof b.clientRequestId||!b.clientRequestId||"spawn"!==b.mode&&"existing"!==b.mode||"string"!=typeof a.designatedAt||null!==a.activatedAt&&"string"!=typeof a.activatedAt)return null;let c="string"==typeof a.engine&&a.engine.trim()?a.engine:null,d="string"==typeof a.model&&a.model.trim()?a.model:null,e="boolean"==typeof a.runtimeIdentityFrozen?a.runtimeIdentityFrozen:!!(c||d);return{project:a.project,seatEpoch:a.seatEpoch,conversationId:a.conversationId??null,path:a.path??null,engine:c,model:d,runtimeIdentityFrozen:e,mandate:a.mandate,promptVersion:"number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,predecessorConversationId:"string"==typeof a.predecessorConversationId?a.predecessorConversationId:null,triggeredBy:s(a.triggeredBy),state:a.state,intent:{clientRequestId:b.clientRequestId,mode:b.mode,launchId:"string"==typeof b.launchId?b.launchId:null,error:"string"==typeof b.error?b.error:null},designatedAt:a.designatedAt,activatedAt:a.activatedAt??null}}function u(a,b){return a.history.push(b),a.history.length>n&&a.history.splice(0,a.history.length-n),b}function v(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function w(){let a;try{a=g().readFileSync(o(),"utf8")}catch(a){return a?.code==="ENOENT"?q():null}try{let b=JSON.parse(a);if(b.schemaVersion!==m)return null;let c=q();for(let[a,d]of(c.nextSeatEpoch="number"==typeof b.nextSeatEpoch&&Number.isInteger(b.nextSeatEpoch)&&b.nextSeatEpoch>=1?b.nextSeatEpoch:1,Object.entries(b.seats??{}))){let b=t(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&v(c.seats,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=t(d);b&&b.project===a&&"pending"===b.state&&v(c.pending,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.rollbacks??{})){let b=t(d);b&&b.conversationId&&(c.rollbacks[p(a)]=b)}for(let a of Array.isArray(b.revocations)?b.revocations:[])"string"==typeof a.project&&"string"==typeof a.conversationId&&"number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&"string"==typeof a.revokedAt&&c.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:s(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=t(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}let d=Math.max(0,...Object.values(c.seats).map(a=>a.seatEpoch),...Object.values(c.pending).map(a=>a.seatEpoch),...Object.values(c.rollbacks).map(a=>a.seatEpoch),...c.revocations.map(a=>a.seatEpoch),...c.history.map(a=>a.seat.seatEpoch));return c.nextSeatEpoch<=d&&(c.nextSeatEpoch=d+1),c}catch{return null}}function x(){return w()??q()}function y(a){return void 0===a?Error("orchestrator seat evidence is malformed"):Error("orchestrator seat evidence is malformed",{cause:a})}function z(a,b){if(void 0===a)return{};if(!a||"object"!=typeof a||Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function A(a,b){if(void 0===a)return[];if(!Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function B(){let a,b;try{a=g().readFileSync(o(),"utf8")}catch(a){if(a&&"object"==typeof a&&"ENOENT"===a.code)return{raw:null,normalized:q()};throw a}try{b=JSON.parse(a)}catch(a){throw y(a)}if(!b||"object"!=typeof b||Array.isArray(b))throw y();let c=b;if(c.schemaVersion!==m||"number"!=typeof c.nextSeatEpoch||!Number.isInteger(c.nextSeatEpoch)||c.nextSeatEpoch<1)throw y();let d=q();for(let[a,b]of(d.nextSeatEpoch=c.nextSeatEpoch,Object.entries(z(c.seats,"seats")))){let c=t(b);if(!c||c.project!==a||"active"!==c.state||!c.conversationId)throw y();let e=p(a);if(d.seats[e])throw y();d.seats[e]={...c,project:e}}for(let[a,b]of Object.entries(z(c.pending,"pending"))){let c=t(b);if(!c||c.project!==a||"pending"!==c.state)throw y();let e=p(a);if(d.pending[e])throw y();d.pending[e]={...c,project:e}}for(let a of A(c.revocations,"revocations")){if(!a||"object"!=typeof a||"string"!=typeof a.project||!a.project||"string"!=typeof a.conversationId||!a.conversationId||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||"string"!=typeof a.revokedAt||void 0!==a.successorConversationId&&null!==a.successorConversationId&&"string"!=typeof a.successorConversationId)throw y();d.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:a.successorConversationId??null,triggeredBy:s(a.triggeredBy)})}for(let a of A(c.history,"history")){let b=t(a?.seat);if(!a||!b||"terminal_error"!==a.reason&&"superseded_epoch"!==a.reason||"string"!=typeof a.terminalizedAt)throw y();d.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}return{raw:c,normalized:d}}function C(a){r(o(),a)}function D(a){let b=x(),c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function E(a){return(0,j.oV)(()=>{let b,c=x(),d=p(a.project),e=c.seats[d];if(e&&e.intent.clientRequestId===a.clientRequestId)return{kind:"completed",seat:e};let f=c.pending[d];if(f&&null===f.intent.error&&f.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:f};if(f){if(!(null!==f.intent.error||void 0!==e&&f.seatEpoch<e.seatEpoch))return{kind:"in_progress",seat:f};b=u(c,{seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()}),delete c.pending[d]}let g={project:d,seatEpoch:c.nextSeatEpoch,conversationId:a.conversationId??null,path:null,engine:a.engine?.trim()||null,model:a.model?.trim()||null,runtimeIdentityFrozen:!!(a.engine?.trim()&&a.model?.trim()),mandate:a.mandate,promptVersion:a.promptVersion??null,predecessorConversationId:null,triggeredBy:a.triggeredBy??null,state:"pending",intent:{clientRequestId:a.clientRequestId,mode:a.mode,launchId:null,error:null},designatedAt:a.now??new Date().toISOString(),activatedAt:null};return c.nextSeatEpoch+=1,c.pending[d]=g,C(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function F(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(d&&d.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:d};let e=b.pending[c];if(!e||e.intent.clientRequestId!==a.clientRequestId)return{kind:"missing"};let f=a.now??new Date().toISOString(),g=null;d&&d.conversationId&&d.conversationId!==a.conversationId&&(g={project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:f,successorConversationId:a.conversationId,triggeredBy:e.triggeredBy??null},b.revocations.push(g)),"spawn"===e.intent.mode&&null===a.path&&d?.conversationId&&d.conversationId!==a.conversationId?b.rollbacks[c]=d:delete b.rollbacks[c];let h={...e,conversationId:a.conversationId,path:a.path,engine:e.engine??(a.engine?.trim()||null),model:e.model??(a.model?.trim()||null),runtimeIdentityFrozen:!0===e.runtimeIdentityFrozen||!!(a.engine||a.model),predecessorConversationId:g?.conversationId??e.predecessorConversationId,state:"active",intent:{...e.intent,launchId:a.launchId??e.intent.launchId,error:null},activatedAt:f};return delete b.pending[c],b.seats[c]=h,C(b),{kind:"activated",seat:h,revoked:g}})}function G(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.conversationId!==a.conversationId)return null;let e=d.engine??(a.engine?.trim()||null),f=d.model??(a.model?.trim()||null);if(e===d.engine&&f===d.model)return d;let g={...d,engine:e,model:f};return b.seats[c]=g,C(b),g})}function H(a,b,c,d){return(0,j.oV)(()=>{let e=x(),f=p(a),g=e.pending[f];if(!g||g.intent.clientRequestId!==b)return null;g.intent.error=c.slice(0,500);let h=u(e,{seat:g,reason:"terminal_error",terminalizedAt:d??new Date().toISOString()});return delete e.pending[f],C(e),h})}function I(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||"active"!==d.state||"spawn"!==d.intent.mode||null!==d.path||!d.conversationId)return null;let e=a.now??new Date().toISOString(),f=b.rollbacks[c]??null,g=f?null:[...b.revocations].reverse().find(a=>a.project===c&&a.successorConversationId===d.conversationId)?.conversationId??null,h=f??(g?a.restorableSeat?.({conversationId:g,stillborn:d})??null:null),i=!!(h?.conversationId&&a.resolvable&&!a.resolvable(h.conversationId)),j=i?null:h,k=null;j?.conversationId?(k={...j,project:c,seatEpoch:b.nextSeatEpoch,state:"active",activatedAt:e},b.nextSeatEpoch+=1,b.seats[c]=k):delete b.seats[c],b.revocations.push({project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:e,successorConversationId:k?.conversationId??null,triggeredBy:d.triggeredBy??null}),delete b.rollbacks[c];let l=i?`${a.error}; the predecessor ${h.conversationId} it would have been rolled back to is no longer resolvable either, so the project is left undesignated`:a.error,m=u(b,{seat:{...d,intent:{...d.intent,error:l.slice(0,500)}},reason:"terminal_error",terminalizedAt:e});return C(b),{terminalized:m,restored:k}})}function J(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||d.conversationId!==a.conversationId)return null;if(d.path===a.path&&!b.rollbacks[c])return d;let e={...d,path:a.path};return b.seats[c]=e,delete b.rollbacks[c],C(b),e})}function K(){return Object.values(x().seats)}function L(){let a=w();return null===a?null:Object.values(a.seats)}function M(a){let b=w();if(null===b)return null;let c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null}}function N(){return Object.values(B().normalized.seats)}function O(a){0!==a.length&&(0,j.oV)(()=>{let b=B();if(!b.raw||0===Object.keys(b.normalized.seats).length)return;let c=new Map(a.map(a=>[a.legacyPath,a.sharedPath])),d=z(b.raw.seats,"seats"),e=!1;for(let a of Object.values(d)){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.path)continue;let b=c.get(a.path);b&&(a.path=b,e=!0)}e&&r(o(),b.raw)})}function P(){return x().revocations}function Q(a=a=>a){let b=w();if(null===b)return null;let c=new Map,d=b=>{if(!b.conversationId)return;let d=a(b.conversationId);c.set(d,Math.max(c.get(d)??0,b.seatEpoch))};for(let a of Object.values(b.seats))d(a);for(let a of Object.values(b.pending))null===a.intent.error&&d(a);let e=new Set;for(let d of b.revocations){let b=a(d.conversationId);d.seatEpoch>=(c.get(b)??0)&&e.add(b)}return e}},93785:(a,b,c)=>{c.d(b,{nK:()=>E,Rx:()=>y});var d=c(25617),e=c(10781),f=c(71277),g=c(58996),h=c(41085),i=c(48289),j=c(1849);function k(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("catalog selection cancelled","AbortError")}function l(a,b){let c=Math.max(0,Math.floor(b.limit)),d=b.query?b.query.toLocaleLowerCase():"",e=[],f=new Set,g=0,h=0;for(let i of a){if("claude"===i.engine||"codex"===i.engine)h+=1,b.hostedPaths?.has(i.path)&&f.add(i.path),(!b.project||i.project===b.project)&&(!b.liveOnly||"live"===i.activity||"stalled"===i.activity||b.hostedPaths?.has(i.path))&&(!d||`${i.title}
1
+ "use strict";exports.id=2744,exports.ids=[2744,5408],exports.modules={15408:(a,b,c)=>{c.r(b),c.d(b,{ORCHESTRATOR_SEATS_SCHEMA_VERSION:()=>m,ORCHESTRATOR_SEAT_HISTORY_CAP:()=>n,abandonStillbornOrchestratorSeat:()=>I,activeOrchestratorSeats:()=>K,activeOrchestratorSeatsForMigration:()=>N,activeOrchestratorSeatsOrUnknown:()=>L,beginOrchestratorSeatIntent:()=>E,canonicalOrchestratorProject:()=>p,completeOrchestratorSeatIntent:()=>F,confirmOrchestratorSeatMaterialization:()=>J,failOrchestratorSeatIntent:()=>H,orchestratorRevocations:()=>P,orchestratorSeatFor:()=>D,orchestratorSeatForOrUnknown:()=>M,readOrchestratorSeatFile:()=>x,rekeyOrchestratorSeatPaths:()=>O,repairOrchestratorSeatRuntimeIdentity:()=>G,revokedOrchestratorSeatConversationsOrUnknown:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(22962),k=c(91724),l=c(89940);let m=1,n=50,o=()=>(0,k.BQ)("orchestrator-seats.json");function p(a){return(0,l.G$)(a.trim())}function q(){return{schemaVersion:m,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[],rollbacks:{}}}function r(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 s(a){if(!a||"object"!=typeof a||Array.isArray(a)||"operator"!==a.kind&&"agent"!==a.kind)return null;let b="string"==typeof a.conversationId&&a.conversationId?a.conversationId:null,c="number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&a.seatEpoch>=1?a.seatEpoch:null;return{kind:a.kind,conversationId:b,seatEpoch:c}}function t(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.project||!a.project||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||null!==a.conversationId&&"string"!=typeof a.conversationId||null!==a.path&&"string"!=typeof a.path||"string"!=typeof a.mandate||"pending"!==a.state&&"active"!==a.state)return null;let b=a.intent;if(!b||"string"!=typeof b.clientRequestId||!b.clientRequestId||"spawn"!==b.mode&&"existing"!==b.mode||"string"!=typeof a.designatedAt||null!==a.activatedAt&&"string"!=typeof a.activatedAt)return null;let c="string"==typeof a.engine&&a.engine.trim()?a.engine:null,d="string"==typeof a.model&&a.model.trim()?a.model:null,e="boolean"==typeof a.runtimeIdentityFrozen?a.runtimeIdentityFrozen:!!(c||d);return{project:a.project,seatEpoch:a.seatEpoch,conversationId:a.conversationId??null,path:a.path??null,engine:c,model:d,runtimeIdentityFrozen:e,mandate:a.mandate,..."string"==typeof a.roleTable?{roleTable:a.roleTable}:{},promptVersion:"number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,predecessorConversationId:"string"==typeof a.predecessorConversationId?a.predecessorConversationId:null,triggeredBy:s(a.triggeredBy),state:a.state,intent:{clientRequestId:b.clientRequestId,mode:b.mode,launchId:"string"==typeof b.launchId?b.launchId:null,error:"string"==typeof b.error?b.error:null},designatedAt:a.designatedAt,activatedAt:a.activatedAt??null}}function u(a,b){return a.history.push(b),a.history.length>n&&a.history.splice(0,a.history.length-n),b}function v(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function w(){let a;try{a=g().readFileSync(o(),"utf8")}catch(a){return a?.code==="ENOENT"?q():null}try{let b=JSON.parse(a);if(b.schemaVersion!==m)return null;let c=q();for(let[a,d]of(c.nextSeatEpoch="number"==typeof b.nextSeatEpoch&&Number.isInteger(b.nextSeatEpoch)&&b.nextSeatEpoch>=1?b.nextSeatEpoch:1,Object.entries(b.seats??{}))){let b=t(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&v(c.seats,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=t(d);b&&b.project===a&&"pending"===b.state&&v(c.pending,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.rollbacks??{})){let b=t(d);b&&b.conversationId&&(c.rollbacks[p(a)]=b)}for(let a of Array.isArray(b.revocations)?b.revocations:[])"string"==typeof a.project&&"string"==typeof a.conversationId&&"number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&"string"==typeof a.revokedAt&&c.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:s(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=t(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}let d=Math.max(0,...Object.values(c.seats).map(a=>a.seatEpoch),...Object.values(c.pending).map(a=>a.seatEpoch),...Object.values(c.rollbacks).map(a=>a.seatEpoch),...c.revocations.map(a=>a.seatEpoch),...c.history.map(a=>a.seat.seatEpoch));return c.nextSeatEpoch<=d&&(c.nextSeatEpoch=d+1),c}catch{return null}}function x(){return w()??q()}function y(a){return void 0===a?Error("orchestrator seat evidence is malformed"):Error("orchestrator seat evidence is malformed",{cause:a})}function z(a,b){if(void 0===a)return{};if(!a||"object"!=typeof a||Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function A(a,b){if(void 0===a)return[];if(!Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function B(){let a,b;try{a=g().readFileSync(o(),"utf8")}catch(a){if(a&&"object"==typeof a&&"ENOENT"===a.code)return{raw:null,normalized:q()};throw a}try{b=JSON.parse(a)}catch(a){throw y(a)}if(!b||"object"!=typeof b||Array.isArray(b))throw y();let c=b;if(c.schemaVersion!==m||"number"!=typeof c.nextSeatEpoch||!Number.isInteger(c.nextSeatEpoch)||c.nextSeatEpoch<1)throw y();let d=q();for(let[a,b]of(d.nextSeatEpoch=c.nextSeatEpoch,Object.entries(z(c.seats,"seats")))){let c=t(b);if(!c||c.project!==a||"active"!==c.state||!c.conversationId)throw y();let e=p(a);if(d.seats[e])throw y();d.seats[e]={...c,project:e}}for(let[a,b]of Object.entries(z(c.pending,"pending"))){let c=t(b);if(!c||c.project!==a||"pending"!==c.state)throw y();let e=p(a);if(d.pending[e])throw y();d.pending[e]={...c,project:e}}for(let a of A(c.revocations,"revocations")){if(!a||"object"!=typeof a||"string"!=typeof a.project||!a.project||"string"!=typeof a.conversationId||!a.conversationId||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||"string"!=typeof a.revokedAt||void 0!==a.successorConversationId&&null!==a.successorConversationId&&"string"!=typeof a.successorConversationId)throw y();d.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:a.successorConversationId??null,triggeredBy:s(a.triggeredBy)})}for(let a of A(c.history,"history")){let b=t(a?.seat);if(!a||!b||"terminal_error"!==a.reason&&"superseded_epoch"!==a.reason||"string"!=typeof a.terminalizedAt)throw y();d.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}return{raw:c,normalized:d}}function C(a){r(o(),a)}function D(a){let b=x(),c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function E(a){return(0,j.oV)(()=>{let b,c=x(),d=p(a.project),e=c.seats[d];if(e&&e.intent.clientRequestId===a.clientRequestId)return{kind:"completed",seat:e};let f=c.pending[d];if(f&&null===f.intent.error&&f.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:f};if(f){if(!(null!==f.intent.error||void 0!==e&&f.seatEpoch<e.seatEpoch))return{kind:"in_progress",seat:f};b=u(c,{seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()}),delete c.pending[d]}let g={project:d,seatEpoch:c.nextSeatEpoch,conversationId:a.conversationId??null,path:null,engine:a.engine?.trim()||null,model:a.model?.trim()||null,runtimeIdentityFrozen:!!(a.engine?.trim()&&a.model?.trim()),mandate:a.mandate,..."string"==typeof a.roleTable?{roleTable:a.roleTable}:{},promptVersion:a.promptVersion??null,predecessorConversationId:null,triggeredBy:a.triggeredBy??null,state:"pending",intent:{clientRequestId:a.clientRequestId,mode:a.mode,launchId:null,error:null},designatedAt:a.now??new Date().toISOString(),activatedAt:null};return c.nextSeatEpoch+=1,c.pending[d]=g,C(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function F(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(d&&d.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:d};let e=b.pending[c];if(!e||e.intent.clientRequestId!==a.clientRequestId)return{kind:"missing"};let f=a.now??new Date().toISOString(),g=null;d&&d.conversationId&&d.conversationId!==a.conversationId&&(g={project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:f,successorConversationId:a.conversationId,triggeredBy:e.triggeredBy??null},b.revocations.push(g)),"spawn"===e.intent.mode&&null===a.path&&d?.conversationId&&d.conversationId!==a.conversationId?b.rollbacks[c]=d:delete b.rollbacks[c];let h={...e,conversationId:a.conversationId,path:a.path,engine:e.engine??(a.engine?.trim()||null),model:e.model??(a.model?.trim()||null),runtimeIdentityFrozen:!0===e.runtimeIdentityFrozen||!!(a.engine||a.model),predecessorConversationId:g?.conversationId??e.predecessorConversationId,state:"active",intent:{...e.intent,launchId:a.launchId??e.intent.launchId,error:null},activatedAt:f};return delete b.pending[c],b.seats[c]=h,C(b),{kind:"activated",seat:h,revoked:g}})}function G(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.conversationId!==a.conversationId)return null;let e=d.engine??(a.engine?.trim()||null),f=d.model??(a.model?.trim()||null);if(e===d.engine&&f===d.model)return d;let g={...d,engine:e,model:f};return b.seats[c]=g,C(b),g})}function H(a,b,c,d){return(0,j.oV)(()=>{let e=x(),f=p(a),g=e.pending[f];if(!g||g.intent.clientRequestId!==b)return null;g.intent.error=c.slice(0,500);let h=u(e,{seat:g,reason:"terminal_error",terminalizedAt:d??new Date().toISOString()});return delete e.pending[f],C(e),h})}function I(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||"active"!==d.state||"spawn"!==d.intent.mode||null!==d.path||!d.conversationId)return null;let e=a.now??new Date().toISOString(),f=b.rollbacks[c]??null,g=f?null:[...b.revocations].reverse().find(a=>a.project===c&&a.successorConversationId===d.conversationId)?.conversationId??null,h=f??(g?a.restorableSeat?.({conversationId:g,stillborn:d})??null:null),i=!!(h?.conversationId&&a.resolvable&&!a.resolvable(h.conversationId)),j=i?null:h,k=null;j?.conversationId?(k={...j,project:c,seatEpoch:b.nextSeatEpoch,state:"active",activatedAt:e},b.nextSeatEpoch+=1,b.seats[c]=k):delete b.seats[c],b.revocations.push({project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:e,successorConversationId:k?.conversationId??null,triggeredBy:d.triggeredBy??null}),delete b.rollbacks[c];let l=i?`${a.error}; the predecessor ${h.conversationId} it would have been rolled back to is no longer resolvable either, so the project is left undesignated`:a.error,m=u(b,{seat:{...d,intent:{...d.intent,error:l.slice(0,500)}},reason:"terminal_error",terminalizedAt:e});return C(b),{terminalized:m,restored:k}})}function J(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||d.conversationId!==a.conversationId)return null;if(d.path===a.path&&!b.rollbacks[c])return d;let e={...d,path:a.path};return b.seats[c]=e,delete b.rollbacks[c],C(b),e})}function K(){return Object.values(x().seats)}function L(){let a=w();return null===a?null:Object.values(a.seats)}function M(a){let b=w();if(null===b)return null;let c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null}}function N(){return Object.values(B().normalized.seats)}function O(a){0!==a.length&&(0,j.oV)(()=>{let b=B();if(!b.raw||0===Object.keys(b.normalized.seats).length)return;let c=new Map(a.map(a=>[a.legacyPath,a.sharedPath])),d=z(b.raw.seats,"seats"),e=!1;for(let a of Object.values(d)){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.path)continue;let b=c.get(a.path);b&&(a.path=b,e=!0)}e&&r(o(),b.raw)})}function P(){return x().revocations}function Q(a=a=>a){let b=w();if(null===b)return null;let c=new Map,d=b=>{if(!b.conversationId)return;let d=a(b.conversationId);c.set(d,Math.max(c.get(d)??0,b.seatEpoch))};for(let a of Object.values(b.seats))d(a);for(let a of Object.values(b.pending))null===a.intent.error&&d(a);let e=new Set;for(let d of b.revocations){let b=a(d.conversationId);d.seatEpoch>=(c.get(b)??0)&&e.add(b)}return e}},93785:(a,b,c)=>{c.d(b,{nK:()=>E,Rx:()=>y});var d=c(25617),e=c(10781),f=c(71277),g=c(58996),h=c(41085),i=c(48289),j=c(1849);function k(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("catalog selection cancelled","AbortError")}function l(a,b){let c=Math.max(0,Math.floor(b.limit)),d=b.query?b.query.toLocaleLowerCase():"",e=[],f=new Set,g=0,h=0;for(let i of a){if("claude"===i.engine||"codex"===i.engine)h+=1,b.hostedPaths?.has(i.path)&&f.add(i.path),(!b.project||i.project===b.project)&&(!b.liveOnly||"live"===i.activity||"stalled"===i.activity||b.hostedPaths?.has(i.path))&&(!d||`${i.title}
2
2
  ${i.project}
3
3
  ${i.path}`.toLocaleLowerCase().includes(d))&&(g+=1,e.length<c&&e.push(i))}return{entries:e,matched:g,scanned:h,hostedSeen:f}}async function m(a,b={completedFileScan:j.Nm}){let c=performance.now();if(b.signal?.aborted)throw k(b.signal.reason);let d=await b.completedFileScan({signal:b.signal??null});if(b.signal?.aborted)throw k(b.signal.reason);return{...l(d.snapshot.files,a),generation:d.generation,cacheStatus:d.cacheStatus,freshScan:!1,selectionMs:performance.now()-c}}async function n(a,b,c,d){let e=d.now??Date.now,f=d.signal??null,g=new Map,h=0,i=0,j="complete";if(f?.aborted)throw k(f.reason);let l=async()=>{for(;;){if(f?.aborted)throw k(f.reason);if("complete"!==j||h>=a.length)return;if(null!==d.deadlineAt&&e()>=d.deadlineAt){j="deadline";return}let l=h,m=a[l],n=Math.max(0,b(m));if(i+n>d.maxBytes){j="byte_budget";return}h=l+1,i+=n,g.set(l,await c(m,f))}},m=(await Promise.allSettled(Array.from({length:Number.isFinite(d.concurrency)?Math.max(1,Math.min(Math.floor(d.concurrency),a.length||1)):1},()=>l()))).find(a=>"rejected"===a.status);if(m?.status==="rejected")throw m.reason;return{results:g,hydrated:g.size,skipped:a.length-g.size,bytes:i,stopped:j}}var o=c(73024),p=c.n(o),q=c(76760),r=c.n(q),s=c(49113),t=c(23855),u=c(70107),v=c(89333);async function w(a,b){let c=await (0,t.mR)(b);if("complete"!==c.integrity)return null;let d=(0,s.j)(c.records,a);return{turn:"terminal"===d.state?"idle":"busy"===d.state?"busy":"unknown",lastRecordTs:function(a){let b=null;for(let c of a){let a=c.timestamp;if("string"!=typeof a)continue;let d=Date.parse(a);Number.isFinite(d)&&(null===b||d>b)&&(b=d)}return b}(c.records)}}async function x(a){let b,c=function(a){let b=null;for(let[c,d]of(0,v.s9)())(a===d||a.startsWith(d.endsWith(r().sep)?d:d+r().sep))&&(!b||d.length>b[1].length)&&(b=[c,d]);return b}(a);if(!c)return null;try{b=await p().promises.stat(a)}catch{return null}if(!b.isFile())return null;let d=(0,u.q0)(c[0],c[1],a,b);return{path:a,project:d.project,title:d.title,engine:d.engine,mtimeMs:b.mtimeMs,sizeBytes:b.size,conversationId:null,activity:null,activityReason:null}}function y(a={}){let b=a.completedFileScan??j.Nm;return{now:()=>Date.now(),selectInventory:(a,c)=>m(a,{completedFileScan:b,signal:c?.signal??null}),describeTranscript:x,registrySnapshot:()=>(0,e.agentRegistry)().readOnlySnapshot(),pipelines:()=>(0,i.Cz)().pipelines,transcriptEvidence:w,limitsProvenance:g.io,probe:(0,d.AM)()}}function z(a){return{path:a.path,project:a.project,title:a.title,engine:a.engine,mtimeMs:Number.isFinite(a.mtime)?1e3*a.mtime:NaN,sizeBytes:Number.isFinite(a.size)?a.size:void 0,conversationId:a.conversationId??null,activity:a.activity??null,activityReason:a.activityReason??null}}async function A(a,b,c,d){let e=[];for(let c of a)b.has(c)||e.push(c);if(0===e.length)return{entries:[],truncated:!1};let f=e.length>64,g=f?e.slice(-64):e;return{entries:(await Promise.all(g.map(async a=>{try{return await d(a)}catch{return null}}))).filter(a=>null!==a&&("claude"===a.engine||"codex"===a.engine)&&(!c||a.project===c)),truncated:f}}function B(a,b){let c=a=>Number.isFinite(a.mtimeMs)?a.mtimeMs:-1/0;return c(b)-c(a)}function C(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("liveness snapshot cancelled","AbortError")}function D(a){return Math.round(100*Math.max(0,a))/100}async function E(a,b){let c,e,g=performance.now(),i=b.now(),j=a.signal??null;if(j?.aborted)throw C(j.reason);let k=Number.isFinite(a.stallAfterMs)&&a.stallAfterMs>0?Math.floor(a.stallAfterMs):6e5,m=Math.max(1,Math.min(200,Number.isInteger(a.limit)?a.limit:100)),o=performance.now(),p=b.registrySnapshot(),q=function(a){let b=new Map,c=new Map;for(let d of a)for(let a of d.runs)for(let e of a.attempts){if(e.historical)continue;let f={pipelineId:d.id,stageId:a.stageId,attempt:e.n,reportedState:e.state,reportedPipelineState:d.state,paneId:e.paneId};e.conversationId&&b.set(e.conversationId,f),e.agentPath&&c.set(e.agentPath,f)}return{byConversation:b,byPath:c}}(b.pipelines()),r=function(a){let b=new Set;for(let c of Object.values(a.entries))("starting"===c.status||"live"===c.status||"idle"===c.status||"handoff"===c.status)&&c.artifactPath&&b.add(c.artifactPath);return b}(p),s=performance.now()-o,t=new Set,u=!!(a.transcriptPath||a.conversationId);if(a.transcriptPath&&t.add(a.transcriptPath),a.conversationId){let b=p.conversations[a.conversationId],c=b?.generations.at(-1)?.path;c&&t.add(c)}let v=performance.now();if(u)c=t.size>0?(await Promise.all([...t].slice(0,m).map(a=>b.describeTranscript(a)))).filter(a=>null!==a):[],e={scope:"targeted",scanned:t.size,matched:c.length,selected:c.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!1};else{let d,f={project:a.project,liveOnly:a.liveOnly,limit:m,hostedPaths:r};if(b.selectInventory){let g=await b.selectInventory(f,{signal:j});c=g.entries.map(z),d=g.hostedSeen??new Set(g.entries.map(a=>a.path)),e={scope:a.project?"project":"corpus",scanned:g.scanned,matched:g.matched,selected:g.entries.length,recovered:0,recoveryTruncated:!1,generation:g.generation,cacheStatus:g.cacheStatus,freshScan:g.freshScan}}else if(b.listFiles){let g=l(await b.listFiles(),f);c=g.entries.map(z),d=g.hostedSeen,e={scope:a.project?"project":"corpus",scanned:g.scanned,matched:g.matched,selected:g.entries.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!0}}else throw Error("liveness needs an inventory source: install selectInventory");let g=await A(r,d,a.project,b.describeTranscript),h=new Set(c.map(a=>a.path)),i=g.entries.filter(a=>!h.has(a.path));(i.length>0||g.truncated)&&(i.length>0&&(c=[...c,...i].sort(B).slice(0,m)),e={...e,matched:e.matched+i.length,selected:c.length,recovered:i.length,recoveryTruncated:g.truncated})}let w=performance.now()-v;if(j?.aborted)throw C(j.reason);let x=c.filter(a=>"claude"===a.engine||"codex"===a.engine),y=performance.now(),E=Number.isFinite(a.evidenceDeadlineMs)&&a.evidenceDeadlineMs>0?Math.floor(a.evidenceDeadlineMs):2e3,F=await n(x,a=>Math.min(Number.isFinite(a.sizeBytes)?a.sizeBytes:131072,131072),async(a,c)=>{try{return await b.transcriptEvidence(a.engine,a.path,{signal:c})}catch(a){if(c?.aborted||(0,f.zf)(a))throw a;return null}},{concurrency:Number.isFinite(a.evidenceConcurrency)?Math.max(1,Math.floor(a.evidenceConcurrency)):4,maxBytes:Number.isFinite(a.evidenceByteBudget)?Math.max(0,Math.floor(a.evidenceByteBudget)):131072*Math.max(1,m),deadlineAt:b.now()+E,signal:j,now:b.now}),G=performance.now()-y;if(j?.aborted)throw C(j.reason);let H=performance.now(),I=0,J={claude:new Map,codex:new Map},K=x.map((a,c)=>{var e,f;let g,j=F.results.has(c),l=F.results.get(c)??null;j&&null===l&&(I+=1);let m=l?l.turn:"jsonl_turn_open"===a.activityReason?"busy":"jsonl_turn_completed"===a.activityReason?"idle":"unknown",n=l?.lastRecordTs??(Number.isFinite(a.mtimeMs)?a.mtimeMs:null),o=null!==n?Math.max(0,i-n):null,r=function(a,b){for(let c of Object.values(a.entries))if(c.artifactPath===b)return c;return null}(p,a.path),s=function(a,b){if(!a)return{state:"unknown",kind:"none",pid:null};let c="starting"===a.status||"live"===a.status||"idle"===a.status||"handoff"===a.status,e=a.structuredHost?.process??null,f=a.host?{state:(0,d.eW)(a.host.agent,b)||(0,d.eW)(a.host.panePid,b)?"alive":"gone",kind:"tmux",pid:a.host.agent.pid}:null,g=e?{state:(0,d.eW)(e,b)?"alive":"gone",kind:"structured",pid:e.pid}:null;if(!c){let a=f??g;return a?{...a,state:"gone"}:{state:"gone",kind:"none",pid:null}}if(f?.state==="alive")return f;if(g?.state==="alive")return g;if(f)return f;if(g)return g;let h=Date.parse(a.updatedAt);return{state:Number.isFinite(h)&&b.now()-h<3e5?"unknown":"gone",kind:"none",pid:null}}(r,b.probe),t="busy"===m&&"alive"===s.state&&r?.accountId?(e=a.engine,f=r.accountId,(g=J[e]).has(f)||g.set(f,(0,h.p5)(b.limitsProvenance?.(e,f),i,h.Lm)),g.get(f)??null):null,u=a.conversationId??function(a,b){for(let c of Object.values(a.conversations))if(c.generations.some(a=>a.path===b)||c.continuityPaths?.includes(b))return c.id;return null}(p,a.path);return{entry:a,conversationId:u,turnState:m,lastRecordMs:n,silentForMs:o,host:s,...function(a){let b=null!==a.silentForMs&&a.silentForMs>=a.stallAfterMs;if("gone"===a.host.state)return"busy"===a.turnState?{lifecycle:"stalled",reason:"host_gone_turn_open"}:{lifecycle:"gone",reason:"host_gone_turn_settled"};if("unknown"===a.host.state){let b=a.startingGraceMs??3e5;return null===a.silentForMs||a.silentForMs<b?{lifecycle:"starting",reason:"launch_unproven"}:"busy"===a.turnState?{lifecycle:"stalled",reason:"launch_unproven_expired"}:{lifecycle:"gone",reason:"launch_unproven_expired"}}return"busy"===a.turnState&&a.providerRetryAt?{lifecycle:"waiting",reason:"provider_throttled",retryAt:a.providerRetryAt}:b?{lifecycle:"stalled",reason:"host_alive_transcript_silent"}:"idle"===a.turnState?{lifecycle:"waiting",reason:"host_alive_turn_idle"}:{lifecycle:"running",reason:"host_alive_turn_active"}}({host:s,turnState:m,silentForMs:o,stallAfterMs:k,providerRetryAt:t}),pipeline:(u?q.byConversation.get(u):void 0)??q.byPath.get(a.path)??null,evidenceSource:j?null!==l?"transcript":"unreadable":"projection"}}),L=s+(performance.now()-H),M=performance.now(),N=K.map(a=>{var b;return{conversationId:a.conversationId,transcriptPath:a.entry.path,project:a.entry.project,engine:a.entry.engine,title:a.entry.title,lastRecordAt:null!==(b=a.lastRecordMs)&&Number.isFinite(b)?new Date(b).toISOString():null,turnState:a.turnState,host:a.host,lifecycle:a.lifecycle,reason:a.reason,retryAt:a.retryAt??null,silentForMs:a.silentForMs,stalledForMs:"stalled"===a.lifecycle||"gone"===a.lifecycle?a.silentForMs:null,pipeline:a.pipeline,evidenceSource:a.evidenceSource}}),O=performance.now()-M;return{observedAt:new Date(i).toISOString(),stallAfterMs:k,count:N.length,stalledCount:N.filter(a=>"stalled"===a.lifecycle).length,stalledConfirmedCount:N.filter(a=>"stalled"===a.lifecycle&&"transcript"===a.evidenceSource).length,conversations:N,selection:{...e,hydrated:F.hydrated,unreadable:I,projected:x.length-F.hydrated,evidenceBytes:F.bytes,budget:F.stopped},timings:{inventorySelectionMs:D(w),journalProjectionMs:D(L),evidenceReadMs:D(G),serializationMs:D(O),totalMs:D(performance.now()-g)}}}}};