agent-log-viewer 1.1.0 → 1.2.1

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 (640) hide show
  1. package/bin/cli.mjs +4 -0
  2. package/bin/server-runtime.test.ts +63 -12
  3. package/dist/mcp-server.mjs +14033 -7722
  4. package/dist/runtime-host.mjs +17096 -7307
  5. package/dist/standalone/.next/BUILD_ID +1 -1
  6. package/dist/standalone/.next/app-path-routes-manifest.json +24 -19
  7. package/dist/standalone/.next/build-manifest.json +3 -3
  8. package/dist/standalone/.next/prerender-manifest.json +4 -4
  9. package/dist/standalone/.next/react-loadable-manifest.json +1 -1
  10. package/dist/standalone/.next/required-server-files.json +1 -1
  11. package/dist/standalone/.next/routes-manifest.json +30 -0
  12. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
  13. package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
  14. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  15. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  19. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  20. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  25. package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
  26. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  27. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  30. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  31. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
  32. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
  33. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
  34. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
  35. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
  36. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
  37. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
  38. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
  39. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
  40. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
  41. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
  42. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
  43. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
  44. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
  45. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
  48. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
  49. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
  50. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
  51. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
  52. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
  53. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
  54. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
  55. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
  56. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
  57. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
  58. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
  59. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
  60. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
  61. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
  62. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
  63. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
  64. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
  65. package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
  66. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
  67. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
  68. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
  69. package/dist/standalone/.next/server/app/api/answer/route.js +1 -2
  70. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  71. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
  72. package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
  73. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
  74. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
  75. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
  76. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
  77. package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
  78. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
  79. package/dist/standalone/.next/server/app/api/board/route.js +1 -1
  80. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
  81. package/dist/standalone/.next/server/app/api/bridge/route.js +1 -2
  82. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
  83. package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
  84. package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
  85. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
  86. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
  87. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
  88. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
  89. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
  90. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
  91. package/dist/standalone/.next/server/app/api/files/route.js +3 -2
  92. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  93. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  94. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  95. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  96. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  97. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  98. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  99. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  100. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  101. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
  102. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
  103. package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
  104. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
  105. package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
  106. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  107. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
  108. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
  109. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
  110. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
  111. package/dist/standalone/.next/server/app/api/log/provenance/route.js +107 -1
  112. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
  113. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  114. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  115. package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -4
  116. package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
  117. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  118. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  119. package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  120. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  121. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -3
  122. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
  123. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +23 -0
  124. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
  125. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
  126. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
  127. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
  128. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route_client-reference-manifest.js +1 -0
  129. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
  130. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
  131. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
  132. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
  133. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -3
  134. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
  135. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
  136. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
  137. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
  138. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
  139. package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -2
  140. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
  141. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
  142. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
  143. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  144. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  145. package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
  146. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
  147. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
  148. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
  149. package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
  150. package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
  151. package/dist/standalone/.next/server/app/api/push/route.js +2 -2
  152. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  153. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  154. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  155. package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
  156. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
  157. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
  158. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
  159. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
  160. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
  161. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
  162. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
  163. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
  164. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
  165. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
  166. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
  167. package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -0
  168. package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
  169. package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
  170. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
  171. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
  172. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
  173. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
  174. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
  175. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
  176. package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -0
  177. package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
  178. package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
  179. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
  180. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
  181. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
  182. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
  183. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
  184. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
  185. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
  186. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
  187. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
  188. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
  189. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
  190. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
  191. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -2
  192. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
  193. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  194. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  195. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
  196. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
  197. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
  198. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
  199. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -3
  200. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
  201. package/dist/standalone/.next/server/app/api/spawn/route.js +1 -2
  202. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  203. package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -0
  204. package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
  205. package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
  206. package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
  207. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
  208. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
  209. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
  210. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
  211. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  212. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  213. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  214. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -2
  215. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  216. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -2
  217. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  218. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  219. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  220. package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
  221. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  222. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
  223. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
  224. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
  225. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
  226. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  227. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  228. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  229. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  230. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  231. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  232. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  233. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  234. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  235. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  236. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  237. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  238. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
  239. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
  240. package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
  241. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
  242. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -1
  243. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
  244. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  245. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  246. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  247. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  249. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  250. package/dist/standalone/.next/server/app/index.html +1 -1
  251. package/dist/standalone/.next/server/app/index.rsc +3 -3
  252. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  253. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  254. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  255. package/dist/standalone/.next/server/app/page.js +59 -30
  256. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  257. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  258. package/dist/standalone/.next/server/app-paths-manifest.json +24 -19
  259. package/dist/standalone/.next/server/chunks/107.js +1 -1
  260. package/dist/standalone/.next/server/chunks/1100.js +29 -10
  261. package/dist/standalone/.next/server/chunks/1406.js +399 -0
  262. package/dist/standalone/.next/server/chunks/1585.js +108 -0
  263. package/dist/standalone/.next/server/chunks/160.js +4 -4
  264. package/dist/standalone/.next/server/chunks/1617.js +2 -2
  265. package/dist/standalone/.next/server/chunks/1849.js +1 -0
  266. package/dist/standalone/.next/server/chunks/1888.js +1 -1
  267. package/dist/standalone/.next/server/chunks/193.js +1 -0
  268. package/dist/standalone/.next/server/chunks/1952.js +1 -0
  269. package/dist/standalone/.next/server/chunks/2150.js +1 -1
  270. package/dist/standalone/.next/server/chunks/2549.js +1 -1
  271. package/dist/standalone/.next/server/chunks/2555.js +1 -0
  272. package/dist/standalone/.next/server/chunks/2647.js +1 -1
  273. package/dist/standalone/.next/server/chunks/2744.js +3 -0
  274. package/dist/standalone/.next/server/chunks/2857.js +1 -0
  275. package/dist/standalone/.next/server/chunks/286.js +22 -0
  276. package/dist/standalone/.next/server/chunks/2914.js +24 -0
  277. package/dist/standalone/.next/server/chunks/3034.js +1 -0
  278. package/dist/standalone/.next/server/chunks/3086.js +1 -1
  279. package/dist/standalone/.next/server/chunks/3131.js +1 -0
  280. package/dist/standalone/.next/server/chunks/3214.js +1 -1
  281. package/dist/standalone/.next/server/chunks/3302.js +1 -2
  282. package/dist/standalone/.next/server/chunks/3407.js +1 -0
  283. package/dist/standalone/.next/server/chunks/3422.js +1 -0
  284. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  285. package/dist/standalone/.next/server/chunks/3570.js +81 -0
  286. package/dist/standalone/.next/server/chunks/3587.js +1 -1
  287. package/dist/standalone/.next/server/chunks/3743.js +76 -24
  288. package/dist/standalone/.next/server/chunks/3830.js +1 -1
  289. package/dist/standalone/.next/server/chunks/3896.js +1 -0
  290. package/dist/standalone/.next/server/chunks/4037.js +1 -0
  291. package/dist/standalone/.next/server/chunks/4127.js +1 -1
  292. package/dist/standalone/.next/server/chunks/4509.js +1 -1
  293. package/dist/standalone/.next/server/chunks/4637.js +62 -0
  294. package/dist/standalone/.next/server/chunks/4651.js +1 -1
  295. package/dist/standalone/.next/server/chunks/4783.js +1 -0
  296. package/dist/standalone/.next/server/chunks/4972.js +3 -3
  297. package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
  298. package/dist/standalone/.next/server/chunks/5408.js +1 -1
  299. package/dist/standalone/.next/server/chunks/5480.js +1 -1
  300. package/dist/standalone/.next/server/chunks/5545.js +1 -1
  301. package/dist/standalone/.next/server/chunks/568.js +1 -2
  302. package/dist/standalone/.next/server/chunks/5682.js +1 -0
  303. package/dist/standalone/.next/server/chunks/5771.js +1 -0
  304. package/dist/standalone/.next/server/chunks/5847.js +1 -0
  305. package/dist/standalone/.next/server/chunks/6023.js +1 -0
  306. package/dist/standalone/.next/server/chunks/606.js +126 -0
  307. package/dist/standalone/.next/server/chunks/6277.js +81 -0
  308. package/dist/standalone/.next/server/chunks/6289.js +2 -0
  309. package/dist/standalone/.next/server/chunks/644.js +81 -0
  310. package/dist/standalone/.next/server/chunks/6453.js +1 -0
  311. package/dist/standalone/.next/server/chunks/6522.js +1 -0
  312. package/dist/standalone/.next/server/chunks/6665.js +1 -1
  313. package/dist/standalone/.next/server/chunks/6809.js +3 -0
  314. package/dist/standalone/.next/server/chunks/6826.js +1 -1
  315. package/dist/standalone/.next/server/chunks/6926.js +1 -1
  316. package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
  317. package/dist/standalone/.next/server/chunks/6978.js +1 -0
  318. package/dist/standalone/.next/server/chunks/7008.js +114 -9
  319. package/dist/standalone/.next/server/chunks/7192.js +1 -0
  320. package/dist/standalone/.next/server/chunks/7238.js +2 -0
  321. package/dist/standalone/.next/server/chunks/7644.js +3 -3
  322. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  323. package/dist/standalone/.next/server/chunks/781.js +55 -0
  324. package/dist/standalone/.next/server/chunks/7826.js +62 -0
  325. package/dist/standalone/.next/server/chunks/8027.js +11 -1
  326. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  327. package/dist/standalone/.next/server/chunks/8465.js +2 -2
  328. package/dist/standalone/.next/server/chunks/8512.js +1 -0
  329. package/dist/standalone/.next/server/chunks/8513.js +2 -0
  330. package/dist/standalone/.next/server/chunks/8617.js +1 -1
  331. package/dist/standalone/.next/server/chunks/8817.js +1 -1
  332. package/dist/standalone/.next/server/chunks/8966.js +2 -2
  333. package/dist/standalone/.next/server/chunks/8991.js +1 -1
  334. package/dist/standalone/.next/server/chunks/8996.js +1 -1
  335. package/dist/standalone/.next/server/chunks/9296.js +104 -0
  336. package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
  337. package/dist/standalone/.next/server/chunks/9307.js +1 -1
  338. package/dist/standalone/.next/server/chunks/9360.js +199 -0
  339. package/dist/standalone/.next/server/chunks/9403.js +1 -1
  340. package/dist/standalone/.next/server/chunks/9517.js +1 -1
  341. package/dist/standalone/.next/server/chunks/9554.js +47 -0
  342. package/dist/standalone/.next/server/chunks/9676.js +1 -62
  343. package/dist/standalone/.next/server/chunks/9822.js +11 -1
  344. package/dist/standalone/.next/server/chunks/9901.js +1 -62
  345. package/dist/standalone/.next/server/chunks/9940.js +3 -3
  346. package/dist/standalone/.next/server/chunks/9998.js +1 -1
  347. package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
  348. package/dist/standalone/.next/server/files-response-worker.js +6 -6
  349. package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
  350. package/dist/standalone/.next/server/instrumentation.js +1 -1
  351. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  352. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  353. package/dist/standalone/.next/server/middleware.js +4 -4
  354. package/dist/standalone/.next/server/pages/404.html +1 -1
  355. package/dist/standalone/.next/server/pages/500.html +1 -1
  356. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  357. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  358. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
  359. package/dist/standalone/.next/static/836HTp-5V8cZC5YWFVOCk/_buildManifest.js +1 -0
  360. package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
  361. package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
  464. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
  465. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
  466. package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
  467. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
  468. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
  469. package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
  470. package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +125 -0
  471. package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
  472. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
  473. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
  474. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
  475. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
  476. package/dist/standalone/.next/static/css/b25c03e915fd256b.css +1 -0
  477. package/dist/standalone/AGENTS.md +30 -0
  478. package/dist/standalone/node_modules/@next/env/package.json +1 -1
  479. package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  480. package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  481. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
  482. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  483. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  484. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
  485. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
  486. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
  487. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
  488. package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  489. package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
  490. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  491. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  492. package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
  493. package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  494. package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
  495. package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  496. package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
  497. package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  498. package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  499. package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  500. package/dist/standalone/node_modules/next/package.json +10 -10
  501. package/dist/standalone/package.json +5 -5
  502. package/dist/standalone/server.bun.js +1 -1
  503. package/dist/standalone/src/lib/viewerInstrumentation.ts +824 -0
  504. package/package.json +5 -5
  505. package/dist/standalone/.next/server/chunks/112.js +0 -1
  506. package/dist/standalone/.next/server/chunks/2190.js +0 -1
  507. package/dist/standalone/.next/server/chunks/2318.js +0 -2
  508. package/dist/standalone/.next/server/chunks/2371.js +0 -1
  509. package/dist/standalone/.next/server/chunks/2500.js +0 -55
  510. package/dist/standalone/.next/server/chunks/2799.js +0 -1
  511. package/dist/standalone/.next/server/chunks/2870.js +0 -104
  512. package/dist/standalone/.next/server/chunks/3598.js +0 -81
  513. package/dist/standalone/.next/server/chunks/3740.js +0 -126
  514. package/dist/standalone/.next/server/chunks/3953.js +0 -1
  515. package/dist/standalone/.next/server/chunks/411.js +0 -1
  516. package/dist/standalone/.next/server/chunks/4191.js +0 -1
  517. package/dist/standalone/.next/server/chunks/461.js +0 -1
  518. package/dist/standalone/.next/server/chunks/4968.js +0 -2
  519. package/dist/standalone/.next/server/chunks/6333.js +0 -47
  520. package/dist/standalone/.next/server/chunks/6839.js +0 -81
  521. package/dist/standalone/.next/server/chunks/7045.js +0 -319
  522. package/dist/standalone/.next/server/chunks/7159.js +0 -1
  523. package/dist/standalone/.next/server/chunks/8176.js +0 -1
  524. package/dist/standalone/.next/server/chunks/8263.js +0 -81
  525. package/dist/standalone/.next/server/chunks/8392.js +0 -126
  526. package/dist/standalone/.next/server/chunks/9120.js +0 -78
  527. package/dist/standalone/.next/server/chunks/9507.js +0 -1
  528. package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
  529. package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
  610. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
  611. package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
  612. package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
  615. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
  618. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
  619. package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
  620. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
  621. package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
  622. package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
  623. package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
  624. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
  625. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
  626. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
  627. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
  628. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
  629. package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
  630. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
  631. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
  632. package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
  633. package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
  634. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
  635. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
  636. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
  637. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
  638. package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
  639. package/dist/standalone/src/lib/inboxFiles.ts +0 -203
  640. /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → 836HTp-5V8cZC5YWFVOCk}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- exports.id=5480,exports.ids=[5480],exports.modules={2033:(a,b,c)=>{"use strict";c.d(b,{Ol:()=>r,Qm:()=>l,pM:()=>s});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(63657);let k=new Int32Array(new SharedArrayBuffer(4));class l extends Error{constructor(a){super(a),this.name="FileTransactionBusyError"}}function m(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let a="string"==typeof b.startIdentity?b.startIdentity:null;if(!j.B.pidAlive(b.pid))return!0;if(null!==a){let c=j.B.processIdentity(b.pid);return null!==c&&c!==a}return!1}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function n(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function o(a){let b=`${a}.write-lock`,c=`${a}.write-locks`;g().mkdirSync(c,{recursive:!0,mode:448});let d={pid:process.pid,startIdentity:j.B.processIdentity(process.pid),token:e().randomUUID()},f=i().join(c,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);return g().writeFileSync(f,JSON.stringify(d),{encoding:"utf8",flag:"wx",mode:384}),{lockPath:b,queuePath:c,owner:d,ticketPath:f}}function p(a){let b;if(function(a){let b=[];for(let c of g().readdirSync(a.queuePath).filter(a=>a.endsWith(".json")).sort()){let d=i().join(a.queuePath,c);if(m(d)){g().rmSync(d,{force:!0});continue}g().existsSync(d)&&b.push(d)}return b[0]??null}(a)!==a.ticketPath)return null;try{b=g().openSync(a.lockPath,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return m(a.lockPath)&&g().rmSync(a.lockPath,{force:!0}),null}try{return g().writeFileSync(b,JSON.stringify(a.owner),"utf8"),g().fsyncSync(b),b}catch(c){throw g().closeSync(b),g().rmSync(a.lockPath,{force:!0}),c}}function q(a,b){g().closeSync(b),n(a.lockPath,a.owner.token)}function r(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){Atomics.wait(k,0,0,5);continue}try{return c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}async function s(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){await new Promise(a=>setTimeout(a,5));continue}try{return await c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}},21241:(a,b,c)=>{"use strict";let d;c.d(b,{P3:()=>h,x_:()=>g});let e=BigInt(1e6);class f extends Error{constructor(...a){super(...a),this.name="StructuredRuntimeRequirementError"}}function g(a=process.platform,b=process.versions){if("darwin"===a&&!b.bun)throw new f("structured hosts on macOS require the Viewer server to run with Bun")}function h(a){if(!Number.isInteger(a)||a<=0)return null;let b=function(){if(void 0!==d)return d;if("darwin"!==process.platform)return d=null;try{let a=c(85786),b=a.dlopen("/usr/lib/libproc.dylib",{proc_pidinfo:{args:[a.FFIType.i32,a.FFIType.i32,a.FFIType.u64,a.FFIType.ptr,a.FFIType.i32],returns:a.FFIType.i32}});d=(c,d)=>Number(b.symbols.proc_pidinfo(c,3,BigInt(0),a.ptr(d),d.byteLength))}catch{d=null}return d}();if(!b)return null;let f=Buffer.alloc(136);try{var g=b(a,f);if(!Number.isInteger(a)||a<=0||g<136||f.byteLength<136||f.readUInt32LE(12)!==a)return null;let c=f.readBigUInt64LE(120),d=f.readBigUInt64LE(128);return c===BigInt(0)||d>=e?null:`${a}:${c}:${d.toString().padStart(6,"0")}`}catch{return null}}},31592:(a,b,c)=>{"use strict";c.d(b,{He:()=>e,KT:()=>g,pS:()=>f,vI:()=>d});let d="state-staging",e="staging-release.json";function f(a=process.env){return"1"===a.LLV_STAGING}function g(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))throw Error("staging release record is invalid");let c=a.containers;if("string"!=typeof a.revision||!/^[0-9a-f]{40}$/.test(a.revision)||"string"!=typeof a.image||!a.image||"string"!=typeof a.deployedAt||Number.isNaN(Date.parse(a.deployedAt))||!c||"object"!=typeof c||Array.isArray(c)||"string"!=typeof a.endpoint)throw Error("staging release record is invalid");try{b=new URL(a.endpoint)}catch{throw Error("staging release endpoint is invalid")}if("http:"!==b.protocol||!b.port)throw Error("staging release endpoint is invalid");if("string"!=typeof c.viewer||!c.viewer||"string"!=typeof c.runtimeHost||!c.runtimeHost)throw Error("staging release containers are invalid");return{revision:a.revision,image:a.image,endpoint:a.endpoint,containers:{viewer:c.viewer,runtimeHost:c.runtimeHost},deployedAt:a.deployedAt}}},63657:(a,b,c)=>{"use strict";let d,e;c.d(b,{B:()=>O});var f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(70547);let k="/proc";function l(a){try{return g().readFileSync(i().join(k,String(a),"cmdline"),"utf8").split("\0").filter(Boolean)}catch{return[]}}function m(a){try{return g().readlinkSync(i().join(k,String(a),"cwd"))}catch{return null}}function n(a){let b;try{b=g().readFileSync(i().join(k,String(a),"stat"),"utf8")}catch{return null}return b.slice(b.lastIndexOf(")")+2).trim().split(/\s+/)}function o(a){try{return(128&g().lstatSync(a).mode)!=0}catch{return!1}}function p(a){let b;try{b=g().readdirSync(k,{withFileTypes:!0})}catch{return}for(let c of b){let b;if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let d=Number(c.name),e=i().join(k,c.name,"fd");try{b=g().readdirSync(e,{withFileTypes:!0})}catch{continue}for(let c of b){let b,f=i().join(e,c.name);try{b=g().readlinkSync(f)}catch{continue}a(b,d,()=>o(f))}}}let q={name:"linux",pidAlive:function(a){return Number.isInteger(a)&&a>0&&g().existsSync(i().join(k,String(a)))},readArgv:l,readCwd:m,readPpid:function(a){let b=n(a),c=b?Number(b[1]):NaN;return Number.isInteger(c)&&c>1?c:null},processIdentity:function(a){let b=n(a),c=b?.[19];return c?`${a}:${c}`:null},processCpuMs:function(a){let b=n(a),c=Number(b?.[11]),d=Number(b?.[12]);return Number.isFinite(c)&&Number.isFinite(d)?(c+d)/100*1e3:null},readEnvVar:function(a,b){let c;try{c=g().readFileSync(i().join(k,String(a),"environ"),"utf8")}catch{return null}let d=b+"=",e=null;for(let a of c.split("\0"))a.startsWith(d)&&(e=a.slice(d.length));return e},listProcesses:function(){let a,b=[];try{a=g().readdirSync(k,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name);b.push({pid:a,argv:l(a),cwd:m(a),tty:function(a){let b=n(a),c=b?Number(b[4]):NaN;return Number.isInteger(c)&&c>0?c:0}(a)})}return b},systemMemory:function(){try{return(0,j.NW)(g().readFileSync(i().join(k,"meminfo"),"utf8"))}catch{return null}},processMemory:function(a){let b=new Map;for(let c of a)if(Number.isInteger(c)&&!(c<=0))try{b.set(c,(0,j.sW)(g().readFileSync(i().join(k,String(c),"status"),"utf8")))}catch{}return b},ppidMap:function(){let a,b=new Map;try{a=g().readdirSync(k,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name),d=n(a),e=d?Number(d[1]):NaN;Number.isInteger(e)&&e>0&&b.set(a,e)}return b},scanFdTargetsUnder:function(a,b){p(b)},scanFdTargetsFor:function(a,b){p(b)},pidWritesPath:function(a,b){let c,d;try{c=g().realpathSync(b)}catch{c=null}let e=i().join(k,String(a),"fd");try{d=g().readdirSync(e,{withFileTypes:!0})}catch{return!1}for(let a of d){let d,f=i().join(e,a.name);try{d=g().readlinkSync(f)}catch{continue}if((d===b||d===c)&&o(f))return!0}return!1},pidHoldsPath:function(a,b){let c;try{c=g().readdirSync(i().join(k,String(a),"fd"),{withFileTypes:!0})}catch{return!1}for(let d of c)try{if(g().readlinkSync(i().join(k,String(a),"fd",d.name))===b)return!0}catch{continue}return!1}};var r=c(31421),s=c(48161),t=c.n(s),u=c(21241);function v(a,b){let c=(0,r.spawnSync)(a,b,{encoding:"utf8",maxBuffer:0x1000000,timeout:1e4});return c.error||"string"!=typeof c.stdout?"":c.stdout}let w=new Map,x=1,y=/^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.*)$/;function z(a,b){let c=0,d="";for(let e of a.split("\n")){if(!e)continue;let a=e[0],f=e.slice(1);if("p"===a)c=Number(f),d="";else if("f"===a)d="";else if("a"===a)d=f;else if("n"===a&&c>0&&f){let a="w"===d||"u"===d;b(f,c,()=>a)}}}let A=null;function B(){let a=Date.now();if(A&&a-A.at<5e3)return A.byPid;let b=function(a){let b=new Map;for(let c of a.split("\n")){let a=y.exec(c);if(!a)continue;let d=Number(a[1]),e=Number(a[2]),f=(a[4]??"").trim().split(/\s+/).filter(Boolean);b.set(d,{ppid:Number.isInteger(e)&&e>1?e:null,tty:function(a){if(!a||"?"===a||"??"===a||"-"===a)return 0;let b=w.get(a);return void 0===b&&(b=x,x+=1,w.set(a,b)),b}(a[3]??""),argv:f})}return b}(v("ps",["-axo","pid=,ppid=,tty=,args="])),c=function(a){let b=new Map,c=0;for(let d of a.split("\n")){if(!d)continue;let a=d[0],e=d.slice(1);"p"===a?c=Number(e):"n"===a&&c>0&&b.set(c,e)}return b}(v("lsof",["-w","-d","cwd","-Fpn"])),d=new Map;for(let[a,e]of b)d.set(a,{argv:e.argv,ppid:e.ppid,tty:e.tty,cwd:c.get(a)??null});return A={at:a,byPid:d},d}let C={name:"portable",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return B().get(a)?.argv??[]},readCwd:function(a){return B().get(a)?.cwd??null},readPpid:function(a){return B().get(a)?.ppid??null},processIdentity:function(a){return!Number.isInteger(a)||a<=0?null:"darwin"===process.platform?(0,u.P3)(a):null},processCpuMs:function(){return null},readEnvVar:function(){return null},listProcesses:function(){let a=[];for(let[b,c]of B())a.push({pid:b,argv:c.argv,cwd:c.cwd,tty:c.tty});return a},systemMemory:function(){let a=t().totalmem(),b=(0,j.Lc)(v("vm_stat",[]));if(!a||null===b)return null;let c=(0,j.yh)(v("sysctl",["-n","vm.swapusage"]));return{ramTotal:a,ramAvailable:Math.min(b,a),swapTotal:c?.swapTotal??0,swapUsed:c?.swapUsed??0}},processMemory:function(a){let b=new Set;for(let c of a)Number.isInteger(c)&&c>0&&b.add(c);let c=new Map;if(0===b.size)return c;for(let[a,d]of(0,j.CT)(v("ps",["-axo","pid=,rss="])))b.has(a)&&c.set(a,{rssBytes:d,swapBytes:0});return c},ppidMap:function(){let a=new Map;for(let[b,c]of B())null!==c.ppid&&a.set(b,c.ppid);return a},scanFdTargetsUnder:function(a,b){a&&g().existsSync(a)&&z(v("lsof",["-w","+D",a,"-Fpfan"]),b)},scanFdTargetsFor:function(a,b){let c=[...new Set(a.filter(Boolean))];0!==c.length&&z(v("lsof",["-w","-Fpfan","--",...c]),b)},pidWritesPath:function(a,b){let c=!1;return z(v("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),(a,b,d)=>{d()&&(c=!0)}),c},pidHoldsPath:function(a,b){let c=!1;return z(v("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),()=>{c=!0}),c}},D=BigInt(0),E=BigInt("125911584000000000"),F=BigInt(0);function G(a){if(!a)return null;let b=Number(a.trim());return Number.isSafeInteger(b)?b:null}function H(a){let b=a?.trim();return b&&/^\d+$/.test(b)?BigInt(b):null}let I=["ProcessId","ParentProcessId","CommandLine","WorkingSetSize","UserModeTime","KernelModeTime","Created"],J=BigInt(1e4),K=null;function L(){let a,b=Date.now();return K&&b-K.at<5e3?K:K={at:b,data:function(a){let b=new Map,c=function(a){let b=65279===a.charCodeAt(0)?a.slice(1):a,c=[],d=[],e="",f=!1,g=!1,h=()=>{d.push(e),e="",g=!1},i=()=>{h(),(d.length>1||""!==d[0])&&c.push(d),d=[]};for(let a=0;a<b.length;a+=1){let c=b[a];if(f){'"'===c?'"'===b[a+1]?(e+='"',a+=1):f=!1:e+=c;continue}if('"'===c&&!g){f=!0,g=!0;continue}if(","===c){h();continue}if("\r"!==c){if("\n"===c){i();continue}e+=c,g=!0}}return(""!==e||d.length>0)&&i(),c}(a),d=c[0];if(!d)return{rows:b,ppids:new Map};let e=new Map(I.map(a=>[a,d.indexOf(a)])),f=e.get("ProcessId")??-1;if(f<0)return{rows:b,ppids:new Map};let g=(a,b)=>{let c=e.get(b)??-1;return c<0?void 0:a[c]};for(let a of c.slice(1)){let c=G(a[f]);null===c||c<=0||b.set(c,{pid:c,rawPpid:G(g(a,"ParentProcessId")),argv:function(a){let b=[],c=a??"",d=0,e=()=>{for(;d<c.length&&(" "===c[d]||" "===c[d]);)d+=1};if(e(),d>=c.length)return b;let f="";if('"'===c[d]){for(d+=1;d<c.length&&'"'!==c[d];)f+=c[d],d+=1;d<c.length&&(d+=1)}else for(;d<c.length&&" "!==c[d]&&" "!==c[d];)f+=c[d],d+=1;for(b.push(f);e(),!(d>=c.length);){let a="",e=!1;for(;d<c.length;){if("\\"===c[d]){let b=0;for(;d<c.length&&"\\"===c[d];)b+=1,d+=1;if('"'===c[d]){if(a+="\\".repeat(b>>1),b%2==1){a+='"',d+=1;continue}}else{a+="\\".repeat(b);continue}}if('"'===c[d]){d+=1,e&&'"'===c[d]?(a+='"',d+=1):e=!e;continue}if(!e&&(" "===c[d]||" "===c[d]))break;a+=c[d],d+=1}b.push(a)}return b}(g(a,"CommandLine")??""),created:function(a){let b=H(a);return null!==b&&b>BigInt(0)?b:null}(g(a,"Created")),workingSetBytes:Math.max(0,G(g(a,"WorkingSetSize"))??0),cpuMs:function(a,b){let c=H(a),d=H(b);if(null===c&&null===d)return null;let e=((c??BigInt(0))+(d??BigInt(0)))/J;return e>BigInt(Number.MAX_SAFE_INTEGER)?null:Number(e)}(g(a,"UserModeTime"),g(a,"KernelModeTime"))})}return{rows:b,ppids:function(a){let b=new Map;for(let[c,d]of a){let e=d.rawPpid;if(null===e||e<=0||e===c)continue;let f=a.get(e);f&&(null!==f.created&&null!==d.created&&f.created>d.created||b.set(c,e))}return b}(b)}}((a=(0,r.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",Buffer.from("$ErrorActionPreference='SilentlyContinue'\n[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false\nGet-CimInstance Win32_Process |\n Select-Object ProcessId,ParentProcessId,CommandLine,WorkingSetSize,UserModeTime,KernelModeTime,\n @{n='Created';e={if ($_.CreationDate) { $_.CreationDate.ToFileTimeUtc() }}} |\n ConvertTo-Csv -NoTypeInformation","utf16le").toString("base64")],{encoding:"utf8",maxBuffer:0x2000000,timeout:15e3,windowsHide:!0})).error||"string"!=typeof a.stdout?"":a.stdout),cwds:new Map}}function M(a){let b=L(),e=b.cwds.get(a);if(void 0!==e)return e;let f=function(a){if(!Number.isInteger(a)||a<=0)return null;let b=function(){if(void 0!==d)return d;if("win32"!==process.platform)return d=null;try{let a=c(85786),{i32:b,u32:e,u64:f,ptr:g}=a.FFIType,h=a.dlopen("kernel32.dll",{OpenProcess:{args:[e,b,e],returns:f},CloseHandle:{args:[f],returns:b},ReadProcessMemory:{args:[f,f,g,f,g],returns:b},IsWow64Process:{args:[f,g],returns:b}}),i=a.dlopen("ntdll.dll",{NtQueryInformationProcess:{args:[f,b,g,e,g],returns:b}}),j=new Map,k=a=>{let b=j.get(a);if(void 0!==b)return b;for(let b of[1040,4112]){let c=BigInt(h.symbols.OpenProcess(b,0,a));if(c!==D)return j.set(a,c),c}return null},l=(b,c,d)=>{let e=Buffer.alloc(8),f=h.symbols.ReadProcessMemory(b,c,a.ptr(d),BigInt(d.byteLength),a.ptr(e));return 0!==f&&e.readBigUInt64LE(0)===BigInt(d.byteLength)};d={parametersAddress(b){let c=k(b);if(null===c)return null;let d=Buffer.alloc(4);if(0!==h.symbols.IsWow64Process(c,a.ptr(d))&&0!==d.readInt32LE(0))return null;let e=Buffer.alloc(48),f=Buffer.alloc(8),g=i.symbols.NtQueryInformationProcess(c,0,a.ptr(e),48,a.ptr(f));if(0!==g)return null;let j=e.readBigUInt64LE(8);if(j===BigInt(0))return null;let m=Buffer.alloc(8);if(!l(c,j+BigInt(32),m))return null;let n=m.readBigUInt64LE(0);return n===BigInt(0)?null:n},read(a,b,c){let d=k(a);if(null===d||c<=0)return null;let e=Buffer.alloc(c);return l(d,b,e)?e:null},close(a){let b=j.get(a);if(void 0!==b){j.delete(a);try{h.symbols.CloseHandle(b)}catch{}}}}}catch{d=null}return d}();if(!b)return null;try{let c=b.parametersAddress(a);if(null===c)return null;let d=b.read(a,c,80);if(!d)return null;return function(a,b){if(a.byteLength<80)return null;let c=a.readUInt16LE(56),d=a.readBigUInt64LE(64);if(0===c||c%2!=0||c>32766||d===BigInt(0))return null;let e=b(d,c);if(!e||e.byteLength<c)return null;let f=e.subarray(0,c).toString("utf16le");return 0===f.length?null:f}(d,(c,d)=>b.read(a,c,d))}catch{return null}finally{b.close(a)}}(a),g=null===f?null:function(a){let b=a.replace(/\0[\s\S]*$/,"").trim();if(!b)return null;if(/^[A-Za-z]:[\\/]$/.test(b))return b[0].toUpperCase()+":\\";let c=b.replace(/[\\/]+$/,"");return c?/^[a-z]:/.test(c)?c[0].toUpperCase()+c.slice(1):c:null}(f);return b.cwds.set(a,g),g}let N={name:"windows",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return L().data.rows.get(a)?.argv??[]},readCwd:function(a){return M(a)},readPpid:function(a){return L().data.ppids.get(a)??null},processIdentity:function(a){var b=a;if(!Number.isInteger(b)||b<=0)return null;let d=function(){if(void 0!==e)return e;if("win32"!==process.platform)return e=null;try{let a=c(85786),{i32:b,u32:d,u64:f,ptr:g}=a.FFIType,h=a.dlopen("kernel32.dll",{OpenProcess:{args:[d,b,d],returns:f},CloseHandle:{args:[f],returns:b},GetProcessTimes:{args:[f,g,g,g,g],returns:b},GetExitCodeProcess:{args:[f,g],returns:b}});e=(b,c)=>{let d=BigInt(h.symbols.OpenProcess(4096,0,b));if(d===F)return!1;let e=[Buffer.alloc(8),Buffer.alloc(8),Buffer.alloc(8)];try{let b=Buffer.alloc(4);if(0!==h.symbols.GetExitCodeProcess(d,a.ptr(b))&&259!==b.readUInt32LE(0))return!1;return 0!==h.symbols.GetProcessTimes(d,a.ptr(c),a.ptr(e[0]),a.ptr(e[1]),a.ptr(e[2]))}finally{h.symbols.CloseHandle(d)}}}catch{e=null}return e}();if(!d)return null;let f=Buffer.alloc(8);try{var g=d(b,f);if(!Number.isInteger(b)||b<=0||!g||f.byteLength<8)return null;let a=f.readBigUInt64LE(0);return a<E?null:`${b}:${a}`}catch{return null}},processCpuMs:function(a){return L().data.rows.get(a)?.cpuMs??null},readEnvVar:function(){return null},listProcesses:function(){var a=L().data;let b=[];for(let[c,d]of a.rows)b.push({pid:c,argv:d.argv,cwd:!function(a){for(let b of a.slice(0,2)){let a=b.split(/[\\/]/).pop()?.toLowerCase()??"";if("claude"===a||"claude.exe"===a||"codex"===a||"codex.exe"===a)return!0}return!1}(d.argv)?null:M(c),tty:1});return b},systemMemory:function(){let a=t().totalmem();return a?{ramTotal:a,ramAvailable:Math.min(t().freemem(),a),swapTotal:0,swapUsed:0}:null},processMemory:function(a){let b=L().data.rows,c=new Map;for(let d of a){if(!Number.isInteger(d)||d<=0)continue;let a=b.get(d);a&&c.set(d,{rssBytes:a.workingSetBytes,swapBytes:0})}return c},ppidMap:function(){return new Map(L().data.ppids)},scanFdTargetsUnder:function(){},scanFdTargetsFor:function(){},pidWritesPath:function(){return!1},pidHoldsPath:function(){return!1}},O=function(a=process.platform,b=process.env.VIEWER_PROC_BACKEND){return"portable"===b?C:"linux"===b?q:"windows"===b?N:"linux"===a?q:"win32"===a?N:C}()},70547:(a,b,c)=>{"use strict";function d(a,b){let c=RegExp(`^${b}:\\s+(\\d+)\\s*kB`,"m").exec(a);if(!c)return null;let d=Number(c[1]);return Number.isFinite(d)?1024*d:null}function e(a){let b=d(a,"MemTotal"),c=d(a,"MemAvailable");if(null===b||null===c||b<=0)return null;let e=d(a,"SwapTotal")??0,f=d(a,"SwapFree")??e;return{ramTotal:b,ramAvailable:c,swapTotal:e,swapUsed:Math.max(0,e-f)}}function f(a){return{rssBytes:d(a,"VmRSS")??0,swapBytes:d(a,"VmSwap")??0}}function g(a){let b=Number(/page size of (\d+) bytes/.exec(a)?.[1]);if(!Number.isFinite(b)||b<=0)return null;let c=b=>{let c=RegExp(`^${b}:\\s+(\\d+)\\.?`,"m").exec(a);return c?Number(c[1]):null},d=c("Pages free"),e=c("Pages inactive");return null===d||null===e?null:(d+e+(c("Pages purgeable")??0))*b}c.d(b,{CT:()=>k,Lc:()=>g,NW:()=>e,mO:()=>l,sW:()=>f,yh:()=>j});let h=/([\d.]+)\s*([KMGT])/;function i(a){let b=h.exec(a);if(!b)return null;let c=Number(b[1]);return Number.isFinite(c)?Math.round(c*({K:1024,M:1048576,G:0x40000000,T:0x10000000000})[b[2]]):null}function j(a){let b=/total\s*=\s*(\S+)/.exec(a)?.[1],c=/used\s*=\s*(\S+)/.exec(a)?.[1];if(!b||!c)return null;let d=i(b),e=i(c);return null===d||null===e?null:{swapTotal:d,swapUsed:e}}function k(a){let b=new Map;for(let c of a.split("\n")){let a=/^\s*(\d+)\s+(\d+)\s*$/.exec(c);a&&b.set(Number(a[1]),1024*Number(a[2]))}return b}function l(a,b){let c=new Map;for(let[a,d]of b){if(a===d)continue;let b=c.get(d);b?b.push(a):c.set(d,[a])}let d=new Set([a]),e=[],f=[a];for(;f.length;){let a=f.pop();for(let b of(e.push(a),c.get(a)??[]))d.has(b)||(d.add(b),f.push(b))}return e}},78335:()=>{},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>u,Pn:()=>t,UT:()=>o,ks:()=>n,oy:()=>v});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(31592);let k="agent-log-viewer",l="live-log-viewer";function m(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function n(a){return p(m(),a)}function o(a){return p(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function p(a,b){let c=i().join(a,k,b);if(e().existsSync(c))return c;let d=i().join(a,l,b);return e().existsSync(d)?d:c}let q=new Set,r=".migrated-from-legacy";function s(a,b){if("1"===process.env.LLV_RESOURCE_OBSERVATION_WORKER||q.has(a))return;let c=i().join(a,r),d=()=>`${new Date().toISOString()} ${b}
1
+ exports.id=5480,exports.ids=[5480],exports.modules={2033:(a,b,c)=>{"use strict";c.d(b,{FU:()=>m,Ol:()=>t,Qm:()=>l,aO:()=>n,pM:()=>u});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(63657);let k=new Int32Array(new SharedArrayBuffer(4));class l extends Error{constructor(a){super(a),this.name="FileTransactionBusyError"}}class m extends l{constructor(a,b){super(a),this.retryable=!0,this.name="StoreBusyBeforeAdmissionError",b&&"cause"in b&&(this.cause=b.cause)}}async function n(a){let b=!1;try{return await a(()=>{b=!0})}catch(a){if(!b&&a instanceof l&&!(a instanceof m))throw new m(a.message,{cause:a});throw a}}function o(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let a="string"==typeof b.startIdentity?b.startIdentity:null;if(!j.B.pidAlive(b.pid))return!0;if(null!==a){let c=j.B.processIdentity(b.pid);return null!==c&&c!==a}return!1}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function p(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function q(a){let b=`${a}.write-lock`,c=`${a}.write-locks`;g().mkdirSync(c,{recursive:!0,mode:448});let d={pid:process.pid,startIdentity:j.B.processIdentity(process.pid),token:e().randomUUID()},f=i().join(c,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);return g().writeFileSync(f,JSON.stringify(d),{encoding:"utf8",flag:"wx",mode:384}),{lockPath:b,queuePath:c,owner:d,ticketPath:f}}function r(a){let b;if(function(a){let b=[];for(let c of g().readdirSync(a.queuePath).filter(a=>a.endsWith(".json")).sort()){let d=i().join(a.queuePath,c);if(o(d)){g().rmSync(d,{force:!0});continue}g().existsSync(d)&&b.push(d)}return b[0]??null}(a)!==a.ticketPath)return null;try{b=g().openSync(a.lockPath,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return o(a.lockPath)&&g().rmSync(a.lockPath,{force:!0}),null}try{return g().writeFileSync(b,JSON.stringify(a.owner),"utf8"),g().fsyncSync(b),b}catch(c){throw g().closeSync(b),g().rmSync(a.lockPath,{force:!0}),c}}function s(a,b){g().closeSync(b),p(a.lockPath,a.owner.token)}function t(a,b,c){let d=q(a);try{for(let a=0;a<6e3;a+=1){let a=r(d);if(null===a){Atomics.wait(k,0,0,5);continue}try{return c()}finally{s(d,a)}}throw new l(b)}finally{p(d.ticketPath,d.owner.token)}}async function u(a,b,c){let d=q(a);try{for(let a=0;a<6e3;a+=1){let a=r(d);if(null===a){await new Promise(a=>setTimeout(a,5));continue}try{return await c()}finally{s(d,a)}}throw new l(b)}finally{p(d.ticketPath,d.owner.token)}}},21241:(a,b,c)=>{"use strict";let d;c.d(b,{P3:()=>h,x_:()=>g});let e=BigInt(1e6);class f extends Error{constructor(...a){super(...a),this.name="StructuredRuntimeRequirementError"}}function g(a=process.platform,b=process.versions){if("darwin"===a&&!b.bun)throw new f("structured hosts on macOS require the Viewer server to run with Bun")}function h(a){if(!Number.isInteger(a)||a<=0)return null;let b=function(){if(void 0!==d)return d;if("darwin"!==process.platform)return d=null;try{let a=c(85786),b=a.dlopen("/usr/lib/libproc.dylib",{proc_pidinfo:{args:[a.FFIType.i32,a.FFIType.i32,a.FFIType.u64,a.FFIType.ptr,a.FFIType.i32],returns:a.FFIType.i32}});d=(c,d)=>Number(b.symbols.proc_pidinfo(c,3,BigInt(0),a.ptr(d),d.byteLength))}catch{d=null}return d}();if(!b)return null;let f=Buffer.alloc(136);try{var g=b(a,f);if(!Number.isInteger(a)||a<=0||g<136||f.byteLength<136||f.readUInt32LE(12)!==a)return null;let c=f.readBigUInt64LE(120),d=f.readBigUInt64LE(128);return c===BigInt(0)||d>=e?null:`${a}:${c}:${d.toString().padStart(6,"0")}`}catch{return null}}},31592:(a,b,c)=>{"use strict";c.d(b,{He:()=>e,KT:()=>g,pS:()=>f,vI:()=>d});let d="state-staging",e="staging-release.json";function f(a=process.env){return"1"===a.LLV_STAGING}function g(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))throw Error("staging release record is invalid");let c=a.containers;if("string"!=typeof a.revision||!/^[0-9a-f]{40}$/.test(a.revision)||"string"!=typeof a.image||!a.image||"string"!=typeof a.deployedAt||Number.isNaN(Date.parse(a.deployedAt))||!c||"object"!=typeof c||Array.isArray(c)||"string"!=typeof a.endpoint)throw Error("staging release record is invalid");try{b=new URL(a.endpoint)}catch{throw Error("staging release endpoint is invalid")}if("http:"!==b.protocol||!b.port)throw Error("staging release endpoint is invalid");if("string"!=typeof c.viewer||!c.viewer||"string"!=typeof c.runtimeHost||!c.runtimeHost)throw Error("staging release containers are invalid");return{revision:a.revision,image:a.image,endpoint:a.endpoint,containers:{viewer:c.viewer,runtimeHost:c.runtimeHost},deployedAt:a.deployedAt}}},63657:(a,b,c)=>{"use strict";let d,e;c.d(b,{B:()=>O});var f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(70547);let k="/proc";function l(a){try{return g().readFileSync(i().join(k,String(a),"cmdline"),"utf8").split("\0").filter(Boolean)}catch{return[]}}function m(a){try{return g().readlinkSync(i().join(k,String(a),"cwd"))}catch{return null}}function n(a){let b;try{b=g().readFileSync(i().join(k,String(a),"stat"),"utf8")}catch{return null}return b.slice(b.lastIndexOf(")")+2).trim().split(/\s+/)}function o(a){try{return(128&g().lstatSync(a).mode)!=0}catch{return!1}}function p(a){let b;try{b=g().readdirSync(k,{withFileTypes:!0})}catch{return}for(let c of b){let b;if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let d=Number(c.name),e=i().join(k,c.name,"fd");try{b=g().readdirSync(e,{withFileTypes:!0})}catch{continue}for(let c of b){let b,f=i().join(e,c.name);try{b=g().readlinkSync(f)}catch{continue}a(b,d,()=>o(f))}}}let q={name:"linux",pidAlive:function(a){return Number.isInteger(a)&&a>0&&g().existsSync(i().join(k,String(a)))},readArgv:l,readCwd:m,readPpid:function(a){let b=n(a),c=b?Number(b[1]):NaN;return Number.isInteger(c)&&c>1?c:null},processIdentity:function(a){let b=n(a),c=b?.[19];return c?`${a}:${c}`:null},processCpuMs:function(a){let b=n(a),c=Number(b?.[11]),d=Number(b?.[12]);return Number.isFinite(c)&&Number.isFinite(d)?(c+d)/100*1e3:null},readEnvVar:function(a,b){let c;try{c=g().readFileSync(i().join(k,String(a),"environ"),"utf8")}catch{return null}let d=b+"=",e=null;for(let a of c.split("\0"))a.startsWith(d)&&(e=a.slice(d.length));return e},listProcesses:function(){let a,b=[];try{a=g().readdirSync(k,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name);b.push({pid:a,argv:l(a),cwd:m(a),tty:function(a){let b=n(a),c=b?Number(b[4]):NaN;return Number.isInteger(c)&&c>0?c:0}(a)})}return b},systemMemory:function(){try{return(0,j.NW)(g().readFileSync(i().join(k,"meminfo"),"utf8"))}catch{return null}},processMemory:function(a){let b=new Map;for(let c of a)if(Number.isInteger(c)&&!(c<=0))try{b.set(c,(0,j.sW)(g().readFileSync(i().join(k,String(c),"status"),"utf8")))}catch{}return b},ppidMap:function(){let a,b=new Map;try{a=g().readdirSync(k,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name),d=n(a),e=d?Number(d[1]):NaN;Number.isInteger(e)&&e>0&&b.set(a,e)}return b},scanFdTargetsUnder:function(a,b){p(b)},scanFdTargetsFor:function(a,b){p(b)},pidWritesPath:function(a,b){let c,d;try{c=g().realpathSync(b)}catch{c=null}let e=i().join(k,String(a),"fd");try{d=g().readdirSync(e,{withFileTypes:!0})}catch{return!1}for(let a of d){let d,f=i().join(e,a.name);try{d=g().readlinkSync(f)}catch{continue}if((d===b||d===c)&&o(f))return!0}return!1},pidHoldsPath:function(a,b){let c;try{c=g().readdirSync(i().join(k,String(a),"fd"),{withFileTypes:!0})}catch{return!1}for(let d of c)try{if(g().readlinkSync(i().join(k,String(a),"fd",d.name))===b)return!0}catch{continue}return!1}};var r=c(31421),s=c(48161),t=c.n(s),u=c(21241);function v(a,b){let c=(0,r.spawnSync)(a,b,{encoding:"utf8",maxBuffer:0x1000000,timeout:1e4});return c.error||"string"!=typeof c.stdout?"":c.stdout}let w=new Map,x=1,y=/^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.*)$/;function z(a,b){let c=0,d="";for(let e of a.split("\n")){if(!e)continue;let a=e[0],f=e.slice(1);if("p"===a)c=Number(f),d="";else if("f"===a)d="";else if("a"===a)d=f;else if("n"===a&&c>0&&f){let a="w"===d||"u"===d;b(f,c,()=>a)}}}let A=null;function B(){let a=Date.now();if(A&&a-A.at<5e3)return A.byPid;let b=function(a){let b=new Map;for(let c of a.split("\n")){let a=y.exec(c);if(!a)continue;let d=Number(a[1]),e=Number(a[2]),f=(a[4]??"").trim().split(/\s+/).filter(Boolean);b.set(d,{ppid:Number.isInteger(e)&&e>1?e:null,tty:function(a){if(!a||"?"===a||"??"===a||"-"===a)return 0;let b=w.get(a);return void 0===b&&(b=x,x+=1,w.set(a,b)),b}(a[3]??""),argv:f})}return b}(v("ps",["-axo","pid=,ppid=,tty=,args="])),c=function(a){let b=new Map,c=0;for(let d of a.split("\n")){if(!d)continue;let a=d[0],e=d.slice(1);"p"===a?c=Number(e):"n"===a&&c>0&&b.set(c,e)}return b}(v("lsof",["-w","-d","cwd","-Fpn"])),d=new Map;for(let[a,e]of b)d.set(a,{argv:e.argv,ppid:e.ppid,tty:e.tty,cwd:c.get(a)??null});return A={at:a,byPid:d},d}let C={name:"portable",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return B().get(a)?.argv??[]},readCwd:function(a){return B().get(a)?.cwd??null},readPpid:function(a){return B().get(a)?.ppid??null},processIdentity:function(a){return!Number.isInteger(a)||a<=0?null:"darwin"===process.platform?(0,u.P3)(a):null},processCpuMs:function(){return null},readEnvVar:function(){return null},listProcesses:function(){let a=[];for(let[b,c]of B())a.push({pid:b,argv:c.argv,cwd:c.cwd,tty:c.tty});return a},systemMemory:function(){let a=t().totalmem(),b=(0,j.Lc)(v("vm_stat",[]));if(!a||null===b)return null;let c=(0,j.yh)(v("sysctl",["-n","vm.swapusage"]));return{ramTotal:a,ramAvailable:Math.min(b,a),swapTotal:c?.swapTotal??0,swapUsed:c?.swapUsed??0}},processMemory:function(a){let b=new Set;for(let c of a)Number.isInteger(c)&&c>0&&b.add(c);let c=new Map;if(0===b.size)return c;for(let[a,d]of(0,j.CT)(v("ps",["-axo","pid=,rss="])))b.has(a)&&c.set(a,{rssBytes:d,swapBytes:0});return c},ppidMap:function(){let a=new Map;for(let[b,c]of B())null!==c.ppid&&a.set(b,c.ppid);return a},scanFdTargetsUnder:function(a,b){a&&g().existsSync(a)&&z(v("lsof",["-w","+D",a,"-Fpfan"]),b)},scanFdTargetsFor:function(a,b){let c=[...new Set(a.filter(Boolean))];0!==c.length&&z(v("lsof",["-w","-Fpfan","--",...c]),b)},pidWritesPath:function(a,b){let c=!1;return z(v("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),(a,b,d)=>{d()&&(c=!0)}),c},pidHoldsPath:function(a,b){let c=!1;return z(v("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),()=>{c=!0}),c}},D=BigInt(0),E=BigInt("125911584000000000"),F=BigInt(0);function G(a){if(!a)return null;let b=Number(a.trim());return Number.isSafeInteger(b)?b:null}function H(a){let b=a?.trim();return b&&/^\d+$/.test(b)?BigInt(b):null}let I=["ProcessId","ParentProcessId","CommandLine","WorkingSetSize","UserModeTime","KernelModeTime","Created"],J=BigInt(1e4),K=null;function L(){let a,b=Date.now();return K&&b-K.at<5e3?K:K={at:b,data:function(a){let b=new Map,c=function(a){let b=65279===a.charCodeAt(0)?a.slice(1):a,c=[],d=[],e="",f=!1,g=!1,h=()=>{d.push(e),e="",g=!1},i=()=>{h(),(d.length>1||""!==d[0])&&c.push(d),d=[]};for(let a=0;a<b.length;a+=1){let c=b[a];if(f){'"'===c?'"'===b[a+1]?(e+='"',a+=1):f=!1:e+=c;continue}if('"'===c&&!g){f=!0,g=!0;continue}if(","===c){h();continue}if("\r"!==c){if("\n"===c){i();continue}e+=c,g=!0}}return(""!==e||d.length>0)&&i(),c}(a),d=c[0];if(!d)return{rows:b,ppids:new Map};let e=new Map(I.map(a=>[a,d.indexOf(a)])),f=e.get("ProcessId")??-1;if(f<0)return{rows:b,ppids:new Map};let g=(a,b)=>{let c=e.get(b)??-1;return c<0?void 0:a[c]};for(let a of c.slice(1)){let c=G(a[f]);null===c||c<=0||b.set(c,{pid:c,rawPpid:G(g(a,"ParentProcessId")),argv:function(a){let b=[],c=a??"",d=0,e=()=>{for(;d<c.length&&(" "===c[d]||" "===c[d]);)d+=1};if(e(),d>=c.length)return b;let f="";if('"'===c[d]){for(d+=1;d<c.length&&'"'!==c[d];)f+=c[d],d+=1;d<c.length&&(d+=1)}else for(;d<c.length&&" "!==c[d]&&" "!==c[d];)f+=c[d],d+=1;for(b.push(f);e(),!(d>=c.length);){let a="",e=!1;for(;d<c.length;){if("\\"===c[d]){let b=0;for(;d<c.length&&"\\"===c[d];)b+=1,d+=1;if('"'===c[d]){if(a+="\\".repeat(b>>1),b%2==1){a+='"',d+=1;continue}}else{a+="\\".repeat(b);continue}}if('"'===c[d]){d+=1,e&&'"'===c[d]?(a+='"',d+=1):e=!e;continue}if(!e&&(" "===c[d]||" "===c[d]))break;a+=c[d],d+=1}b.push(a)}return b}(g(a,"CommandLine")??""),created:function(a){let b=H(a);return null!==b&&b>BigInt(0)?b:null}(g(a,"Created")),workingSetBytes:Math.max(0,G(g(a,"WorkingSetSize"))??0),cpuMs:function(a,b){let c=H(a),d=H(b);if(null===c&&null===d)return null;let e=((c??BigInt(0))+(d??BigInt(0)))/J;return e>BigInt(Number.MAX_SAFE_INTEGER)?null:Number(e)}(g(a,"UserModeTime"),g(a,"KernelModeTime"))})}return{rows:b,ppids:function(a){let b=new Map;for(let[c,d]of a){let e=d.rawPpid;if(null===e||e<=0||e===c)continue;let f=a.get(e);f&&(null!==f.created&&null!==d.created&&f.created>d.created||b.set(c,e))}return b}(b)}}((a=(0,r.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",Buffer.from("$ErrorActionPreference='SilentlyContinue'\n[Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false\nGet-CimInstance Win32_Process |\n Select-Object ProcessId,ParentProcessId,CommandLine,WorkingSetSize,UserModeTime,KernelModeTime,\n @{n='Created';e={if ($_.CreationDate) { $_.CreationDate.ToFileTimeUtc() }}} |\n ConvertTo-Csv -NoTypeInformation","utf16le").toString("base64")],{encoding:"utf8",maxBuffer:0x2000000,timeout:15e3,windowsHide:!0})).error||"string"!=typeof a.stdout?"":a.stdout),cwds:new Map}}function M(a){let b=L(),e=b.cwds.get(a);if(void 0!==e)return e;let f=function(a){if(!Number.isInteger(a)||a<=0)return null;let b=function(){if(void 0!==d)return d;if("win32"!==process.platform)return d=null;try{let a=c(85786),{i32:b,u32:e,u64:f,ptr:g}=a.FFIType,h=a.dlopen("kernel32.dll",{OpenProcess:{args:[e,b,e],returns:f},CloseHandle:{args:[f],returns:b},ReadProcessMemory:{args:[f,f,g,f,g],returns:b},IsWow64Process:{args:[f,g],returns:b}}),i=a.dlopen("ntdll.dll",{NtQueryInformationProcess:{args:[f,b,g,e,g],returns:b}}),j=new Map,k=a=>{let b=j.get(a);if(void 0!==b)return b;for(let b of[1040,4112]){let c=BigInt(h.symbols.OpenProcess(b,0,a));if(c!==D)return j.set(a,c),c}return null},l=(b,c,d)=>{let e=Buffer.alloc(8),f=h.symbols.ReadProcessMemory(b,c,a.ptr(d),BigInt(d.byteLength),a.ptr(e));return 0!==f&&e.readBigUInt64LE(0)===BigInt(d.byteLength)};d={parametersAddress(b){let c=k(b);if(null===c)return null;let d=Buffer.alloc(4);if(0!==h.symbols.IsWow64Process(c,a.ptr(d))&&0!==d.readInt32LE(0))return null;let e=Buffer.alloc(48),f=Buffer.alloc(8),g=i.symbols.NtQueryInformationProcess(c,0,a.ptr(e),48,a.ptr(f));if(0!==g)return null;let j=e.readBigUInt64LE(8);if(j===BigInt(0))return null;let m=Buffer.alloc(8);if(!l(c,j+BigInt(32),m))return null;let n=m.readBigUInt64LE(0);return n===BigInt(0)?null:n},read(a,b,c){let d=k(a);if(null===d||c<=0)return null;let e=Buffer.alloc(c);return l(d,b,e)?e:null},close(a){let b=j.get(a);if(void 0!==b){j.delete(a);try{h.symbols.CloseHandle(b)}catch{}}}}}catch{d=null}return d}();if(!b)return null;try{let c=b.parametersAddress(a);if(null===c)return null;let d=b.read(a,c,80);if(!d)return null;return function(a,b){if(a.byteLength<80)return null;let c=a.readUInt16LE(56),d=a.readBigUInt64LE(64);if(0===c||c%2!=0||c>32766||d===BigInt(0))return null;let e=b(d,c);if(!e||e.byteLength<c)return null;let f=e.subarray(0,c).toString("utf16le");return 0===f.length?null:f}(d,(c,d)=>b.read(a,c,d))}catch{return null}finally{b.close(a)}}(a),g=null===f?null:function(a){let b=a.replace(/\0[\s\S]*$/,"").trim();if(!b)return null;if(/^[A-Za-z]:[\\/]$/.test(b))return b[0].toUpperCase()+":\\";let c=b.replace(/[\\/]+$/,"");return c?/^[a-z]:/.test(c)?c[0].toUpperCase()+c.slice(1):c:null}(f);return b.cwds.set(a,g),g}let N={name:"windows",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return L().data.rows.get(a)?.argv??[]},readCwd:function(a){return M(a)},readPpid:function(a){return L().data.ppids.get(a)??null},processIdentity:function(a){var b=a;if(!Number.isInteger(b)||b<=0)return null;let d=function(){if(void 0!==e)return e;if("win32"!==process.platform)return e=null;try{let a=c(85786),{i32:b,u32:d,u64:f,ptr:g}=a.FFIType,h=a.dlopen("kernel32.dll",{OpenProcess:{args:[d,b,d],returns:f},CloseHandle:{args:[f],returns:b},GetProcessTimes:{args:[f,g,g,g,g],returns:b},GetExitCodeProcess:{args:[f,g],returns:b}});e=(b,c)=>{let d=BigInt(h.symbols.OpenProcess(4096,0,b));if(d===F)return!1;let e=[Buffer.alloc(8),Buffer.alloc(8),Buffer.alloc(8)];try{let b=Buffer.alloc(4);if(0!==h.symbols.GetExitCodeProcess(d,a.ptr(b))&&259!==b.readUInt32LE(0))return!1;return 0!==h.symbols.GetProcessTimes(d,a.ptr(c),a.ptr(e[0]),a.ptr(e[1]),a.ptr(e[2]))}finally{h.symbols.CloseHandle(d)}}}catch{e=null}return e}();if(!d)return null;let f=Buffer.alloc(8);try{var g=d(b,f);if(!Number.isInteger(b)||b<=0||!g||f.byteLength<8)return null;let a=f.readBigUInt64LE(0);return a<E?null:`${b}:${a}`}catch{return null}},processCpuMs:function(a){return L().data.rows.get(a)?.cpuMs??null},readEnvVar:function(){return null},listProcesses:function(){var a=L().data;let b=[];for(let[c,d]of a.rows)b.push({pid:c,argv:d.argv,cwd:!function(a){for(let b of a.slice(0,2)){let a=b.split(/[\\/]/).pop()?.toLowerCase()??"";if("claude"===a||"claude.exe"===a||"codex"===a||"codex.exe"===a)return!0}return!1}(d.argv)?null:M(c),tty:1});return b},systemMemory:function(){let a=t().totalmem();return a?{ramTotal:a,ramAvailable:Math.min(t().freemem(),a),swapTotal:0,swapUsed:0}:null},processMemory:function(a){let b=L().data.rows,c=new Map;for(let d of a){if(!Number.isInteger(d)||d<=0)continue;let a=b.get(d);a&&c.set(d,{rssBytes:a.workingSetBytes,swapBytes:0})}return c},ppidMap:function(){return new Map(L().data.ppids)},scanFdTargetsUnder:function(){},scanFdTargetsFor:function(){},pidWritesPath:function(){return!1},pidHoldsPath:function(){return!1}},O=function(a=process.platform,b=process.env.VIEWER_PROC_BACKEND){return"portable"===b?C:"linux"===b?q:"windows"===b?N:"linux"===a?q:"win32"===a?N:C}()},70547:(a,b,c)=>{"use strict";function d(a,b){let c=RegExp(`^${b}:\\s+(\\d+)\\s*kB`,"m").exec(a);if(!c)return null;let d=Number(c[1]);return Number.isFinite(d)?1024*d:null}function e(a){let b=d(a,"MemTotal"),c=d(a,"MemAvailable");if(null===b||null===c||b<=0)return null;let e=d(a,"SwapTotal")??0,f=d(a,"SwapFree")??e;return{ramTotal:b,ramAvailable:c,swapTotal:e,swapUsed:Math.max(0,e-f)}}function f(a){return{rssBytes:d(a,"VmRSS")??0,swapBytes:d(a,"VmSwap")??0}}function g(a){let b=Number(/page size of (\d+) bytes/.exec(a)?.[1]);if(!Number.isFinite(b)||b<=0)return null;let c=b=>{let c=RegExp(`^${b}:\\s+(\\d+)\\.?`,"m").exec(a);return c?Number(c[1]):null},d=c("Pages free"),e=c("Pages inactive");return null===d||null===e?null:(d+e+(c("Pages purgeable")??0))*b}c.d(b,{CT:()=>k,Lc:()=>g,NW:()=>e,mO:()=>l,sW:()=>f,yh:()=>j});let h=/([\d.]+)\s*([KMGT])/;function i(a){let b=h.exec(a);if(!b)return null;let c=Number(b[1]);return Number.isFinite(c)?Math.round(c*({K:1024,M:1048576,G:0x40000000,T:0x10000000000})[b[2]]):null}function j(a){let b=/total\s*=\s*(\S+)/.exec(a)?.[1],c=/used\s*=\s*(\S+)/.exec(a)?.[1];if(!b||!c)return null;let d=i(b),e=i(c);return null===d||null===e?null:{swapTotal:d,swapUsed:e}}function k(a){let b=new Map;for(let c of a.split("\n")){let a=/^\s*(\d+)\s+(\d+)\s*$/.exec(c);a&&b.set(Number(a[1]),1024*Number(a[2]))}return b}function l(a,b){let c=new Map;for(let[a,d]of b){if(a===d)continue;let b=c.get(d);b?b.push(a):c.set(d,[a])}let d=new Set([a]),e=[],f=[a];for(;f.length;){let a=f.pop();for(let b of(e.push(a),c.get(a)??[]))d.has(b)||(d.add(b),f.push(b))}return e}},78335:()=>{},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>u,Pn:()=>t,UT:()=>o,ks:()=>n,oy:()=>v});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(31592);let k="agent-log-viewer",l="live-log-viewer";function m(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function n(a){return p(m(),a)}function o(a){return p(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function p(a,b){let c=i().join(a,k,b);if(e().existsSync(c))return c;let d=i().join(a,l,b);return e().existsSync(d)?d:c}let q=new Set,r=".migrated-from-legacy";function s(a,b){if("1"===process.env.LLV_RESOURCE_OBSERVATION_WORKER||q.has(a))return;let c=i().join(a,r),d=()=>`${new Date().toISOString()} ${b}
2
2
  `;try{if(e().existsSync(c))return void q.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),q.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,r),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}q.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),q.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function t(){let a=process.env.LLV_STATE_DIR;if((0,j.pS)()){var b=a;let c=b||i().join(m(),k,j.vI),d=i().resolve(c);if([i().join(m(),k,"state"),i().join(m(),l,"state"),i().join(g().homedir(),".claude","viewer-state")].some(a=>i().resolve(a)===d))throw Error(`staging mode refuses the production state dir ${d}; set LLV_STATE_DIR to a staging-only dir`);return c}if(a)return a;let c=i().join(m(),k,"state");return s(c,i().join(g().homedir(),".claude","viewer-state")),c}function u(...a){return i().join(t(),...a)}function v(){if((0,j.pS)())return u("inbox");let a=i().join(m(),k,"inbox");return s(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};
@@ -1 +1 @@
1
- "use strict";exports.id=5545,exports.ids=[5545],exports.modules={95545:(a,b,c)=>{c.r(b),c.d(b,{productionTelegramConnectorBootPorts:()=>f,provisionTelegramConnectorAtStartup:()=>g});var d=c(19777),e=c(773);let f={hasCredentialedSession:()=>{try{return null!==(0,d.w0)()}catch{return!1}},reportsEnabled:()=>(0,e.rD)().settings.enabled,provision:async()=>{let{telegramService:a}=await Promise.all([c.e(160),c.e(3953),c.e(8465),c.e(2549),c.e(9085)]).then(c.bind(c,99085));await a().checkHealth()},connected:()=>{try{return"connected"===(0,d.Kd)().status}catch{return!1}},log:a=>console.error(`[telegram connector] ${a}`)};async function g(a=f){if(!a.hasCredentialedSession())return"no_session";if(!a.reportsEnabled())return"reports_disabled";try{await a.provision()}catch{return a.log("provision_failed"),"provision_failed"}return a.connected()?"provisioned":(a.log("connector_unavailable"),"unavailable")}}};
1
+ "use strict";exports.id=5545,exports.ids=[5545],exports.modules={95545:(a,b,c)=>{c.r(b),c.d(b,{productionTelegramConnectorBootPorts:()=>f,provisionTelegramConnectorAtStartup:()=>g});var d=c(19777),e=c(773);let f={hasCredentialedSession:()=>{try{return null!==(0,d.w0)()}catch{return!1}},reportsEnabled:()=>(0,e.rD)().settings.enabled,provision:async()=>{let{telegramService:a}=await Promise.all([c.e(8027),c.e(160),c.e(1952),c.e(8465),c.e(2549),c.e(9085)]).then(c.bind(c,99085));await a().checkHealth()},connected:()=>{try{return"connected"===(0,d.Kd)().status}catch{return!1}},log:a=>console.error(`[telegram connector] ${a}`)};async function g(a=f){if(!a.hasCredentialedSession())return"no_session";if(!a.reportsEnabled())return"reports_disabled";try{await a.provision()}catch{return a.log("provision_failed"),"provision_failed"}return a.connected()?"provisioned":(a.log("connector_unavailable"),"unavailable")}}};
@@ -1,2 +1 @@
1
- "use strict";exports.id=568,exports.ids=[411,568,3302,9937],exports.modules={30402:(a,b,c)=>{c.d(b,{ao:()=>p,rB:()=>s}),c(77598);var d=c(73024),e=c.n(d),f=c(91724),g=c(65154),h=c(2033);function i(){return(0,f.BQ)("reply-suggestions.json")}function j(a){return{schemaVersion:1,revision:0,updatedAt:a.toISOString(),sets:[],admissions:[]}}function k(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let{label:b,text:c}=a;return"string"==typeof b&&b.trim()&&"string"==typeof c&&c.trim()?{label:b,text:c}:null}function l(a){let b,c;if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.conversationId||!a.conversationId||"string"!=typeof a.setId||!a.setId||"string"!=typeof a.at||!Number.isFinite(Date.parse(a.at))||!Array.isArray(a.replies))return null;let d=a.replies.map(k).filter(a=>null!==a);return 0===d.length?null:{conversationId:a.conversationId,setId:a.setId,at:a.at,origin:{kind:"manager"===(c=(b=a.origin??{}).kind)||"gateway"===c||"agent"===c?c:"unidentified",conversationId:"string"==typeof b.conversationId?b.conversationId:null,role:"string"==typeof b.role?b.role:null},replies:d.slice(0,6)}}function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"string"==typeof a.conversationId&&a.conversationId&&"string"==typeof a.key&&a.key&&"string"==typeof a.at&&Number.isFinite(Date.parse(a.at))?{conversationId:a.conversationId,key:a.key,at:a.at}:null}function n(a=i(),b=new Date){let c,d;try{c=e().readFileSync(a,"utf8")}catch{return j(b)}try{d=JSON.parse(c)}catch{return j(b)}return 1===d.schemaVersion&&Array.isArray(d.sets)?{schemaVersion:1,revision:Number.isInteger(d.revision)?d.revision:0,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:b.toISOString(),sets:d.sets.map(l).filter(a=>null!==a),admissions:Array.isArray(d.admissions)?d.admissions.map(m).filter(a=>null!==a):[]}:j(b)}function o(a,b){let c=i();return(0,h.Ol)(c,"reply suggestions are busy",()=>{let d=n(c,b),e=a(d,b);return(e.sets||e.admissions)&&(0,g.f)(c,{schemaVersion:1,revision:d.revision+1,updatedAt:b.toISOString(),sets:(e.sets??d.sets).slice(-64),admissions:(e.admissions??d.admissions).slice(-128)}),e.result})}function p(a,b=i()){let c=r(a),d=n(b).sets.find(b=>b.conversationId===a)??null;if(!d||!c)return d;let e=Date.parse(d.at);return Number.isFinite(e)&&e>c.at?d:null}c(56809);let q=new Map;function r(a){let b=q.get(a);if(!b)return null;try{return!function(a,b={}){o(c=>{let d=c.sets.find(b=>b.conversationId===a)??null;if(!d)return{result:!1};if(void 0!==b.offeredAtOrBefore){let a=Date.parse(d.at);if(!Number.isFinite(a)||a>b.offeredAtOrBefore.getTime())return{result:!1}}return{sets:c.sets.filter(b=>b.conversationId!==a),result:!0}},b.now??new Date)}(a,{offeredAtOrBefore:new Date(b.at)}),q.delete(a),null}catch{return b}}function s(a,b,c=""){if(!a)return{cleared:!1,pending:!1};let d=c.trim().slice(0,128),e=r(a),f=e&&d&&e.key===d?new Date(e.at):b;try{return{cleared:o(b=>{let c=d?b.admissions.find(b=>b.conversationId===a&&b.key===d)??null:null,e=c?Date.parse(c.at):NaN,g=Number.isFinite(e)?e:f.getTime(),h=b.sets.find(b=>b.conversationId===a)??null,i=h?Date.parse(h.at):NaN,j=null!==h&&Number.isFinite(i)&&i<=g;return{...j?{sets:b.sets.filter(b=>b.conversationId!==a)}:{},...d&&!c?{admissions:[...b.admissions,{conversationId:a,key:d,at:new Date(g).toISOString()}]}:{},result:j}},new Date),pending:!1}}catch{for(let b of(q.set(a,{at:Math.max(f.getTime(),e?.at??-1/0),key:d}),q.keys())){if(q.size<=64)break;q.delete(b)}return{cleared:!1,pending:!0}}}},32584:(a,b,c)=>{function d(a){return"refused"===a}function e(a){return a.ok?"accepted":!0===a.transportUncertain||a.receipt?.status==="uncertain"?"uncertain":"refused"}c.d(b,{A:()=>d,N:()=>e})},33302:(a,b,c)=>{c.d(b,{NZ:()=>r,OE:()=>m,Tj:()=>u,Yd:()=>t,kg:()=>s,mn:()=>n});var d=c(77598),e=c.n(d),f=c(12500),g=c(89937),h=c(4012);let i=/^[A-Za-z0-9_-]{43}$/,j="x-llv-internal-service",k=/^[a-f0-9]{64}$/,l=["monitor","mcp","orchestrator"];function m(a){let b,c=a.headers.get(h.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"";return c&&i.test(c)?(b=e().createHash("sha256").update(c).digest("hex"),(0,f.agentRegistry)().conversationIdForSpawnCapabilityDigest(b)):null}function n(a){return null===m(a)}let o={ok:!1,status:403,error:"this is an operator-only action; an agent may not perform it, whatever role it holds"},p={ok:!1,status:403,error:"background Viewer activity is outside direct operator activity"};function q(a){return e().createHmac("sha256",(0,g.ensureOperatorSpawnCapability)()).update(`llv-internal-service-v1\0${a}`).digest("hex")}function r(a){return{[j]:`${a}.${q(a)}`}}function s(a){return"valid"===function(a){let b=a.headers.get(j)?.trim()??"";if(!b)return"absent";let c=b.indexOf("."),d=b.slice(0,c),f=b.slice(c+1);if(!l.includes(d)||!k.test(f))return"invalid";try{let a=q(d);return e().timingSafeEqual(Buffer.from(f),Buffer.from(a))?"valid":"invalid"}catch{return"invalid"}}(a)?p:u(a)}function t(a){let b=m(a);return b?{kind:"agent",conversationId:b}:{kind:"operator",conversationId:null}}function u(a){return m(a)?o:{ok:!0}}},40411:(a,b,c)=>{c.d(b,{W:()=>h,applyConversationAction:()=>l});var d=c(12500),e=c(10167),f=c(50201),g=c(78181);let h=["interrupt","kill","resume","compact","dialog-key"],i={registry:d.agentRegistry,structuredEnabled:()=>(0,f.cM)(),dispatchStructuredControl:g.Z,interruptConversation:e.F5,killConversation:e.yv,resumeConversation:e.X$,compactConversation:e.LJ,answerDialogKey:e.m3};function j(a,b){return{status:b,body:{error:a}}}function k(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function l(a,b=i){if(!h.includes(a.action))return j("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return j("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,e=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return j("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||e?.id!==d.id))return j("conversation identity does not own transcript path",409);let f=d??e,g=d?.generations.at(-1)?.path??a.transcriptPath;if("kill"===a.action&&function(a,b){let c=b?.generations.at(-1)?.launchProfile.parentConversationId??null;if(!b||!c||c===b.id)return!1;let d=a.canonicalConversationId(b.id),e=a.readOnlySnapshot().lineageEdges[d];return e?.source!=="viewer-spawn"}(c,f))return{status:409,body:{ok:!1,outcome:"failed",code:"branch-shares-root-host",error:"branch conversations share their root runtime host; dismiss the branch card or terminate the root conversation explicitly"}};if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:g,conversationId:f?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!g)return j("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return k(await b.interruptConversation(g));if("kill"===a.action){let a=await b.killConversation(g);return a.ok&&!a.target?k({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):k(a)}return"resume"===a.action?k(await b.resumeConversation(g)):"compact"===a.action?k(await b.compactConversation(g)):k(await b.answerDialogKey(g,a.key??"",a.label,a.question))}},60568:(a,b,c)=>{c.d(b,{C:()=>I,k:()=>J});var d=c(23211),e=c(50201),f=c(33302),g=c(9848),h=c(67217),i=c(89333),j=c(35961),k=c(30402),l=c(84567),m=c(76760),n=c.n(m),o=c(12500),p=c(14509),q=c(48892),r=c(3743);async function s(a,b={}){let c=b.registry??(0,o.agentRegistry)(),d=c.conversationForPath(a),e=d?.generations.at(-1);if(!d||!e)throw Error("structured conversation is unavailable");let f=c.readOnlySnapshot().entries[(0,q.pp)({engine:d.engine,sessionId:e.id})];if(!f?.structuredHost||"dead"===f.status||"unhosted"===f.status)throw Error("structured conversation has no live host to attach");let g=await (b.spawn??r.jF)({command:`while [ ! -e ${(0,p.ZL)(a)} ]; do sleep 0.2; done; exec tail -n 200 -F -- ${(0,p.ZL)(a)}`,cwd:f.cwd,windowName:`view-${n().basename(a,".jsonl").slice(0,18)}`});return{target:g.paneId,display:g.display}}var t=c(32584),u=c(64487),v=c(40411),w=c(10167),x=c(66942),y=c(24191),z=c(78181),A=c(62318);let B={canonicalTranscriptTarget:u.WV,readTranscriptHosts:u.oe,applyConversationAction:v.applyConversationAction,conversationActions:v.W,deliverConversationMessage:w.Ku,reconfigureConversation:w.vE,allowedKillTarget:x.CP,consumeKillTarget:x.A9,completedFileScan:y.Nm,dispatchStructuredControl:z.Z,enqueueStructuredMessage:async(...a)=>{let{enqueueStructuredMessage:b}=await Promise.resolve().then(c.bind(c,34083));return b(...a)},captureTmuxAttachReference:r.Do,collectImagePayloads:r.Fu,killPane:r.VT,panePidOf:r.zX,resolveRequestedTmuxTarget:r.I6,resolveTmuxAttach:r.e,tmuxEndpointDescriptor:r.xv,recordDirectOperatorWakatimeActivity:A.d};async function C(a,b){let c=b??(await a.completedFileScan()).snapshot.files;return a.readTranscriptHosts(!0,c)}function D(a){if(!a.ok){let{status:b,...c}=a;return d.NextResponse.json(c,{status:b})}return d.NextResponse.json(a)}async function E(a,b,c){let d=(await a.completedFileScan()).snapshot.files;return c&&(0,i.EG)(c)?a.canonicalTranscriptTarget(await C(a,d),c):null===b?null:a.resolveRequestedTmuxTarget(b,d)}class F extends Error{}async function G(a,b,c,d){if(!(0,f.kg)(b).ok)return{byOperator:!1,conversationId:c.conversationId};let e=function(a,b){let c=b.filePath?a.find(a=>a.path===b.filePath):void 0,d=b.conversationId?a.find(a=>a.conversationId===b.conversationId):void 0;if(c&&d&&c.path!==d.path||c?.conversationId&&b.conversationId&&c.conversationId!==b.conversationId||d&&b.filePath&&d.path!==b.filePath)throw new F("operator activity target evidence conflicts");return c||d||(b.filePath||b.conversationId||!b.hasPid?void 0:a.find(a=>a.pid===b.pid))}((await a.completedFileScan()).snapshot.files,c);return a.recordDirectOperatorWakatimeActivity({...c.conversationId?{conversationId:c.conversationId}:{},...c.filePath?{path:c.filePath}:{},...d,...e?{fallbackEntry:e}:{}}),{byOperator:!0,conversationId:c.conversationId||e?.conversationId||""}}function H(a,b=200){return d.NextResponse.json(a,{status:b,headers:{"Cache-Control":"no-store"}})}async function I(a){let b=(0,j.W)(a);if(b)return b;let c=a.nextUrl.searchParams.get("pid"),e=a.nextUrl.searchParams.get("path")??"",f=a.nextUrl.searchParams.get("target")??"";if("1"===a.nextUrl.searchParams.get("attach")){let a;if(!!e==!!f)return H({error:"path or target is required",reason:"tmux-unavailable"},400);if(e){if(!(0,i.EG)(e))return H({error:"invalid transcript path",reason:"tmux-unavailable"},400);let b=(await C(B)).canonicalFor(e);if(null===b)return H({error:"unknown transcript host",reason:"tmux-unavailable"},400);a=B.captureTmuxAttachReference(b)}else{let b=B.allowedKillTarget(f);if(null===b)return H({error:"unknown resource target",reason:"tmux-unavailable"},400);a=b}let b=await B.resolveTmuxAttach(a,B.tmuxEndpointDescriptor());return b.ok?H({attach:{target:b.target,command:b.command,readOnlyCommand:b.readOnlyCommand},endpoint:b.endpoint}):"stale-pane"===b.reason?H({reason:b.reason,error:"This pane changed or closed. Refresh and try again."},409):"server-restarted"===b.reason?H({reason:b.reason,error:"The tmux server restarted. Refresh and try again."},409):H({reason:b.reason,error:"The tmux server is unavailable. Refresh and try again."},503)}let g=Number(c),h=Number.isInteger(g)&&g>0;if(!h&&!e)return d.NextResponse.json({error:"pid or path is required"},{status:400});try{return d.NextResponse.json({target:await E(B,h?g:null,e)})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:409})}}async function J(a){let b,m,n=(0,j.W)(a);if(n)return n;try{b=await a.json()}catch{return d.NextResponse.json({error:"invalid JSON"},{status:400})}if("kill-target"===b.action){let a="string"==typeof b.target?b.target:"",c=B.allowedKillTarget(a);if(null===c)return d.NextResponse.json({error:"unknown target — refresh the resource list"},{status:400});if(await B.panePidOf(c.paneId)!==c.panePid)return B.consumeKillTarget(a),d.NextResponse.json({error:"pane has changed — refresh the resource list"},{status:409});try{return await B.killPane(c.paneId),B.consumeKillTarget(a),d.NextResponse.json({ok:!0,target:a})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let o=Number(b.pid),p=Number.isInteger(o)&&o>0,q="string"==typeof b.path?b.path:"",r="string"==typeof b.conversationId?b.conversationId:"";if(!p&&!q&&!r.startsWith("conversation_"))return d.NextResponse.json({error:"pid, path, or conversationId is required"},{status:400});if("attach-terminal"===b.action){if(!q||!(0,i.EG)(q))return d.NextResponse.json({error:"valid transcript path is required"},{status:400});try{let a=await s(q);return d.NextResponse.json({ok:!0,target:a.target})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:409})}}let u="string"==typeof b.action?b.action:"";if(B.conversationActions.includes(u)){if("dialog-key"===u){let c="string"==typeof b.clientMessageId?b.clientMessageId.trim().slice(0,128):"";try{await G(B,a,{pid:o,hasPid:p,filePath:q,conversationId:r},c?{idempotencyKey:c}:{})}catch(a){if(a instanceof F)return d.NextResponse.json({error:a.message},{status:409});return d.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let c=await B.applyConversationAction({conversationId:r,transcriptPath:q,action:u,..."string"==typeof b.operationId&&b.operationId.trim()?{operationId:b.operationId.trim()}:{},key:"string"==typeof b.key?b.key:"",label:b.label,question:b.question});return d.NextResponse.json(c.body,{status:c.status})}let v=(0,f.OE)(a),w=v?{kind:"agent",conversationId:v}:{kind:"operator"},x="reconfigure"===u&&(0,e.cM)()?await B.dispatchStructuredControl({path:q,conversationId:r,action:u,actor:w,..."reconfigure"===u?{reconfiguration:{model:"string"==typeof b.model?b.model:void 0,effort:"string"==typeof b.effort?b.effort:void 0,fast:"boolean"==typeof b.fast||null===b.fast?b.fast:void 0,accountId:"string"==typeof b.accountId?b.accountId:void 0}}:{}}):null;if(x)return d.NextResponse.json(x.body,{status:x.status});if("reconfigure"===b.action){let a=(await (0,h.CS)()).find(a=>a.path===q);if(!a||"claude"!==a.engine&&"codex"!==a.engine)return d.NextResponse.json({error:"conversation is unavailable"},{status:403});let c=(0,g.y)(a.engine,b);return c.value?D(await B.reconfigureConversation(q,c.value,{actor:w})):d.NextResponse.json({error:c.error??"invalid configuration"},{status:400})}let y="string"==typeof b.text?b.text:"",{images:z,error:A}=B.collectImagePayloads(b);if(A)return d.NextResponse.json({error:A.error},{status:A.status});let C=b.files,E=null==C?{files:[],error:null}:(await c.e(9403).then(c.bind(c,99403))).admitInboxFilePayload({files:C});if(E.error)return d.NextResponse.json({error:E.error.error},{status:E.error.status});if(!y.trim()&&!z.length&&!E.files.length)return d.NextResponse.json({error:"empty message"},{status:400});let H=(0,l.n)(b.origin),I="string"==typeof b.clientMessageId?b.clientMessageId.trim().slice(0,128):"",J=new Date;try{m=await G(B,a,{pid:o,hasPid:p,filePath:q,conversationId:r},I?{idempotencyKey:I}:{})}catch(a){if(a instanceof F)return d.NextResponse.json({error:a.message},{status:409});return d.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}m.byOperator&&(0,k.rB)(m.conversationId,J,I);let K=y,L=[];if(E.files.length){let{buildFilePayload:a,inboxFileBatchToken:b}=await c.e(9403).then(c.bind(c,99403));try{let c=a(y,E.files,b(I));K=c.payload,L=c.filePaths}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:"attachments could not be saved"},{status:500})}}let M=async a=>{L.length&&(0,t.A)(a)&&((await c.e(9403).then(c.bind(c,99403))).deleteInboxFiles(L),L=[])},N=()=>L.length?{filePaths:L}:{};if((0,e.cM)()){let a=await B.enqueueStructuredMessage({path:q,...r?{conversationId:r}:{},..."string"==typeof b.clientMessageId?{clientMessageId:b.clientMessageId.slice(0,128)}:{},text:K.trim(),images:z,...H?{origin:H}:{}});if(a){await M((0,t.N)(a));let{status:b,...c}=a.ok?{...a,status:200}:a;return d.NextResponse.json({...c,...N()},{status:b})}}let O=await B.deliverConversationMessage({pid:p?o:null,path:q,...r?{conversationId:r}:{},..."string"==typeof b.clientMessageId?{clientMessageId:b.clientMessageId.slice(0,128)}:{},text:K,images:z,...H?{origin:H}:{},..."string"==typeof b.model?{resumeModel:b.model}:{},..."string"==typeof b.effort?{resumeEffort:b.effort}:{},..."boolean"==typeof b.fast?{resumeFast:b.fast}:{}});return(await M(O.ok?"accepted":"started"===O.actuation?"uncertain":"refused"),O.ok)?d.NextResponse.json({...O,...N()}):D(O)}},89937:(a,b,c)=>{c.r(b),c.d(b,{OperatorSpawnCapabilityError:()=>l,ensureOperatorSpawnCapability:()=>p,matchesOperatorSpawnCapability:()=>q,operatorSpawnCapabilityPath:()=>m,rotateOperatorSpawnCapability:()=>o});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724);let k=/^[A-Za-z0-9_-]{43}$/;class l extends Error{constructor(a,b,c){const d="object"==typeof c&&null!==c&&"code"in c&&"string"==typeof c.code?` (${c.code})`:"";super(`Viewer operator spawn capability ${a} failed at ${b}${d}`),this.name="OperatorSpawnCapabilityError"}}function m(){return(0,j.BQ)("operator-spawn-capability")}function n(){let a=m();try{let b=g().lstatSync(a);if(!b.isFile()||b.isSymbolicLink())return null;let c=g().readFileSync(a,"utf8").trim();if(!k.test(c))return null;return(511&b.mode)!=384&&g().chmodSync(a,384),c}catch(b){if("object"==typeof b&&null!==b&&"code"in b&&"ENOENT"===b.code)return null;throw new l("read",a,b)}}function o(){let a=e().randomBytes(32).toString("base64url"),b=m(),c=i().dirname(b),d=null;try{g().mkdirSync(c,{recursive:!0,mode:448}),d=i().join(c,`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(d,`${a}
2
- `,{encoding:"utf8",flag:"wx",mode:384}),g().chmodSync(d,384),g().renameSync(d,b)}catch(a){throw new l("write",b,a)}finally{if(d)try{g().rmSync(d,{force:!0})}catch(a){throw new l("write",b,a)}}return a}function p(){return n()??o()}function q(a){if(!k.test(a))return!1;let b=n();return!!b&&e().timingSafeEqual(Buffer.from(a),Buffer.from(b))}}};
1
+ "use strict";exports.id=568,exports.ids=[568,3302,3558],exports.modules={30402:(a,b,c)=>{c.d(b,{ao:()=>p,rB:()=>s}),c(77598);var d=c(73024),e=c.n(d),f=c(91724),g=c(65154),h=c(2033);function i(){return(0,f.BQ)("reply-suggestions.json")}function j(a){return{schemaVersion:1,revision:0,updatedAt:a.toISOString(),sets:[],admissions:[]}}function k(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let{label:b,text:c}=a;return"string"==typeof b&&b.trim()&&"string"==typeof c&&c.trim()?{label:b,text:c}:null}function l(a){let b,c;if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.conversationId||!a.conversationId||"string"!=typeof a.setId||!a.setId||"string"!=typeof a.at||!Number.isFinite(Date.parse(a.at))||!Array.isArray(a.replies))return null;let d=a.replies.map(k).filter(a=>null!==a);return 0===d.length?null:{conversationId:a.conversationId,setId:a.setId,at:a.at,origin:{kind:"manager"===(c=(b=a.origin??{}).kind)||"gateway"===c||"agent"===c?c:"unidentified",conversationId:"string"==typeof b.conversationId?b.conversationId:null,role:"string"==typeof b.role?b.role:null},replies:d.slice(0,6)}}function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"string"==typeof a.conversationId&&a.conversationId&&"string"==typeof a.key&&a.key&&"string"==typeof a.at&&Number.isFinite(Date.parse(a.at))?{conversationId:a.conversationId,key:a.key,at:a.at}:null}function n(a=i(),b=new Date){let c,d;try{c=e().readFileSync(a,"utf8")}catch{return j(b)}try{d=JSON.parse(c)}catch{return j(b)}return 1===d.schemaVersion&&Array.isArray(d.sets)?{schemaVersion:1,revision:Number.isInteger(d.revision)?d.revision:0,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:b.toISOString(),sets:d.sets.map(l).filter(a=>null!==a),admissions:Array.isArray(d.admissions)?d.admissions.map(m).filter(a=>null!==a):[]}:j(b)}function o(a,b){let c=i();return(0,h.Ol)(c,"reply suggestions are busy",()=>{let d=n(c,b),e=a(d,b);return(e.sets||e.admissions)&&(0,g.f)(c,{schemaVersion:1,revision:d.revision+1,updatedAt:b.toISOString(),sets:(e.sets??d.sets).slice(-64),admissions:(e.admissions??d.admissions).slice(-128)}),e.result})}function p(a,b=i()){let c=r(a),d=n(b).sets.find(b=>b.conversationId===a)??null;if(!d||!c)return d;let e=Date.parse(d.at);return Number.isFinite(e)&&e>c.at?d:null}c(56809);let q=new Map;function r(a){let b=q.get(a);if(!b)return null;try{return!function(a,b={}){o(c=>{let d=c.sets.find(b=>b.conversationId===a)??null;if(!d)return{result:!1};if(void 0!==b.offeredAtOrBefore){let a=Date.parse(d.at);if(!Number.isFinite(a)||a>b.offeredAtOrBefore.getTime())return{result:!1}}return{sets:c.sets.filter(b=>b.conversationId!==a),result:!0}},b.now??new Date)}(a,{offeredAtOrBefore:new Date(b.at)}),q.delete(a),null}catch{return b}}function s(a,b,c=""){if(!a)return{cleared:!1,pending:!1};let d=c.trim().slice(0,128),e=r(a),f=e&&d&&e.key===d?new Date(e.at):b;try{return{cleared:o(b=>{let c=d?b.admissions.find(b=>b.conversationId===a&&b.key===d)??null:null,e=c?Date.parse(c.at):NaN,g=Number.isFinite(e)?e:f.getTime(),h=b.sets.find(b=>b.conversationId===a)??null,i=h?Date.parse(h.at):NaN,j=null!==h&&Number.isFinite(i)&&i<=g;return{...j?{sets:b.sets.filter(b=>b.conversationId!==a)}:{},...d&&!c?{admissions:[...b.admissions,{conversationId:a,key:d,at:new Date(g).toISOString()}]}:{},result:j}},new Date),pending:!1}}catch{for(let b of(q.set(a,{at:Math.max(f.getTime(),e?.at??-1/0),key:d}),q.keys())){if(q.size<=64)break;q.delete(b)}return{cleared:!1,pending:!0}}}},32584:(a,b,c)=>{function d(a){return"refused"===a}function e(a){return a.ok?"accepted":!0===a.transportUncertain||a.receipt?.status==="uncertain"?"uncertain":"refused"}c.d(b,{A:()=>d,N:()=>e})},33302:(a,b,c)=>{c.d(b,{NZ:()=>r,OE:()=>m,Tj:()=>u,Yd:()=>t,kg:()=>s,mn:()=>n});var d=c(77598),e=c.n(d),f=c(10781),g=c(89937),h=c(4012);let i=/^[A-Za-z0-9_-]{43}$/,j="x-llv-internal-service",k=/^[a-f0-9]{64}$/,l=["monitor","mcp","orchestrator"];function m(a){let b,c=a.headers.get(h.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"";return c&&i.test(c)?(b=e().createHash("sha256").update(c).digest("hex"),(0,f.agentRegistry)().conversationIdForSpawnCapabilityDigest(b)):null}function n(a){return null===m(a)}let o={ok:!1,status:403,error:"this is an operator-only action; an agent may not perform it, whatever role it holds"},p={ok:!1,status:403,error:"background Viewer activity is outside direct operator activity"};function q(a){return e().createHmac("sha256",(0,g.ensureOperatorSpawnCapability)()).update(`llv-internal-service-v1\0${a}`).digest("hex")}function r(a){return{[j]:`${a}.${q(a)}`}}function s(a){return"valid"===function(a){let b=a.headers.get(j)?.trim()??"";if(!b)return"absent";let c=b.indexOf("."),d=b.slice(0,c),f=b.slice(c+1);if(!l.includes(d)||!k.test(f))return"invalid";try{let a=q(d);return e().timingSafeEqual(Buffer.from(f),Buffer.from(a))?"valid":"invalid"}catch{return"invalid"}}(a)?p:u(a)}function t(a){let b=m(a);return b?{kind:"agent",conversationId:b}:{kind:"operator",conversationId:null}}function u(a){return m(a)?o:{ok:!0}}},53558:(a,b,c)=>{c.d(b,{W:()=>i,applyConversationAction:()=>m});var d=c(10781),e=c(70548),f=c(10167),g=c(50201),h=c(78181);let i=["interrupt","kill","resume","compact","dialog-key"],j={registry:d.agentRegistry,structuredEnabled:()=>(0,g.cM)(),dispatchStructuredControl:h.Z,interruptConversation:f.F5,killConversation:f.yv,resumeConversation:f.X$,compactConversation:f.LJ,answerDialogKey:f.m3};function k(a,b){return{status:b,body:{error:a}}}function l(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function m(a,b=j){if(!i.includes(a.action))return k("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return k("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,f=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return k("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||f?.id!==d.id))return k("conversation identity does not own transcript path",409);let g=d??f,h=g?.generations.at(-1)?.path??a.transcriptPath;if("kill"===a.action&&(0,e.TY)(c,g))return{status:409,body:{ok:!1,outcome:"failed",code:e.yD,error:e.xR}};if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:h,conversationId:g?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!h)return k("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return l(await b.interruptConversation(h));if("kill"===a.action){let a=await b.killConversation(h);return a.ok&&!a.target?l({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):l(a)}return"resume"===a.action?l(await b.resumeConversation(h)):"compact"===a.action?l(await b.compactConversation(h)):l(await b.answerDialogKey(h,a.key??"",a.label,a.question))}},60568:(a,b,c)=>{c.d(b,{C:()=>I,k:()=>J});var d=c(23211),e=c(50201),f=c(33302),g=c(9848),h=c(36917),i=c(89333),j=c(35961),k=c(30402),l=c(84567),m=c(76760),n=c.n(m),o=c(10781),p=c(14509),q=c(48892),r=c(3743);async function s(a,b={}){let c=b.registry??(0,o.agentRegistry)(),d=c.conversationForPath(a),e=d?.generations.at(-1);if(!d||!e)throw Error("structured conversation is unavailable");let f=c.readOnlySnapshot().entries[(0,q.pp)({engine:d.engine,sessionId:e.id})];if(!f?.structuredHost||"dead"===f.status||"unhosted"===f.status)throw Error("structured conversation has no live host to attach");let g=await (b.spawn??r.jF)({command:`while [ ! -e ${(0,p.ZL)(a)} ]; do sleep 0.2; done; exec tail -n 200 -F -- ${(0,p.ZL)(a)}`,cwd:f.cwd,windowName:`view-${n().basename(a,".jsonl").slice(0,18)}`});return{target:g.paneId,display:g.display}}var t=c(32584),u=c(64487),v=c(53558),w=c(10167),x=c(66942),y=c(1849),z=c(78181),A=c(62318);let B={canonicalTranscriptTarget:u.WV,readTranscriptHosts:u.oe,applyConversationAction:v.applyConversationAction,conversationActions:v.W,deliverConversationMessage:w.Ku,reconfigureConversation:w.vE,allowedKillTarget:x.CP,consumeKillTarget:x.A9,completedFileScan:y.Nm,dispatchStructuredControl:z.Z,enqueueStructuredMessage:async(...a)=>{let{enqueueStructuredMessage:b}=await Promise.resolve().then(c.bind(c,34083));return b(...a)},captureTmuxAttachReference:r.Do,collectImagePayloads:r.Fu,killPane:r.VT,panePidOf:r.zX,resolveRequestedTmuxTarget:r.I6,resolveTmuxAttach:r.e,tmuxEndpointDescriptor:r.xv,recordDirectOperatorWakatimeActivity:A.d};async function C(a,b){let c=b??(await a.completedFileScan()).snapshot.files;return a.readTranscriptHosts(!0,c)}function D(a){if(!a.ok){let{status:b,...c}=a;return d.NextResponse.json(c,{status:b})}return d.NextResponse.json(a)}async function E(a,b,c){let d=(await a.completedFileScan()).snapshot.files;return c&&(0,i.EG)(c)?a.canonicalTranscriptTarget(await C(a,d),c):null===b?null:a.resolveRequestedTmuxTarget(b,d)}class F extends Error{}async function G(a,b,c,d){if(!(0,f.kg)(b).ok)return{byOperator:!1,conversationId:c.conversationId};let e=function(a,b){let c=b.filePath?a.find(a=>a.path===b.filePath):void 0,d=b.conversationId?a.find(a=>a.conversationId===b.conversationId):void 0;if(c&&d&&c.path!==d.path||c?.conversationId&&b.conversationId&&c.conversationId!==b.conversationId||d&&b.filePath&&d.path!==b.filePath)throw new F("operator activity target evidence conflicts");return c||d||(b.filePath||b.conversationId||!b.hasPid?void 0:a.find(a=>a.pid===b.pid))}((await a.completedFileScan()).snapshot.files,c);return a.recordDirectOperatorWakatimeActivity({...c.conversationId?{conversationId:c.conversationId}:{},...c.filePath?{path:c.filePath}:{},...d,...e?{fallbackEntry:e}:{}}),{byOperator:!0,conversationId:c.conversationId||e?.conversationId||""}}function H(a,b=200){return d.NextResponse.json(a,{status:b,headers:{"Cache-Control":"no-store"}})}async function I(a){let b=(0,j.W)(a);if(b)return b;let c=a.nextUrl.searchParams.get("pid"),e=a.nextUrl.searchParams.get("path")??"",f=a.nextUrl.searchParams.get("target")??"";if("1"===a.nextUrl.searchParams.get("attach")){let a;if(!!e==!!f)return H({error:"path or target is required",reason:"tmux-unavailable"},400);if(e){if(!(0,i.EG)(e))return H({error:"invalid transcript path",reason:"tmux-unavailable"},400);let b=(await C(B)).canonicalFor(e);if(null===b)return H({error:"unknown transcript host",reason:"tmux-unavailable"},400);a=B.captureTmuxAttachReference(b)}else{let b=B.allowedKillTarget(f);if(null===b)return H({error:"unknown resource target",reason:"tmux-unavailable"},400);a=b}let b=await B.resolveTmuxAttach(a,B.tmuxEndpointDescriptor());return b.ok?H({attach:{target:b.target,command:b.command,readOnlyCommand:b.readOnlyCommand},endpoint:b.endpoint}):"stale-pane"===b.reason?H({reason:b.reason,error:"This pane changed or closed. Refresh and try again."},409):"server-restarted"===b.reason?H({reason:b.reason,error:"The tmux server restarted. Refresh and try again."},409):H({reason:b.reason,error:"The tmux server is unavailable. Refresh and try again."},503)}let g=Number(c),h=Number.isInteger(g)&&g>0;if(!h&&!e)return d.NextResponse.json({error:"pid or path is required"},{status:400});try{return d.NextResponse.json({target:await E(B,h?g:null,e)})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:409})}}async function J(a){let b,m,n=(0,j.W)(a);if(n)return n;try{b=await a.json()}catch{return d.NextResponse.json({error:"invalid JSON"},{status:400})}if("kill-target"===b.action){let a="string"==typeof b.target?b.target:"",c=B.allowedKillTarget(a);if(null===c)return d.NextResponse.json({error:"unknown target — refresh the resource list"},{status:400});if(await B.panePidOf(c.paneId)!==c.panePid)return B.consumeKillTarget(a),d.NextResponse.json({error:"pane has changed — refresh the resource list"},{status:409});try{return await B.killPane(c.paneId),B.consumeKillTarget(a),d.NextResponse.json({ok:!0,target:a})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}}let o=Number(b.pid),p=Number.isInteger(o)&&o>0,q="string"==typeof b.path?b.path:"",r="string"==typeof b.conversationId?b.conversationId:"";if(!p&&!q&&!r.startsWith("conversation_"))return d.NextResponse.json({error:"pid, path, or conversationId is required"},{status:400});if("attach-terminal"===b.action){if(!q||!(0,i.EG)(q))return d.NextResponse.json({error:"valid transcript path is required"},{status:400});try{let a=await s(q);return d.NextResponse.json({ok:!0,target:a.target})}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:409})}}let u="string"==typeof b.action?b.action:"";if(B.conversationActions.includes(u)){if("dialog-key"===u){let c="string"==typeof b.clientMessageId?b.clientMessageId.trim().slice(0,128):"";try{await G(B,a,{pid:o,hasPid:p,filePath:q,conversationId:r},c?{idempotencyKey:c}:{})}catch(a){if(a instanceof F)return d.NextResponse.json({error:a.message},{status:409});return d.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let c=await B.applyConversationAction({conversationId:r,transcriptPath:q,action:u,..."string"==typeof b.operationId&&b.operationId.trim()?{operationId:b.operationId.trim()}:{},key:"string"==typeof b.key?b.key:"",label:b.label,question:b.question});return d.NextResponse.json(c.body,{status:c.status})}let v=(0,f.OE)(a),w=v?{kind:"agent",conversationId:v}:{kind:"operator"},x="reconfigure"===u&&(0,e.cM)()?await B.dispatchStructuredControl({path:q,conversationId:r,action:u,actor:w,..."reconfigure"===u?{reconfiguration:{model:"string"==typeof b.model?b.model:void 0,effort:"string"==typeof b.effort?b.effort:void 0,fast:"boolean"==typeof b.fast||null===b.fast?b.fast:void 0,accountId:"string"==typeof b.accountId?b.accountId:void 0}}:{}}):null;if(x)return d.NextResponse.json(x.body,{status:x.status});if("reconfigure"===b.action){let a=(await (0,h.CS)()).find(a=>a.path===q);if(!a||"claude"!==a.engine&&"codex"!==a.engine)return d.NextResponse.json({error:"conversation is unavailable"},{status:403});let c=(0,g.y)(a.engine,b);return c.value?D(await B.reconfigureConversation(q,c.value,{actor:w})):d.NextResponse.json({error:c.error??"invalid configuration"},{status:400})}let y="string"==typeof b.text?b.text:"",{images:z,error:A}=B.collectImagePayloads(b);if(A)return d.NextResponse.json({error:A.error},{status:A.status});let C=b.files,E=null==C?{files:[],error:null}:(await c.e(9403).then(c.bind(c,99403))).admitInboxFilePayload({files:C});if(E.error)return d.NextResponse.json({error:E.error.error},{status:E.error.status});if(!y.trim()&&!z.length&&!E.files.length)return d.NextResponse.json({error:"empty message"},{status:400});let H=(0,l.n)(b.origin),I="string"==typeof b.clientMessageId?b.clientMessageId.trim().slice(0,128):"",J=new Date;try{m=await G(B,a,{pid:o,hasPid:p,filePath:q,conversationId:r},I?{idempotencyKey:I}:{})}catch(a){if(a instanceof F)return d.NextResponse.json({error:a.message},{status:409});return d.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}m.byOperator&&(0,k.rB)(m.conversationId,J,I);let K=y,L=[];if(E.files.length){let{buildFilePayload:a,inboxFileBatchToken:b}=await c.e(9403).then(c.bind(c,99403));try{let c=a(y,E.files,b(I));K=c.payload,L=c.filePaths}catch(a){return d.NextResponse.json({error:a instanceof Error?a.message:"attachments could not be saved"},{status:500})}}let M=async a=>{L.length&&(0,t.A)(a)&&((await c.e(9403).then(c.bind(c,99403))).deleteInboxFiles(L),L=[])},N=()=>L.length?{filePaths:L}:{};if((0,e.cM)()){let a=await B.enqueueStructuredMessage({path:q,...r?{conversationId:r}:{},..."string"==typeof b.clientMessageId?{clientMessageId:b.clientMessageId.slice(0,128)}:{},text:K.trim(),images:z,...H?{origin:H}:{}});if(a){await M((0,t.N)(a));let{status:b,...c}=a.ok?{...a,status:200}:a;return d.NextResponse.json({...c,...N()},{status:b})}}let O=await B.deliverConversationMessage({pid:p?o:null,path:q,...r?{conversationId:r}:{},..."string"==typeof b.clientMessageId?{clientMessageId:b.clientMessageId.slice(0,128)}:{},text:K,images:z,...H?{origin:H}:{},..."string"==typeof b.model?{resumeModel:b.model}:{},..."string"==typeof b.effort?{resumeEffort:b.effort}:{},..."boolean"==typeof b.fast?{resumeFast:b.fast}:{}});return(await M(O.ok?"accepted":"started"===O.actuation?"uncertain":"refused"),O.ok)?d.NextResponse.json({...O,...N()}):D(O)}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5682,exports.ids=[5682],exports.modules={25682:(a,b,c)=>{c.d(b,{hotStateMigrationApplied:()=>j,hotStateMigrationDryRun:()=>k});var d=c(27146),e=c(98817),f=c(18027),g=c(14928),h=c(96796);function i(a,b){let c=new Set;for(let d of b.keys){if(!d||c.has(d))throw Error(`duplicate or empty ${a} migration key: ${d}`);c.add(d)}return b}function j(){return(0,g.bG)((0,d.BQ)("state.sqlite"),[(0,e.flowStateCollectionSeed)(),...(0,f.pipelineStateCollectionSeeds)(),(0,h.workflowStateCollectionSeed)()])}function k(){let a=(0,f.planPipelineStateMigration)();return{flows:i("flows",(0,e.planFlowStateMigration)()),pipelines:i("pipelines",a.pipelines),pipelinesArchive:i("pipelines_archive",a.archive),workflows:i("workflows",(0,h.planWorkflowStateMigration)())}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5771,exports.ids=[5771],exports.modules={95771:(a,b,c)=>{c.d(b,{adoptStructuredHostsAtStartup:()=>X,releaseStructuredHostsForViewerDemotion:()=>aa});var d=c(26926),e=c(49113),f=c(74382),g=c(10781),h=c(14509),i=c(48892),j=c(15408),k=c(9302),l=c(21241),m=c(23855),n=c(92806),o=c(13896),p=c(98223),q=c(3127),r=c(97810),s=c(38855),t=c(34083),u=c(45656),v=c(40989),w=c(94777),x=c(27930);let y=[],z=[],A=!1,B=null;function C(a,b){let c=new Map(a.map(a=>[(0,i.pp)(a.key),a]));for(let a of b){let b=(0,i.pp)(a.key);c.has(b)||c.set(b,a)}return[...c.values()]}async function D(a,b,c=a.readOnlySnapshot(),d=new Set){let e=[];for(let a of b)!function(a,b,c=new Set){let d=(0,i.pp)(b.key),e=a.entries[d];if(!e?.structuredHost||"dead"===e.status||"unhosted"===e.status)return!1;let f=Object.values(a.conversations).find(a=>a.engine===b.key.engine&&a.generations.at(-1)?.id===b.key.sessionId);return!!(f&&!f.supersededBy&&("terminal"!==f.turn.state||c.has(d)))}(c,a,d)?await a.host.release():e.push(a);return e}let E=["runtime.send","runtime.steer","runtime.inject","runtime.interrupt","runtime.answer","runtime.spawn","runtime.reconfigure","runtime.compact"],F="recovery-continuation",G=[];function H(a,b){z=a;let c=new Set(a.map(a=>(0,i.pp)(a.key)));G=b.filter(a=>c.has(a.hostKey))}async function I(a,b=(0,j.activeOrchestratorSeats)(),c=a.readOnlySnapshot(),d={}){let e=[];for(let f of b){if(!f.conversationId?.startsWith("conversation_"))continue;let b=a.canonicalConversationId(f.conversationId),g=c.conversations[b],h=g?.generations.at(-1);if(!g||!h||g.supersededBy)continue;let j=(0,i.pp)({engine:g.engine,sessionId:h.id}),k=c.entries[j];if(!k?.structuredHost||null!==k.host)continue;let l=await (0,v.kT)(a,b,{...d,snapshot:c});l?.state==="severed"&&"busy"===l.turn&&(console.error("[structured hosts] resuming an orchestrator seat whose turn was severed",{project:f.project,conversationId:b,evidence:l.reason}),e.push({project:f.project,conversationId:b,path:h.path,seatEpoch:f.seatEpoch,hostKey:j,owner:k.structuredHost.process?{...k.structuredHost.process}:null,turnRef:k.structuredHost.activeTurnRef??null,claimEpoch:k.claimEpoch,severed:{kind:l.lastEvent.kind,at:l.lastEvent.at,reason:l.reason}}))}return e}function J(a,b,c,d=a.readOnlySnapshot()){let e=c.find(a=>a.project===b.project);if(!e||"active"!==e.state||e.seatEpoch!==b.seatEpoch||!e.conversationId?.startsWith("conversation_")||a.canonicalConversationId(e.conversationId)!==b.conversationId)return!1;let f=d.conversations[b.conversationId],g=f?.generations.at(-1);if(!f||!g||f.supersededBy||g.path!==b.path||(0,i.pp)({engine:f.engine,sessionId:g.id})!==b.hostKey)return!1;let h=d.entries[b.hostKey];return!!(h?.structuredHost&&null===h.host&&("live"===h.status||"idle"===h.status))}function K(a,b,c,d=a.readOnlySnapshot()){return new Set(b.filter(b=>J(a,b,c,d)).map(a=>a.hostKey))}function L(a,b,c,d,e,f){let g=a.readOnlySnapshot(),h=[];for(let j of c){let c=function(a,b,c,d,e,f,g=Date.now()){let h=a.canonicalConversationId(b.conversationId),j=c.conversations[h],k=j?.generations.at(-1);if(!j||!k)return"the conversation no longer exists";if(j.supersededBy)return"the conversation was superseded";if((0,i.pp)({engine:j.engine,sessionId:k.id})!==b.hostKey)return"the conversation moved to another generation";if(b.seat){let c=d.find(a=>a.project===b.seat.project);if(!c||"active"!==c.state||c.seatEpoch!==b.seat.seatEpoch||!c.conversationId?.startsWith("conversation_")||a.canonicalConversationId(c.conversationId)!==h)return"the orchestrator seat was rotated"}if(f.has(h))return"its pipeline stage is already settled";let l=Date.parse(b.recordedAt);if(g-l>864e5)return"the interruption is too old to resume unattended";if("owed"!==b.state)return null;let m=Object.values(c.heldDeliveries).some(c=>a.canonicalConversationId(c.conversationId)===h&&c.clientMessageId!==b.id&&Date.parse(c.createdAt)>l),n=(e.get(h)??[]).some(a=>a.idempotencyKey!==b.id&&a.at>l);return m||n?"a newer message already resumed the conversation":null}(a,j,g,d,e,f);if(null===c){h.push(j);continue}b.update(j.id,{state:"discharged",resolvedAt:new Date().toISOString(),resolution:c}),console.error("[structured hosts] interrupted turn needs no continuation",{conversationId:j.conversationId,obligation:j.id,reason:c})}return h}async function M(a,b,c,d,e){let f=[];for(let g of d){if(!e.has(g.hostKey))continue;let d=a.readOnlySnapshot(),h=d.entries[g.hostKey]?.structuredHost?.process??null;if(g.owner&&h&&h.pid===g.owner.pid&&h.startIdentity===g.owner.startIdentity)continue;let i=d.conversations[a.canonicalConversationId(g.conversationId)],j=i?.generations.at(-1);if(!i||!j)continue;let k=await (0,t.enqueueStructuredMessage)({path:j.path,conversationId:i.id,clientMessageId:g.id,text:(0,x.at)(g),images:[]},{enabled:()=>!0,client:()=>b,registry:()=>a});if(k?.ok){c.update(g.id,{state:"delivered"===k.outcome?"delivered":"submitted",operationId:k.operationId,attempts:g.attempts+1,..."delivered"===k.outcome?{resolvedAt:new Date().toISOString(),resolution:"delivered"}:{}});continue}let l=k?.error??"structured delivery unavailable",m=k?.status??503;if(console.error("[structured hosts] interrupted turn continuation was not admitted",{conversationId:g.conversationId,obligation:g.id,status:m,error:l}),409===m&&!k?.transportUncertain){c.update(g.id,{state:"failed",attempts:g.attempts+1,resolvedAt:new Date().toISOString(),resolution:l});continue}c.update(g.id,{attempts:g.attempts+1}),f.push(`${g.conversationId}: ${l}`)}return f}function N(a,b){return`${F}-${a}-${b}`}async function O(a,b,c,d,e,f){for(let g of c){let c=(0,i.pp)(g.key),h=d.get(c);if(!h||f.has(h))continue;let j=a.readOnlySnapshot().entries[c];if(!j)throw Error(`adopted Codex registry row disappeared: ${c}`);let k=N(g.key.sessionId,j.claimEpoch),l=e.get(c);if(l){if("failed"===l.receipt.status||"rejected"===l.receipt.status){l.receipt.retryOfOperationId||await b.retryOperation(l.operationId,`${l.receipt.idempotencyKey}-retry-1`,{requireHostedConversationId:h});continue}if(l.operationId===k||"delivered"!==l.receipt.status||l.receipt.retryOfOperationId)continue}await b.command({kind:"send",operationId:k,idempotencyKey:k,conversationId:h,text:"Continue the interrupted turn from the transcript.",policy:"queue",turnId:null})}}async function P(a,b,c){let d=new Map;for(let e of c){let c=(0,i.pp)(e.key),f=a.readOnlySnapshot().entries[c];if(!f)continue;let g=await b.operationStatus(N(e.key.sessionId,f.claimEpoch),{currentRetryLeaf:!0});if(g){d.set(c,g);continue}if(f.claimEpoch<=0)continue;let h=await b.operationStatus(N(e.key.sessionId,f.claimEpoch-1),{currentRetryLeaf:!0});h&&d.set(c,h)}return d}async function Q(a,b=()=>{},c=new Map){let d=a.readOnlySnapshot(),f=new Date().toISOString(),g=Object.values(d.conversations).flatMap(a=>{let b=a.generations.at(-1);if(!b)return[];let c=(0,i.pp)({engine:a.engine,sessionId:b.id}),e=d.entries[c];return e?.structuredHost&&"live"===e.status&&!a.supersededBy?[{conversation:a,generation:b,hostKey:c}]:[]}),h=[],j=new Set,k=0,l=Array.from({length:Math.min(16,g.length)},async()=>{for(;k<g.length;){let a=g[k++];if(!a)continue;let{conversation:b,generation:d,hostKey:i}=a,l=await (0,m.mR)(d.path);if(c.set(i,"complete"===l.integrity?(0,v.Q$)(l.records,b.engine,null).lastEventAt:null),"complete"!==l.integrity){j.add(i);continue}let n=function(a,b,c){if("claude"===b)return(0,e.j)(a,"claude");if(!c)return(0,e.j)(a,"codex",!0);let d=a.findLastIndex(a=>{let b=a.payload;if(!b||"object"!=typeof b||Array.isArray(b))return!1;let c=b.type;return"task_started"===c||"turn_started"===c||"user_message"===c});if(d<0){let b=(0,e.j)(a,"codex",!0);return"terminal"===b.state?{state:"unknown",source:"empty",terminalAt:null}:b}return(0,e.j)(a.slice(d),"codex",!0)}(l.records,b.engine,l.prefixTruncated);("busy"===n.state||"terminal"===n.state)&&h.push({engine:b.engine,path:d.path,accountId:d.accountId,launchProfile:d.launchProfile,turn:n,expectedTurnObservedAt:b.turn.observedAt,observedAt:f})}});return await Promise.all(l),b(),h.length>0&&a.reconcileConversations(h),j}function R(a,b){return b.startsWith("conversation_")?a.canonicalConversationId(b):b}function S(a,b){let c=new Map;for(let d of[...b.recentOperations,...b.sessions.flatMap(a=>a.recentReceipts??[])]){if("send"!==d.kind&&"steer"!==d.kind)continue;let b=Date.parse(d.admittedAt??d.at);if(!Number.isFinite(b))continue;let e=R(a,d.conversationId),f=c.get(e)??[];f.push({idempotencyKey:d.idempotencyKey,at:b}),c.set(e,f)}return c}async function T(a,b){if(!b)return{hostedRunningConversationIds:new Set,pendingOperationConversationIds:new Set,pendingCodexContinuationConversationIds:new Set,admittedMessages:new Map};let c=await b.snapshot(),d=new Set,e=new Set(c.sessions.filter(a=>"hosted"===a.host&&("running"===a.turn||"interrupt_requested"===a.turn)).map(b=>R(a,b.conversationId))),f=new Set,g=new Set,h=S(a,c),i=0;for(;;){let c=await b.effectBatch(E,i);for(let b of c){let c=b.payload.conversationId;if("runtime.reconfigure"===b.kind&&"string"==typeof b.payload.accountId&&"string"==typeof b.payload.operationId){d.add(b.payload.operationId);continue}if("string"==typeof c){let d=R(a,c);f.add(d),"runtime.send"===b.kind&&"string"==typeof b.payload.operationId&&b.payload.operationId.startsWith(`${F}-`)&&g.add(d)}}if(c.length<100)break;let e=Math.max(...c.map(a=>a.eventSeq));if(!Number.isSafeInteger(e)||e<=i)throw Error("structured startup operation page did not advance");i=e}for(let b of c.recentOperations)("pending"===b.status||"queued"===b.status||"delivering"===b.status||"applying"===b.status)&&"kill"!==b.kind&&("reconfigure"===b.kind&&"applying"!==b.status&&d.has(b.operationId)||f.add(R(a,b.conversationId)));return{hostedRunningConversationIds:e,pendingOperationConversationIds:f,pendingCodexContinuationConversationIds:g,admittedMessages:h}}async function U(a,b,c=a.readOnlySnapshot(),d=new Map,e=j.activeOrchestratorSeats,f=new Set,g=new Set,h=new Set,k=new Map,l=new Set){let m,n=new Map(Object.values(c.conversations).flatMap(a=>{let b=a.generations.at(-1);return b?[[(0,i.pp)({engine:a.engine,sessionId:b.id}),a]]:[]})),o=new Set(Object.values(c.heldDeliveries).filter(a=>"held"===a.state||"assigned"===a.state||"delivery-uncertain"===a.state).map(b=>a.canonicalConversationId(b.conversationId)));for(let[a,b]of n){let d=c.entries[a];if(d?.status!=="live"||!d.structuredHost||b.supersededBy||k.has(a))continue;let e=await (0,v.SP)(b.engine,b.generations.at(-1).path);k.set(a,e.lastEventAt)}let p=Date.now(),q=(Number.isFinite(m=Number(process.env.LLV_HOST_ADOPTION_MAX_TURN_AGE_HOURS??6))&&m>0?m:6)*36e5,r=new Set;return c=>{let j=n.get((0,i.pp)(c.key));if(!j||j.supersededBy||h.has(a.canonicalConversationId(j.id)))return!1;if(l.has((0,i.pp)(c.key))&&("live"===c.status||"idle"===c.status))return!0;let m=d.get((0,i.pp)(c.key));if(m?.some(b=>J(a,b,e())))return!0;let s=a.canonicalConversationId(j.id);if(o.has(s)||b.pendingOperationConversationIds.has(s)||"handoff"===c.pendingAction)return!0;if("terminal"===j.turn.state||g.has(s)||f.has((0,i.pp)(c.key)))return!1;let t=b.hostedRunningConversationIds.has(s),u="busy"===j.turn.state||!!c.structuredHost?.activeTurnRef||"live"===c.status&&t;if("live"!==c.status||!u)return!1;let v=(0,i.pp)(c.key),w=k.get(v)??null,x=null===w?null:Math.max(0,p-w);return null!==x&&x<=q||(r.has(v)||(console.warn("[structured hosts] refusing stale turn-claim adoption",{key:v,ageMs:x,maxAgeMs:q}),r.add(v)),!1)}}let V=new Set(["passed","failed","needs_decision","skipped"]);function W(a,b=!0){let c,d=new Set,e=new Set;try{if(!b)throw Error("pipeline admission authority is unavailable");c=(0,o.loadPipelinesForStartup)()}catch(b){for(let[c,d]of(console.error("[structured hosts] pipeline registry unreadable; deferring pipeline adoption",{error:b instanceof Error?b.message:String(b)}),Object.entries(a.readOnlySnapshot().memberships)))d.some(a=>"pipeline"===a.kind)&&e.add(a.canonicalConversationId(c));return{settled:d,deferred:e}}let f=a.readOnlySnapshot().memberships;for(let b of c){let c=b.runs.flatMap(a=>a.attempts).some(a=>a.unresolvedTermination?.survivors.some(a=>"dead"!==(0,k.Ue)(a)));if(c)for(let[c,d]of Object.entries(f))d.some(a=>"pipeline"===a.kind&&a.containerId===b.id)&&e.add(a.canonicalConversationId(c));for(let f of b.runs)for(let b of f.attempts){if(!b.conversationId?.startsWith("conversation_"))continue;let f=a.canonicalConversationId(b.conversationId);V.has(b.state)&&d.add(f),c&&e.add(f)}}return{settled:d,deferred:e}}async function X(a={}){let b=a.assertActive??(()=>{});b(),(0,l.x_)();let c=a.registry??(0,g.agentRegistry)(),e=void 0===a.client?(0,q.sS)():a.client,m=a.orchestratorSeats??j.activeOrchestratorSeats,t=function(a,b){let c=new Map;for(let d of[...a,...b]){let a=`${d.project}\0${d.seatEpoch}\0${d.hostKey}`,b=c.get(a);c.set(a,b?{...d,severed:b.severed}:d)}return[...c.values()]}(G,await I(c,m(),c.readOnlySnapshot(),a.liveness??{})),v=function(a){let b=new Map;for(let c of a){let a=b.get(c.hostKey)??[];a.push(c),b.set(c.hostKey,a)}return b}(t),E=a.interruptions??(0,x.pF)((0,x.pw)(c.filename));for(let a of t)E.record({conversationId:a.conversationId,engine:a.hostKey.startsWith("claude:")?"claude":"codex",hostKey:a.hostKey,path:a.path,owner:a.owner?{pid:a.owner.pid,startIdentity:a.owner.startIdentity}:null,claimEpoch:a.claimEpoch,turnRef:a.turnRef,boundary:`viewer-restart:${a.severed.at??"unrecorded"}`,reason:"viewer-restart",checkpoint:{lastEventKind:a.severed.kind,lastEventAt:a.severed.at},seat:{project:a.project,seatEpoch:a.seatEpoch}});let F=null!==e;e&&!(0,r.SW)(c)&&await (0,r.S8)([],{registry:c,client:e,deferStartupWork:!0}),(0,w.lk)({phase:"refreshing transcripts",completedHosts:0,totalHosts:null});let J=new Map,N=await (a.refreshTranscriptState?a.refreshTranscriptState(c):Q(c,b,J))??new Set;return b(),(0,o.withPipelineStartupAdmission)(async g=>{var j,l,o,I,Q;let R,V,X,$,_;b();let aa=g?(a.pipelineEvidence??W)(c):W(c,!1),ab=new Set(Object.values(c.readOnlySnapshot().conversations).filter(a=>aa.deferred.has(c.canonicalConversationId(a.id))).flatMap(a=>a.generations.map(b=>(0,i.pp)({engine:a.engine,sessionId:b.id})))),ac=K(c,t,m()),ad=function(a,b,c){let d=a.readOnlySnapshot(),e=[];for(let f of c){if("submitted"!==f.state){e.push(f);continue}let c=Object.values(d.heldDeliveries).find(b=>b.clientMessageId===f.id&&a.canonicalConversationId(b.conversationId)===a.canonicalConversationId(f.conversationId)),g=f.operationId?d.deliveryOperationOwners[f.operationId]:void 0,h=c?"delivered"===c.state||"failed"===c.state?c.state:null:g?.terminalState??"delivered";if(null===h){e.push(f);continue}let i="failed"===h?c?.error||g?.terminalReason||"the continuation delivery failed":c||g?"delivered":"delivered; its settled reservation was compacted";b.update(f.id,{state:h,resolvedAt:new Date().toISOString(),resolution:i})}return e}(c,E,E.list().filter(x.ti)),ae=new Set(ad.map(a=>a.hostKey)),af=ae,ag=()=>new Set([...ac,...af]),ah=await D(c,z,c.readOnlySnapshot(),ag());H(ah,t),c.drainDeadSupersededHeldDeliveries(),(0,p.cf)(c,a=>ac.has((0,i.pp)(a.key))||ae.has((0,i.pp)(a.key))||ab.has((0,i.pp)(a.key)));let ai=await T(c,e);af=new Set(L(c,E,ad,m(),ai.admittedMessages,aa.settled).filter(a=>"owed"===a.state).map(a=>a.hostKey));let aj=await U(c,ai,c.readOnlySnapshot(),v,m,N,aa.settled,aa.deferred,J,af),ak=a=>{try{b()}catch{return!1}return aj(a)},al=Object.values(c.readOnlySnapshot().entries).filter(a=>a.structuredHost&&ak(a));if(!F&&al.length>0){z=ah,G=[...t];let a=al.map(a=>(0,i.pp)(a.key));throw A||(A=!0,console.error("[structured hosts] deferring adoption until a delivery controller can claim it",{keys:a})),new q.Hr(`structured delivery controller is unavailable; deferred adoption of ${a.length} host(s): ${a.join(", ")}`)}let am=al.filter(a=>"codex"===a.key.engine).length,an=al.length-am,ao=al.length,ap=0,aq=a=>{b(),(0,w.lk)({phase:a,completedHosts:ap,totalHosts:ao})};aq("adopting Codex hosts");let ar=a.resolveCodexOwner??(a=>d.accountManager.resolveTranscriptOwner("codex",a.artifactPath)),as=a.resolveClaudeOwner??(a=>d.accountManager.resolveTranscriptOwner("claude",a.artifactPath)),at=(0,n.Fd)(process.env),au=await (a.adopt??p.Gd)(c,a=>{let b=ar(a),d=c.rotateSpawnCapabilityForPath(a.artifactPath),e=(0,u.bf)((0,u.oL)(a.launchProfile),at,d);return{cwd:a.cwd,codexHome:b?.home,fileAuthCredentials:b?.kind==="managed",model:a.launchProfile?.model??void 0,effort:a.launchProfile?.effort??void 0,allowSubagents:a.launchProfile?.allowSubagents??!1,mcpServers:a.launchProfile?.mcpServers??["viewer"],plugins:a.launchProfile?.plugins??[],...e.codex,...e.host,env:e.env}},at,ak,()=>{ap+=1,ao=Math.max(ao,ap),(0,w.lk)({phase:"adopting Codex hosts",completedHosts:ap,totalHosts:ao})});ap=Math.max(ap,am),H(ah=C(ah,au),t),aq("adopting Claude hosts");let av=await (a.adoptClaude??p.Fn)(c,a=>{var b,d;let e,g,j=(b=as(a),d=c.rotateSpawnCapabilityForPath(a.artifactPath),e=(0,u.bf)((0,u.oL)(a.launchProfile),(0,n.Fd)(b?.env??at),d),g=b?(0,u.Uk)(b):null,{cwd:a.cwd,claudeConfigDir:g?.claudeConfigDir,claudeProjectsDir:b?.transcriptRoot,spawnPolicyBaseSettingsPath:g?.spawnPolicyBaseSettingsPath??null,allowSubagents:a.launchProfile?.allowSubagents??!1,mcpServers:a.launchProfile?.mcpServers??["viewer"],mcpStatePath:g?.mcpStatePath,readOnly:(0,f.lV)(a.launchProfile),restricted:a.launchProfile?.sandbox==="restricted",env:e.env,...e.host,model:a.launchProfile?.model??void 0,effort:a.launchProfile?.effort??void 0,permissionMode:(0,h.A5)(a.launchProfile??{})});return!j.claudeConfigDir&&j.mcpServers.length>0&&console.error("[structured hosts] resuming a Claude row without the MCP grant it carries",{host:(0,i.pp)(a.key),mcpServers:j.mcpServers,reason:"no Claude account owns this transcript"}),j},at,ak,()=>{ap+=1,ao=Math.max(ao,ap),(0,w.lk)({phase:"adopting Claude hosts",completedHosts:ap,totalHosts:ao})});ap=Math.max(ap,am+an),H(ah=C(ah,av),t),function(a,b,c,d,e=r.sy,f=k.$k){let g=new Set(c.map(a=>(0,i.pp)(a.key))),h=Object.values(a.readOnlySnapshot().entries).filter(a=>a.structuredHost&&d(a.key)&&b(a)&&!g.has((0,i.pp)(a.key))&&!e(a.key));if(0===h.length)return;let j=h.filter(a=>{let b=a.structuredHost?.process;return!!(b&&f(b))}),l=h.filter(a=>!j.includes(a));if(l.length>0&&console.error("[structured hosts] eligible hosts have no live engine process to hand over; leaving them to on-demand hosting",{keys:l.map(a=>(0,i.pp)(a.key))}),0===j.length)return;let m=j.map(a=>(0,i.pp)(a.key));throw console.error("[structured hosts] eligible hosts remain owned by the incumbent Viewer; retrying startup",{keys:m}),new q.Hr(`structured startup left ${m.length} eligible host(s) owned by the incumbent Viewer: ${m.join(", ")}`)}(c,ak,ah,b=>"codex"===b.engine?void 0===a.adopt:void 0===a.adoptClaude,a.hostClaimed),aq("reconciling structured hosts"),ac=K(c,t,m()),H(ah=await D(c,ah,c.readOnlySnapshot(),ag()),t);let aw=new Set(ah.map(a=>(0,i.pp)(a.key))),ax=ah.filter(a=>"codex"===a.key.engine&&!ac.has((0,i.pp)(a.key))&&!ae.has((0,i.pp)(a.key))),ay=e?await P(c,e,ax):new Map;await (0,p.K$)(c,a=>aw.has((0,i.pp)(a.key))||ab.has((0,i.pp)(a.key))||N.has((0,i.pp)(a.key))||ak(a));let az=c.readOnlySnapshot();ac=K(c,t,m(),az),H(ah=await D(c,ah,az,ag()),t);let aA=await U(c,ai,az,v,m,N,aa.settled,aa.deferred,J,af);b();let aB=new Set(ah.map(a=>(0,i.pp)(a.key))),aC=function(a,b,c,d,e=a.readOnlySnapshot()){return new Map(Object.values(e.conversations).flatMap(f=>{let g=f.generations.at(-1);if("codex"!==f.engine||!g)return[];let h={engine:"codex",sessionId:g.id},j=e.entries[(0,i.pp)(h)];return d.has((0,i.pp)(h))?[]:("busy"===f.turn.state||"unknown"===f.turn.state&&(j?.structuredHost?.activeTurnRef||c.has(a.canonicalConversationId(f.id))))&&j?.structuredHost&&b(j)?[[(0,i.pp)(h),f.id]]:[]}))}(c,a=>aB.has((0,i.pp)(a.key))||aA(a),ai.hostedRunningConversationIds,N,az),aD=ah.filter(a=>"codex"===a.key.engine&&!ac.has((0,i.pp)(a.key))&&!ae.has((0,i.pp)(a.key)));if(aq("finalizing structured delivery"),F&&(await (0,r.le)(ah,aq,b),!function(a,b=r.sy){let c=a.filter(a=>!b(a.key));if(0===c.length)return;let d=c.map(a=>(0,i.pp)(a.key));throw console.error("[structured hosts] adopted hosts were left unclaimed by the delivery controller",{keys:d}),new q.Hr(`structured delivery controller did not claim ${c.length} adopted host(s): ${d.join(", ")}`)}(ah,a.hostClaimed)),e){aq("recovering orchestrator deliveries");let a=E.list().filter(a=>(0,x.ti)(a)&&af.has(a.hostKey)&&!ab.has(a.hostKey)),b=0===a.length?[]:L(c,E,a,m(),S(c,await e.snapshot()),aa.settled),d=await M(c,e,E,b,aB);if(aq("recovering interrupted deliveries"),await O(c,e,aD,aC,ay,ai.pendingCodexContinuationConversationIds),aq("kicking recovered deliveries"),await (0,s.l)(),d.length>0)throw new q.Hr(`interrupted turn continuation admission failed: ${d.join("; ")}`)}let aE=Y(c,aa.deferred);return(e&&0===aE.length&&(aq("recovering pending spawns"),await (0,u.Z4)(c,e,{assertActive:b})),b(),y=ah,ab.size>0||aE.length>0)?(z=ah,G=[...t],j=a,l=c,o=[...ab],I=aa.deferred,Q=aE.length,R=`pipeline startup evidence is unresolved; deferred ${o.length} host(s)`+(Q>0?` and ${Q} pending launch receipt(s)`:""),$=(X=null!==(V=B)&&V.conversationIds.size===I.size&&[...I].every(a=>V.conversationIds.has(a))&&V.fencedReceipts===Q)?Math.min(2*V.delayMs,3e4):1e3,B=_={hostKeys:o,conversationIds:new Set(I),fencedReceipts:Q,message:R,delayMs:$},X||console.error(`[structured hosts] ${R}; re-probing the evidence`,{hosts:o,nextProbeMs:$}),Z(j,l,_)):(z=[],G=[],B&&(console.error("[structured hosts] deferred pipeline rows admitted",{hosts:B.hostKeys}),B=null)),y})}function Y(a,b){return 0===b.size?[]:Object.values(a.readOnlySnapshot().receipts).filter(c=>"completed"!==c.state&&"failed"!==c.state&&"conflicted"!==c.state&&b.has(a.canonicalConversationId(c.conversationId)))}function Z(a,b,c){let d=a.schedule??((a,b)=>setTimeout(a,b));d(()=>{if(B===c){try{a.assertActive?.()}catch{return}$(a,b,c)}},c.delayMs).unref?.()}async function $(a,b,c){let d=!0;try{let e=(a.pipelineEvidence??W)(b);d=[...c.conversationIds].every(a=>e.deferred.has(a))&&Y(b,e.deferred).length>=c.fencedReceipts}catch(a){console.error("[structured hosts] deferred pipeline evidence probe failed",{error:a instanceof Error?a.message:String(a)})}if(d){c.delayMs=Math.min(2*c.delayMs,3e4),Z(a,b,c);return}try{await X(a)}catch(d){console.error("[structured hosts] deferred pipeline adoption pass failed; re-probing",{error:d instanceof Error?d.message:String(d)}),B===c&&(c.delayMs=Math.min(2*c.delayMs,3e4),Z(a,b,c))}}async function _(a={}){let b=(0,g.agentRegistry)(),c=C(y,z).filter(a=>!(0,r.sy)(a.key)),d=new Set,e=await Promise.allSettled(c.map(async({key:c,host:e})=>{let f=await e.health();if("active"!==f.status&&"attention"!==f.status||null===f.pid||null===f.processStartIdentity)return;let g=(0,k.y6)(f.pid,void 0,f.processStartIdentity);if(!b.markStructuredHostHandoff(c,g))throw Error("unpublished startup host changed before release handover");try{await (0,r.SD)(b,c,f,a)}catch(a){throw console.error("[viewer release] interrupted turn could not be recorded; leaving its unpublished host running",{hostKey:(0,i.pp)(c),error:a}),a}await e.release(),d.add((0,i.pp)(c))})),f=a=>!d.has((0,i.pp)(a.key));y=y.filter(f),z=z.filter(f);let h=e.flatMap(a=>"rejected"===a.status?[a.reason]:[]);if(h.length)throw AggregateError(h,"unpublished startup hosts did not quiesce")}async function aa(a={}){let b=[];for(let c of[_,r.releaseStructuredDeliveryHostsForDemotion])try{await c(a)}catch(a){b.push(a)}if(b.length)throw AggregateError(b,"structured hosts did not all cross the release boundary")}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5847,exports.ids=[5847],exports.modules={35847:(a,b,c)=>{c.d(b,{hotStateMigrationApplied:()=>j,hotStateMigrationDryRun:()=>k});var d=c(91724),e=c(98590),f=c(13896),g=c(13117),h=c(46825);function i(a,b){let c=new Set;for(let d of b.keys){if(!d||c.has(d))throw Error(`duplicate or empty ${a} migration key: ${d}`);c.add(d)}return b}function j(){return(0,g.bG)((0,d.BQ)("state.sqlite"),[(0,e.flowStateCollectionSeed)(),...(0,f.pipelineStateCollectionSeeds)(),(0,h.workflowStateCollectionSeed)()])}function k(){let a=(0,f.planPipelineStateMigration)();return{flows:i("flows",(0,e.planFlowStateMigration)()),pipelines:i("pipelines",a.pipelines),pipelinesArchive:i("pipelines_archive",a.archive),workflows:i("workflows",(0,h.planWorkflowStateMigration)())}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6023,exports.ids=[6023],exports.modules={6023:(a,b,c)=>{c.r(b),c.d(b,{AccountMigrationController:()=>ah,accountControllerScan:()=>ae,createMigrationDeliveryPort:()=>X.M,reconcileAccountMigrationCycle:()=>aa,startAccountMigrationController:()=>aj,syncCompatibilityRouting:()=>ab});var d=c(78966),e=c(41617),f=c(68797),g=c(22962),h=c(10781),i=c(64487),j=c(12770),k=c(31421),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(98590),q=c(26474),r=c(36917),s=c(1849),t=c(36943),u=c(23921),v=c(93407),w=c(48161),x=c.n(w),y=c(63657),z=c(70547),A=c(3743),B=c(91724);function C(a,b){if(0!==a.tty)return null;let c=a.argv,d=c.indexOf("--output-last-message");return c.includes("exec")&&c.includes("--json")&&!(d<0)&&c.some(a=>/(^|[/\\])codex(?:-[^/\\]+)?$/i.test(a))?function(a,b){if(!a||!o().isAbsolute(a))return null;let c=o().relative(o().resolve(b),o().resolve(a));if(!c||o().isAbsolute(c)||".."===c||c.startsWith(`..${o().sep}`))return null;let d=c.split(o().sep);if(2!==d.length||!d[0])return null;let e=/^round-(\d+)-last-message\.md$/.exec(d[1]);return e?{flowId:d[0],round:Number(e[1])}:null}(c[d+1],b):null}function D(a){return a.argv.some(a=>/(^|[/\\])codex(?:-[^/\\]+)?$/i.test(a))&&(a.argv.includes("exec")||a.argv.includes("app-server"))}function E(a){return a.argv.some(a=>/(^|[/\\])claude(?:-[^/\\]+)?$/i.test(a))}let F=/(?:^|[-_.])mcp(?:[-_.]|$)/i,G=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*(?:@[^\s/]+)?$/i;function H(a){if(!a||!G.test(a))return!1;let b=a.startsWith("@")?a.indexOf("@",a.indexOf("/")+1):a.indexOf("@"),c=b>0?a.slice(0,b):a;return F.test(c.split("/").at(-1)??"")}function I(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("--"===b)break;if("--package"===b||"-p"===b)return a[c+1];if(b.startsWith("--package="))return b.slice(10);if(!b.startsWith("-"))return b}}let J=new Set(["--cache-dir","--color","--config-file","--directory","--project","--python"]);function K(a){var b;if(0!==a.tty)return!1;let c=a.argv;if((b=c[0])&&F.test(o().basename(b)))return!0;let d=o().basename(c[0]??"").toLowerCase();return"npx"===d||"bunx"===d||"uvx"===d?H(I(c,1)):"npm"===d&&("exec"===c[1]||"x"===c[1])||("pnpm"===d||"yarn"===d)&&("dlx"===c[1]||"exec"===c[1])||"bun"===d&&"x"===c[1]?H(I(c,2)):"uv"===d&&function(a){let b=1;for(;b<a.length;){let c=a[b];if("run"===c)return H(I(a,b+1));if("tool"===c&&"run"===a[b+1])return H(I(a,b+2));if(J.has(c)){b+=2;continue}if(c.startsWith("-")){b+=1;continue}break}return!1}(c)}function L(a,b){let c=new Set;for(let b of a.hosts)c.add(b.panePid),c.add(b.agentPid);for(let b of a.panePids)c.add(b);for(let d of a.flows)if("headless"===d.reviewerMode)for(let a of d.rounds){if(!a.reviewerPid||a.verdict||a.error||a.terminalAt)continue;let d=b.get(a.reviewerPid);d&&(a.reviewerIdentity&&d.identity!==a.reviewerIdentity||c.add(a.reviewerPid))}let d=new Set,e=new Map(a.processes.map(a=>[a.pid,a.ppid]));for(let a of c)for(let b of(0,z.mO)(a,e))d.add(b);return d}function M(a){let b=new Map(a.processes.map(a=>[a.pid,a])),c=L(a,b),d=new Set(a.processes.filter(b=>b.ageMs>=a.thresholdMs&&function(a,b){let c=C(a,b.flowArtifactsRoot);if(!c||!a.identity)return!1;let d=b.flows.find(a=>a.id===c.flowId),e=d?.rounds.find(a=>a.n===c.round);return d?.reviewerMode==="headless"&&e?.reviewerPid===a.pid&&e.reviewerIdentity===a.identity}(b,a)&&!c.has(b.pid)).map(a=>a.pid)),e=[];for(let f of a.processes){if(!f.identity||f.ageMs<a.thresholdMs||c.has(f.pid))continue;if(d.has(f.pid)){e.push({pid:f.pid,identity:f.identity,kind:"codex-exec"});continue}if(D(f)||E(f)||!K(f))continue;let g=function(a,b){let c=[],d=new Set([a]),e=b.get(a)?.ppid??0;for(;e>0&&!d.has(e);)c.push(e),d.add(e),e=b.get(e)?.ppid??0;return c}(f.pid,b);!(g.some(a=>d.has(a)||K(b.get(a)??{argv:[],tty:0}))||g.some(a=>D(b.get(a)??{argv:[]}))||g.some(a=>E(b.get(a)??{argv:[]})))&&(g.some(a=>1!==a&&b.has(a))||e.push({pid:f.pid,identity:f.identity,kind:"orphan-mcp"}))}return e.sort((a,b)=>a.pid-b.pid)}let N={listProcesses:()=>y.B.listProcesses(),ppidMap:()=>y.B.ppidMap(),processIdentity:a=>y.B.processIdentity(a),processAgeMs:function(a,b){if(!b)return null;let c=b.slice(b.indexOf(":")+1);if("linux"===y.B.name&&/^\d+$/.test(c))return Math.max(0,1e3*x().uptime()-10*Number(c));let d=Date.parse(c);return Number.isFinite(d)?Math.max(0,Date.now()-d):null},loadFlows:p.loadFlows,readHosts:async()=>(await (0,i.oe)(!0)).hosts,readPanePids:async()=>{let a=await (0,A.m7)(!0);return"failure"===a.kind?null:"available"===a.kind?[...a.panes.keys()]:[]},signalProcess:process.kill,setTimeout:(a,b)=>setTimeout(a,b)};function O(a){let b=new Set;for(let c of a)if("headless"===c.reviewerMode)for(let a of c.rounds)!a.reviewerPid||a.verdict||a.error||a.terminalAt||b.add(a.reviewerPid);return b}function P(a,b){let c=b.loadFlows(),d=O(c),e=b.ppidMap(),f=b.listProcesses().map(a=>({...a,ppid:e.get(a.pid)??0,identity:d.has(a.pid)?b.processIdentity(a.pid):null,ageMs:0})),g=new Map(f.map(a=>[a.pid,a]));return{protectedPids:function(a,b){let c=L(a,b),d=new Map(a.processes.map(a=>[a.pid,a.ppid]));for(let b of a.processes)if(D(b)||E(b))for(let a of(0,z.mO)(b.pid,d))c.add(a);return c}({...a,flows:c,processes:f},g),ppids:e}}function Q(a,b,c=new Set){let d=a.ppidMap();return a.listProcesses().map(e=>{let f=c.has(e.pid)||null!==C(e,b)||K(e),g=f?a.processIdentity(e.pid):null;return{...e,ppid:d.get(e.pid)??0,identity:g,ageMs:f?a.processAgeMs(e.pid,g)??0:0}})}async function R(a){let b={...N,...a.dependencies},c=a.thresholdMs??function(a=process.env){let b=Number(a.LLV_HEADLESS_REAPER_THRESHOLD_MS);return Number.isFinite(b)&&b>=6e4?b:72e5}(),d=a.flowArtifactsRoot??(0,B.BQ)("flows"),e=await b.readPanePids();if(null===e)return{candidates:0,signaled:0};let f=a.flows??b.loadFlows(),g=M({processes:Q(b,d,O(f)),flows:f,hosts:a.hosts,panePids:e,flowArtifactsRoot:d,thresholdMs:c}),h=0;for(let e of g){let[f,g,i]=await Promise.all([b.readHosts(),Promise.resolve(b.loadFlows()),b.readPanePids()]);if(null===i)continue;let j={processes:Q(b,d,O(g)),flows:g,hosts:f,panePids:i,flowArtifactsRoot:d,thresholdMs:c},k=M(j).find(a=>a.pid===e.pid&&a.identity===e.identity&&a.kind===e.kind);if(k){if("codex-exec"===k.kind){if(!function(a,b,c){if(b.processIdentity(a.pid)!==a.identity)return!1;try{b.signalProcess(-a.pid,"SIGTERM")}catch{if(b.processIdentity(a.pid)!==a.identity)return!1;try{b.signalProcess(a.pid,"SIGTERM")}catch{return!1}}let d=b.setTimeout(()=>{try{b.signalProcess(-a.pid,"SIGKILL")}catch{}},c);return d.unref?.(),!0}(k,b,a.shutdownGraceMs??3e3))continue}else if(!function(a,b,c,d){let e,f=new Map(b.processes.map(a=>[a.pid,a.identity]));try{e=P(b,c)}catch{return!1}let{ppids:g,protectedPids:h}=e,i=(0,z.mO)(a.pid,g).reverse();if(i.some(a=>h.has(a)))return!1;let j=i.map(a=>{let b=f.get(a)??null,d=c.processIdentity(a);return{pid:a,observedIdentity:b,expectedIdentity:d,eligible:!!(d&&(!b||b===d))}}),k=j.find(b=>b.pid===a.pid);if(k?.observedIdentity!==a.identity||k.expectedIdentity!==a.identity)return!1;for(let a of j)if(a.eligible&&a.expectedIdentity&&c.processIdentity(a.pid)===a.expectedIdentity)try{c.signalProcess(a.pid,"SIGTERM")}catch{}let l=c.setTimeout(()=>{let a;try{a=P(b,c).protectedPids}catch{return}for(let b of j)if(!a.has(b.pid)&&b.eligible&&b.expectedIdentity&&c.processIdentity(b.pid)===b.expectedIdentity)try{c.signalProcess(b.pid,"SIGKILL")}catch{}},d);return l.unref?.(),!0}(k,j,b,a.shutdownGraceMs??3e3))continue;h+=1}}return{candidates:g.length,signaled:h}}var S=c(54072),T=c(21153),U=c(46825),V=c(92806),W=c(59371),X=c(54606),Y=c(81533),Z=c(91596),$=c(90169);let _=(0,X.M)();async function aa(a,b,c=new Z.wh,d=_){a.compactDeliveryReservations(),await (0,j.Lh)();let e=Promise.all([b.tick("claude"),b.tick("codex")]);try{await (0,W.c0)(c,d,a)}finally{await e}}function ab(a){let b=a.readOnlySnapshot().engineRouting,c=(()=>{try{return!!(b.claude.activeAccountId&&b.claude.activeAccountId!==(0,d.No)())}catch{return!0}})(),f=(()=>{try{return!!(b.codex.activeAccountId&&b.codex.activeAccountId!==(0,e.O)())}catch{return!0}})();(c||f)&&(0,g.oV)(()=>{let b=a.readOnlySnapshot(),c=b.engineRouting.claude.activeAccountId,f=b.engineRouting.codex.activeAccountId;try{c&&c!==(0,d.No)()&&(0,d.ss)(c)}catch{}try{f&&f!==(0,e.O)()&&(0,e.b0)(f)}catch{}})}async function ac(){let a=(0,e.J0)();await Promise.all((0,e.Sq)().map(async b=>{if("managed"===b.kind){b.loginPane&&!a&&(0,e.yG)(b.id,null),(0,f.VD)().peekLogin(b).attemptState&&await (0,f.VD)().loginSnapshot(b);return}if(!b.loginPane)return;let c=await (0,A.RZ)(b.loginPane.paneId);(0,e.hg)(b.authPresent,b.loginPane,c).clear&&!a&&(0,e.yG)(b.id,null)}))}let ad={files:[],projectCatalog:[],complete:!1};function ae(a=process.env,b=s.TF,c=t.wj){return"1"!==a.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER?c():Promise.resolve(b()??ad)}async function af(a,b){await ac();let c=await (0,i.oe)(!0,b);try{await (0,v.RU)({registry:a,hosts:c.hosts,files:b})}catch(a){console.error("[agent reaper] lifecycle reconciliation failed",a)}try{let a=await R({hosts:c.hosts,flows:(0,p.loadFlows)()});a.signaled>0&&console.warn(`[headless process reaper] terminated ${a.signaled} stale process group(s)`)}catch(a){console.error("[headless process reaper] reconciliation failed",a)}}let ag={scan:()=>ae(),reconcileInventory:W.VB,reconcileFlowOwnership:p.reconcileFlowConversationOwnershipCooperatively,reconcileWorkflowOwnership:U.reconcileWorkflowConversationOwnershipCooperatively,reconcileHandoffOwnership:q.d5,reconcileFiles:r.CR,reconcileRuntime:af,reconcileTaskStore:function(a,b){let c=(0,h.oP)(a.readOnlySnapshot());(0,T.z4)(a=>{let d=(0,S.fq)(b,a,{pathForPanePid:(a,b)=>(0,S.iI)(b,a,u.Ib),panePidAlive:u.pl,conversationIdForPath:a=>c.conversationForPath(a)?.id??null,canonicalConversationId:a=>a.startsWith("conversation_")?c.canonicalConversationId(a):null,pathForConversationId:a=>a.startsWith("conversation_")?c.conversation(a)?.generations.at(-1)?.path??null:null});return{tasks:d.dirty?d.tasks:void 0,result:void 0}})},syncRouting:ab,reconcileMigrationCycle:aa};class ah{constructor(a=(0,h.agentRegistry)(),b=new $.fi(a),c=null,d={}){this.registry=a,this.quota=b,this.cycle=c,this.running=null,this.trailingCycleRequested=!1,this.ports={...ag,...d}}tick(){return this.running?this.trailingCycleRequested=!0:this.running=this.runRequestedCycles().finally(()=>{this.running=null}),this.running}poll(){return this.running?this.running:this.tick()}async runRequestedCycles(){let a=null;do{this.trailingCycleRequested=!1;try{await (this.cycle?.()??this.run())}catch(b){a??=b}}while(this.trailingCycleRequested);if(a)throw a}async run(){let{files:a,complete:b}=await this.ports.scan();if(!b)return;await (0,j.Lh)();let c=await this.ports.reconcileInventory(this.registry,a);await (0,j.Lh)();let d=(0,h.oP)(c);await this.ports.reconcileFlowOwnership(d),await this.ports.reconcileWorkflowOwnership(d),await this.ports.reconcileHandoffOwnership(d),await (0,j.Lh)(),await this.ports.reconcileFiles(a),await (0,j.Lh)(),await this.ports.reconcileRuntime(this.registry,a),await (0,j.Lh)(),await this.ports.reconcileTaskStore(this.registry,a),await (0,j.Lh)(),await this.ports.syncRouting(this.registry),await this.ports.reconcileMigrationCycle(this.registry,this.quota)}}let ai=globalThis;async function aj(){await (0,j.Lh)();let a=(0,h.agentRegistry)(),b=new $.fi(a);if("1"===process.env.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER)return void function(a,b){let c=ai.__llvAccountMigrationController??=new ah(a,b);if(!ai.__llvAccountMigrationTimer){let a=setInterval(()=>void c.poll().catch(a=>{console.error("[account migration controller] durable reconciliation tick failed",a)}),6e4);a.unref?.(),ai.__llvAccountMigrationTimer=a}if(!ai.__llvAccountMigrationBootstrapStarted){ai.__llvAccountMigrationBootstrapStarted=!0;let a=setTimeout(()=>{ai.__llvAccountMigrationInitialTimer=void 0,c.poll().catch(a=>{console.error("[account migration controller] initial inventory reconciliation failed",a)})},1e3);a.unref?.(),ai.__llvAccountMigrationInitialTimer=a}}(a,b);let c=ai.__llvAccountMigrationFastController??=new ah(a,b,()=>aa(a,b));(0,Y.c)(()=>c.tick()),c.tick().catch(a=>{console.error("[account migration controller] initial durable reconciliation failed",a)}),function a(){if(ai.__llvAccountMigrationInventoryWorker)return;let b=function(a=process.cwd()){let b=o().join(a,"src/lib/accountMigrationController.worker.ts"),c=o().join(a,".next/server/account-migration-controller-worker.js");return m().existsSync(b)&&m().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:m().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:{executable:process.execPath,workerPath:b}}(),c=m().existsSync("/usr/bin/nice"),d=(0,k.spawn)(c?"/usr/bin/nice":b.executable,[...c?["-n","10",b.executable]:[],b.workerPath],{cwd:process.cwd(),stdio:["ignore","inherit","inherit"],env:{...(0,V.Fd)(process.env),LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER:"1"}});ai.__llvAccountMigrationInventoryWorker=d,d.once("error",a=>{console.error("[account migration controller] inventory worker failed to start",a)}),d.once("exit",(b,c)=>{if(ai.__llvAccountMigrationInventoryWorker===d&&(ai.__llvAccountMigrationInventoryWorker=void 0),ai.__llvAccountMigrationInventoryWorkerRestart)return;console.error("[account migration controller] inventory worker exited",{code:b,signal:c});let e=setTimeout(()=>{ai.__llvAccountMigrationInventoryWorkerRestart=void 0,a()},1e3);e.unref?.(),ai.__llvAccountMigrationInventoryWorkerRestart=e})}()}},54072:(a,b,c)=>{c.d(b,{fq:()=>j,iI:()=>i});var d=c(76760),e=c.n(d);function f(a){return!("claude-projects"!==a.root||!a.path.endsWith(".jsonl")||a.path.includes(e().sep+"subagents"+e().sep))&&2===a.name.split(e().sep).length}function g(a,b){return h(a,new Map(b.map(a=>[a.path,a])))}function h(a,b){let c=b.get(a);if(!c?.parent||c.handoff)return null;let d=b.get(c.parent);return d&&f(c)&&f(d)?d.path:null}function i(a,b,c){if(!Number.isInteger(b)||b<=0)return null;for(let d of a){if(null===d.pid)continue;let a=new Set;for(let e=d.pid;null!==e&&!a.has(e)&&(a.add(e),!(a.size>15));e=c(e))if(e===b)return d.path}return null}function j(a,b,c={}){let d=!1,e=new Map(a.map(a=>[a.path,a])),f=c.successorForPath?c:{...c,successorForPath:a=>h(a,e)},i=b.map(b=>{let c=!1,h=b.assignments.map(b=>{let d=function(a,b,c,d){let e=a,f=!1;if(e.conversationId){let a=d.canonicalConversationId?.(e.conversationId)??e.conversationId;a!==e.conversationId&&(e={...e,conversationId:a},f=!0)}if(e.path&&!e.conversationId){let a=d.conversationIdForPath?.(e.path)??c.get(e.path)?.conversationId??null;a&&(e={...e,conversationId:a},f=!0)}let h=d.now?.()??new Date().toISOString();if(e.path){let a=(e.conversationId?d.pathForConversationId?.(e.conversationId)??null:null)??function(a,b,c){let d=c??g,e=new Set([a]),f=a,h=null;for(;;){let a=d(f,b);if(!a||e.has(a))return h;h=a,f=a,e.add(f)}}(e.path,b,d.successorForPath);if(a&&a!==e.path){let b="handoff"===e.state||"linked"===e.state?e.state:"delivered";return{assignment:{...e,path:a,state:b,error:null,at:h},dirty:!0}}return{assignment:e,dirty:f}}if(null!==e.panePid){let a=d.pathForPanePid?.(e.panePid,b)??null;if(a){let b=d.conversationIdForPath?.(a)??c.get(a)?.conversationId??null;return{assignment:{...e,path:a,...b?{conversationId:b}:{},state:"delivered",error:null,at:h},dirty:!0}}if(!(d.panePidAlive?.(e.panePid)??!0)&&"failed"!==e.state)return{assignment:{...e,state:"failed",error:"agent did not start",at:h},dirty:!0}}return{assignment:e,dirty:f}}(b,a,e,f);return d.dirty&&(c=!0),d.assignment});return c?(d=!0,{...b,assignments:h,updatedAt:f.now?.()??new Date().toISOString()}):b});return{tasks:d?i:b,dirty:d}}},54606:(a,b,c)=>{c.d(b,{M:()=>f});var d=c(10167),e=c(34083);function f(a={}){let b=a.structuredDelivery??e.deliverHeldStructuredMessage,c=a.legacyDelivery??(async({delivery:a,path:b,clientMessageId:c})=>{if("runtime-images"===a.payloadKind)return"delivery-uncertain";let e=await (0,d.Ku)({pid:null,path:b,text:a.text,images:[],clientMessageId:c,reservedDeliveryId:a.id,...a.command.origin?{origin:a.command.origin}:{}});return(0,d.$n)(e)}),g=({delivery:a,path:c,clientMessageId:d})=>b({conversationId:a.conversationId,runtimeConversationId:a.runtimeConversationId,path:c,deliveryId:a.id,clientMessageId:d,text:a.text,command:a.command,...a.runtimeImages.length?{imageRefs:a.runtimeImages}:{}});return{deliver:async a=>await g(a)??c(a),reconcileUncertain:async a=>await g(a)??"delivery-uncertain"}}},90169:(a,b,c)=>{c.d(b,{GU:()=>n,W7:()=>s,_W:()=>t,d4:()=>r,fi:()=>u,wS:()=>o});var d=c(77598),e=c.n(d),f=c(78966),g=c(14565),h=c(22962),i=c(41617),j=c(68797),k=c(10781),l=c(26784),m=c(58996);async function n(a,b,c){let d=await (0,m.Ki)({account:a,liveReader:async()=>b.rateLimits,now:()=>c});return{engine:"codex",accountId:a.id,authenticated:b.authenticated,authCheckedAt:c,limits:d.data,provenance:{source:d.source,reason:b.authenticated?d.reason:"unsupported-account-type",staleSince:null},observedAt:c,envelope:b.envelope,resetCredits:function(a){if(!a)return null;let b=(a.credits??[]).filter(a=>"available"===a.status&&null!==a.expiresAt).map(a=>a.expiresAt);return{availableCount:a.availableCount,expiresAt:b.length?Math.min(...b):null}}(b.resetCredits)}}function o(a,b){return{engine:a.engine,accountId:a.accountId,authenticated:a.authenticated,authCheckedAt:new Date(a.authCheckedAt??a.observedAt).toISOString(),limits:a.limits,provenance:a.provenance,observedAt:new Date(a.observedAt).toISOString(),bootId:b,resetCredits:a.resetCredits??null}}async function p(a,b,c={}){let d=c.authStatus??g.kR.status,e=await d(a.home).catch(()=>({loggedIn:!1,indeterminate:!0}));if(e.indeterminate)throw Error("quota-auth-indeterminate");if(!e.loggedIn)return{engine:"claude",accountId:a.id,authenticated:!1,authCheckedAt:b,limits:null,provenance:{source:"unavailable",reason:"live authentication check failed",staleSince:null},observedAt:b};let f=await (0,m.WB)(a,{now:()=>b,force:c.force});return{engine:"claude",accountId:a.id,authenticated:!0,authCheckedAt:b,limits:f.data,provenance:{source:f.provenance.source,reason:f.provenance.reason,staleSince:f.provenance.staleSince},observedAt:f.observedAt??b}}let q={list:a=>"claude"===a?(0,f.Fn)():(0,i.Sq)(),active:a=>"claude"===a?(0,f.No)():(0,i.O)(),async probe(a,b,c,d){if("claude"===a)return await p(b,c,d);try{let a=await (0,j.VD)().probeQuota(b);return await n(b,a,c)}catch(e){let d=await (0,m.Ki)({account:b,liveReader:async()=>Promise.reject(e)});if(!d.data)throw e;return{engine:a,accountId:b.id,authenticated:!1,authCheckedAt:c,limits:d.data,provenance:{source:d.source,reason:d.reason,staleSince:null},observedAt:c,envelope:null}}}},r=q,s=15e3;function t(a){return new Promise((b,c)=>{let d=setTimeout(()=>c(Error("quota-probe-timeout")),a);d.unref?.()})}class u{constructor(a=(0,k.agentRegistry)(),b=q,c=e().randomUUID(),d=()=>Date.now(),f=s){this.registry=a,this.probe=b,this.bootId=c,this.now=d,this.probeTimeoutMs=f}carryForward(a,b,c,d){let e=this.registry.readOnlySnapshot().quotaObservations[a][b];return e?.limits?{engine:a,accountId:b,authenticated:e.authenticated,authCheckedAt:Date.parse(e.authCheckedAt)||d,limits:e.limits,provenance:{source:"cache",reason:c,staleSince:e.provenance.staleSince??e.observedAt},observedAt:Date.parse(e.observedAt)||d,envelope:null,resetCredits:e.resetCredits??null}:{engine:a,accountId:b,authenticated:!1,authCheckedAt:d,limits:null,provenance:{source:"unavailable",reason:c,staleSince:null},observedAt:d,envelope:null}}async tick(a){await (0,h.Cu)(async()=>this.tickLocked(a))}async tickLocked(a){let b=this.now(),c=this.probe.list(a),d=await Promise.all(c.map(async c=>{try{let d=await Promise.race([this.probe.probe(a,c,b),t(this.probeTimeoutMs)]);if(d.authenticated&&!d.limits)return this.carryForward(a,c.id,d.provenance.reason??"quota-probe-empty",b);let e=this.registry.readOnlySnapshot().quotaObservations[a][c.id];if(d.authenticated&&e?.limits&&Date.parse(e.observedAt)>d.observedAt)return this.carryForward(a,c.id,d.provenance.reason??"quota-probe-older",b);return d}catch(e){let d=e instanceof Error&&"quota-probe-timeout"===e.message?"quota-probe-timeout":"quota-probe-failed";return this.carryForward(a,c.id,d,b)}}));if(d.forEach((b,d)=>{let e=c[d];(0,l.pq)({engine:a,accountId:b.accountId,accountKind:e.kind,envelope:b.envelope??null,probePhase:"account-rate-limits",provenance:b.provenance.source,reasonCode:b.provenance.reason})}),"claude"===a)for(let a of d)a.limits&&(0,m.Nj)(a.accountId,a.limits,a.observedAt,b);let e=d.map(b=>o({...b,engine:a},this.bootId));this.registry.recordQuotaEvaluation({engine:a,observations:e,signature:null,evidence:null,bootId:this.bootId,now:new Date(b).toISOString(),minimumGapMs:6e4})}}}};