agent-log-viewer 0.11.7 → 1.0.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 (619) hide show
  1. package/README.md +218 -39
  2. package/bin/cli.mjs +60 -16
  3. package/bin/mcp-server.mjs +136 -0
  4. package/bin/mcp-server.test.ts +266 -0
  5. package/bin/provision-telegram-connector.mjs +193 -0
  6. package/bin/server-runtime.mjs +53 -0
  7. package/bin/server-runtime.test.ts +161 -0
  8. package/bin/tailscale-credential-isolation.test.ts +56 -0
  9. package/bin/tailscale.mjs +6 -4
  10. package/bin/telegram-login-bridge.py +253 -0
  11. package/bin/telegram-mcp-server.py +106 -0
  12. package/bin/telegram-session-reader.mjs +6 -0
  13. package/bin/telegram-session-validator.mjs +71 -0
  14. package/dist/mcp-server.mjs +48505 -0
  15. package/dist/standalone/.next/BUILD_ID +1 -1
  16. package/dist/standalone/.next/app-path-routes-manifest.json +73 -9
  17. package/dist/standalone/.next/build-manifest.json +6 -6
  18. package/dist/standalone/.next/prerender-manifest.json +3 -3
  19. package/dist/standalone/.next/react-loadable-manifest.json +89 -0
  20. package/dist/standalone/.next/required-server-files.json +12 -2
  21. package/dist/standalone/.next/routes-manifest.json +402 -0
  22. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -0
  23. package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
  24. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  25. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  26. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  27. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  28. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  29. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  30. package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  31. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  32. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/dist/standalone/.next/server/app/_not-found/page.js +2 -2
  35. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  36. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  37. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  38. package/dist/standalone/.next/server/app/_not-found.rsc +3 -3
  39. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  40. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  41. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  42. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  43. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  44. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  45. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -0
  48. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -0
  49. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route_client-reference-manifest.js +1 -0
  50. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +4 -0
  51. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -0
  52. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route_client-reference-manifest.js +1 -0
  53. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -0
  54. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -0
  55. package/dist/standalone/.next/server/app/api/accounts/claude/active/route_client-reference-manifest.js +1 -0
  56. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +4 -0
  57. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -0
  58. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route_client-reference-manifest.js +1 -0
  59. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +4 -0
  60. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -0
  61. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route_client-reference-manifest.js +1 -0
  62. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -0
  63. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -0
  64. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route_client-reference-manifest.js +1 -0
  65. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -0
  66. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -0
  67. package/dist/standalone/.next/server/app/api/accounts/claude/route_client-reference-manifest.js +1 -0
  68. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +4 -0
  69. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -0
  70. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route_client-reference-manifest.js +1 -0
  71. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -0
  72. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -0
  73. package/dist/standalone/.next/server/app/api/accounts/codex/active/route_client-reference-manifest.js +1 -0
  74. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -0
  75. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -0
  76. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route_client-reference-manifest.js +1 -0
  77. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -0
  78. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -0
  79. package/dist/standalone/.next/server/app/api/accounts/codex/route_client-reference-manifest.js +1 -0
  80. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +4 -0
  81. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -0
  82. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route_client-reference-manifest.js +1 -0
  83. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -0
  84. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -0
  85. package/dist/standalone/.next/server/app/api/accounts/route_client-reference-manifest.js +1 -0
  86. package/dist/standalone/.next/server/app/api/agent/route.js +1 -0
  87. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -0
  88. package/dist/standalone/.next/server/app/api/agent/route_client-reference-manifest.js +1 -0
  89. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -0
  90. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -0
  91. package/dist/standalone/.next/server/app/api/agent/snapshot/route_client-reference-manifest.js +1 -0
  92. package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
  93. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  94. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -0
  95. package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -0
  96. package/dist/standalone/.next/server/app/api/artifact/route_client-reference-manifest.js +1 -0
  97. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -0
  98. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -0
  99. package/dist/standalone/.next/server/app/api/attach-command/route_client-reference-manifest.js +1 -0
  100. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -0
  101. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -0
  102. package/dist/standalone/.next/server/app/api/attention/[id]/route_client-reference-manifest.js +1 -0
  103. package/dist/standalone/.next/server/app/api/attention/route.js +1 -0
  104. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -0
  105. package/dist/standalone/.next/server/app/api/attention/route_client-reference-manifest.js +1 -0
  106. package/dist/standalone/.next/server/app/api/board/route.js +1 -0
  107. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -0
  108. package/dist/standalone/.next/server/app/api/board/route_client-reference-manifest.js +1 -0
  109. package/dist/standalone/.next/server/app/api/bridge/route.js +2 -0
  110. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -0
  111. package/dist/standalone/.next/server/app/api/bridge/route_client-reference-manifest.js +1 -0
  112. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -0
  113. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -0
  114. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route_client-reference-manifest.js +1 -0
  115. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -0
  116. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -0
  117. package/dist/standalone/.next/server/app/api/conversations/route_client-reference-manifest.js +1 -0
  118. package/dist/standalone/.next/server/app/api/files/route.js +2 -1
  119. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  120. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  121. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  122. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  123. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  124. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  125. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  126. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  127. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  128. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -0
  129. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -0
  130. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route_client-reference-manifest.js +1 -0
  131. package/dist/standalone/.next/server/app/api/limits/history/route.js +4 -0
  132. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -0
  133. package/dist/standalone/.next/server/app/api/limits/history/route_client-reference-manifest.js +1 -0
  134. package/dist/standalone/.next/server/app/api/limits/route.js +4 -2
  135. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  136. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -0
  137. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -0
  138. package/dist/standalone/.next/server/app/api/log/preflight/route_client-reference-manifest.js +1 -0
  139. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -0
  140. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -0
  141. package/dist/standalone/.next/server/app/api/log/project-delete/route_client-reference-manifest.js +1 -0
  142. package/dist/standalone/.next/server/app/api/log/provenance/route.js +1 -0
  143. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -0
  144. package/dist/standalone/.next/server/app/api/log/provenance/route_client-reference-manifest.js +1 -0
  145. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  146. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  147. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  148. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  149. package/dist/standalone/.next/server/app/api/logs/stream/route.js +4 -4
  150. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  151. package/dist/standalone/.next/server/app/api/monitor/lock/route.js +3 -0
  152. package/dist/standalone/.next/server/app/api/monitor/lock/route.js.nft.json +1 -0
  153. package/dist/standalone/.next/server/app/api/monitor/lock/route_client-reference-manifest.js +1 -0
  154. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -0
  155. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -0
  156. package/dist/standalone/.next/server/app/api/monitor/runs/route_client-reference-manifest.js +1 -0
  157. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -0
  158. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -0
  159. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route_client-reference-manifest.js +1 -0
  160. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -0
  161. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -0
  162. package/dist/standalone/.next/server/app/api/orchestrator/seat/route_client-reference-manifest.js +1 -0
  163. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +3 -0
  164. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -0
  165. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route_client-reference-manifest.js +1 -0
  166. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -0
  167. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -0
  168. package/dist/standalone/.next/server/app/api/pipelines/[id]/route_client-reference-manifest.js +1 -0
  169. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -0
  170. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -0
  171. package/dist/standalone/.next/server/app/api/pipelines/preflight/route_client-reference-manifest.js +1 -0
  172. package/dist/standalone/.next/server/app/api/pipelines/route.js +2 -0
  173. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -0
  174. package/dist/standalone/.next/server/app/api/pipelines/route_client-reference-manifest.js +1 -0
  175. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -0
  176. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -0
  177. package/dist/standalone/.next/server/app/api/pipelines/tick/route_client-reference-manifest.js +1 -0
  178. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  179. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  180. package/dist/standalone/.next/server/app/api/projects/create/route.js +3 -0
  181. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -0
  182. package/dist/standalone/.next/server/app/api/projects/create/route_client-reference-manifest.js +1 -0
  183. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -0
  184. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -0
  185. package/dist/standalone/.next/server/app/api/projects/crown/route_client-reference-manifest.js +1 -0
  186. package/dist/standalone/.next/server/app/api/push/route.js +2 -1
  187. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  188. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  189. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  190. package/dist/standalone/.next/server/app/api/roles/route.js +2 -0
  191. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -0
  192. package/dist/standalone/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
  193. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -0
  194. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -0
  195. package/dist/standalone/.next/server/app/api/runtime/answer/route_client-reference-manifest.js +1 -0
  196. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -0
  197. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -0
  198. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route_client-reference-manifest.js +1 -0
  199. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -0
  200. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -0
  201. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route_client-reference-manifest.js +1 -0
  202. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -0
  203. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -0
  204. package/dist/standalone/.next/server/app/api/runtime/deployments/route_client-reference-manifest.js +1 -0
  205. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -0
  206. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -0
  207. package/dist/standalone/.next/server/app/api/runtime/interrupt/route_client-reference-manifest.js +1 -0
  208. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -0
  209. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -0
  210. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route_client-reference-manifest.js +1 -0
  211. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -0
  212. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -0
  213. package/dist/standalone/.next/server/app/api/runtime/operations/route_client-reference-manifest.js +1 -0
  214. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -0
  215. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -0
  216. package/dist/standalone/.next/server/app/api/runtime/realtime/route_client-reference-manifest.js +1 -0
  217. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -0
  218. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -0
  219. package/dist/standalone/.next/server/app/api/runtime/send/route_client-reference-manifest.js +1 -0
  220. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -0
  221. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -0
  222. package/dist/standalone/.next/server/app/api/runtime/snapshot/route_client-reference-manifest.js +1 -0
  223. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -0
  224. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -0
  225. package/dist/standalone/.next/server/app/api/runtime/spawn/route_client-reference-manifest.js +1 -0
  226. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -0
  227. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -0
  228. package/dist/standalone/.next/server/app/api/runtime/steer/route_client-reference-manifest.js +1 -0
  229. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +8 -0
  230. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -0
  231. package/dist/standalone/.next/server/app/api/runtime/stream/route_client-reference-manifest.js +1 -0
  232. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -0
  233. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -0
  234. package/dist/standalone/.next/server/app/api/search/transcripts/route_client-reference-manifest.js +1 -0
  235. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  236. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  237. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -0
  238. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -0
  239. package/dist/standalone/.next/server/app/api/session/supersedence/route_client-reference-manifest.js +1 -0
  240. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -0
  241. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -0
  242. package/dist/standalone/.next/server/app/api/session/title/route_client-reference-manifest.js +1 -0
  243. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +6 -0
  244. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -0
  245. package/dist/standalone/.next/server/app/api/spawn/policy/route_client-reference-manifest.js +1 -0
  246. package/dist/standalone/.next/server/app/api/spawn/route.js +2 -1
  247. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/api/staging/route.js +2 -0
  249. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -0
  250. package/dist/standalone/.next/server/app/api/staging/route_client-reference-manifest.js +1 -0
  251. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -0
  252. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -0
  253. package/dist/standalone/.next/server/app/api/task-attachments/route_client-reference-manifest.js +1 -0
  254. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -2
  255. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  256. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -2
  257. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  258. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
  259. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  260. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
  261. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  262. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  263. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  264. package/dist/standalone/.next/server/app/api/tasks/route.js +11 -2
  265. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  266. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -0
  267. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -0
  268. package/dist/standalone/.next/server/app/api/telegram/reports/route_client-reference-manifest.js +1 -0
  269. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -0
  270. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -0
  271. package/dist/standalone/.next/server/app/api/telegram/route_client-reference-manifest.js +1 -0
  272. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  273. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  274. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  275. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  276. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  277. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  278. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  279. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  280. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  281. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  282. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  283. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  284. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -0
  285. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -0
  286. package/dist/standalone/.next/server/app/api/tts/backend/route_client-reference-manifest.js +1 -0
  287. package/dist/standalone/.next/server/app/api/tts/route.js +3 -0
  288. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -0
  289. package/dist/standalone/.next/server/app/api/tts/route_client-reference-manifest.js +1 -0
  290. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -0
  291. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -0
  292. package/dist/standalone/.next/server/app/api/view/presence/route_client-reference-manifest.js +1 -0
  293. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  294. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  295. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  296. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  297. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  298. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  299. package/dist/standalone/.next/server/app/index.html +1 -1
  300. package/dist/standalone/.next/server/app/index.rsc +4 -4
  301. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  302. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  303. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  304. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  305. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  306. package/dist/standalone/.next/server/app/page.js +74 -3
  307. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  308. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  309. package/dist/standalone/.next/server/app-paths-manifest.json +73 -9
  310. package/dist/standalone/.next/server/chunks/1068.js +1 -0
  311. package/dist/standalone/.next/server/chunks/1097.js +1 -0
  312. package/dist/standalone/.next/server/chunks/156.js +2 -0
  313. package/dist/standalone/.next/server/chunks/1617.js +2 -0
  314. package/dist/standalone/.next/server/chunks/1813.js +1 -0
  315. package/dist/standalone/.next/server/chunks/1858.js +91 -0
  316. package/dist/standalone/.next/server/chunks/1888.js +1 -0
  317. package/dist/standalone/.next/server/chunks/1911.js +1 -0
  318. package/dist/standalone/.next/server/chunks/1918.js +1 -0
  319. package/dist/standalone/.next/server/chunks/1920.js +27 -0
  320. package/dist/standalone/.next/server/chunks/2190.js +1 -0
  321. package/dist/standalone/.next/server/chunks/230.js +1 -0
  322. package/dist/standalone/.next/server/chunks/2318.js +2 -0
  323. package/dist/standalone/.next/server/chunks/2324.js +1 -0
  324. package/dist/standalone/.next/server/chunks/2338.js +9 -0
  325. package/dist/standalone/.next/server/chunks/2904.js +42 -0
  326. package/dist/standalone/.next/server/chunks/2923.js +1 -0
  327. package/dist/standalone/.next/server/chunks/2962.js +1 -0
  328. package/dist/standalone/.next/server/chunks/2977.js +1 -0
  329. package/dist/standalone/.next/server/chunks/306.js +3 -0
  330. package/dist/standalone/.next/server/chunks/3086.js +1 -0
  331. package/dist/standalone/.next/server/chunks/3139.js +10 -0
  332. package/dist/standalone/.next/server/chunks/3214.js +82 -0
  333. package/dist/standalone/.next/server/chunks/3313.js +1 -0
  334. package/dist/standalone/.next/server/chunks/3336.js +1 -0
  335. package/dist/standalone/.next/server/chunks/3438.js +2 -0
  336. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  337. package/dist/standalone/.next/server/chunks/3587.js +1 -0
  338. package/dist/standalone/.next/server/chunks/3598.js +81 -0
  339. package/dist/standalone/.next/server/chunks/3669.js +1 -0
  340. package/dist/standalone/.next/server/chunks/3740.js +126 -0
  341. package/dist/standalone/.next/server/chunks/3793.js +6 -0
  342. package/dist/standalone/.next/server/chunks/3817.js +1 -0
  343. package/dist/standalone/.next/server/chunks/3916.js +1 -0
  344. package/dist/standalone/.next/server/chunks/3944.js +1 -0
  345. package/dist/standalone/.next/server/chunks/3953.js +1 -0
  346. package/dist/standalone/.next/server/chunks/4012.js +4 -0
  347. package/dist/standalone/.next/server/chunks/4127.js +1 -0
  348. package/dist/standalone/.next/server/chunks/4191.js +1 -0
  349. package/dist/standalone/.next/server/chunks/4260.js +2 -0
  350. package/dist/standalone/.next/server/chunks/4509.js +1 -0
  351. package/dist/standalone/.next/server/chunks/{741.js → 4741.js} +1 -1
  352. package/dist/standalone/.next/server/chunks/4968.js +1 -0
  353. package/dist/standalone/.next/server/chunks/4972.js +130 -0
  354. package/dist/standalone/.next/server/chunks/5689.js +11 -0
  355. package/dist/standalone/.next/server/chunks/6333.js +47 -0
  356. package/dist/standalone/.next/server/chunks/6389.js +1 -0
  357. package/dist/standalone/.next/server/chunks/640.js +1 -0
  358. package/dist/standalone/.next/server/chunks/6796.js +1 -0
  359. package/dist/standalone/.next/server/chunks/6826.js +2 -0
  360. package/dist/standalone/.next/server/chunks/6850.js +1 -0
  361. package/dist/standalone/.next/server/chunks/6909.js +1 -0
  362. package/dist/standalone/.next/server/chunks/6977.js +1 -0
  363. package/dist/standalone/.next/server/chunks/7126.js +1 -0
  364. package/dist/standalone/.next/server/chunks/7159.js +1 -0
  365. package/dist/standalone/.next/server/chunks/7270.js +45 -0
  366. package/dist/standalone/.next/server/chunks/7295.js +10 -0
  367. package/dist/standalone/.next/server/chunks/7471.js +87 -0
  368. package/dist/standalone/.next/server/chunks/7563.js +1 -0
  369. package/dist/standalone/.next/server/chunks/7644.js +13 -0
  370. package/dist/standalone/.next/server/chunks/7722.js +1 -0
  371. package/dist/standalone/.next/server/chunks/7733.js +4 -0
  372. package/dist/standalone/.next/server/chunks/7868.js +1 -0
  373. package/dist/standalone/.next/server/chunks/8026.js +1 -0
  374. package/dist/standalone/.next/server/chunks/8140.js +1 -0
  375. package/dist/standalone/.next/server/chunks/8176.js +1 -0
  376. package/dist/standalone/.next/server/chunks/8444.js +1 -0
  377. package/dist/standalone/.next/server/chunks/8465.js +2 -0
  378. package/dist/standalone/.next/server/chunks/849.js +6 -0
  379. package/dist/standalone/.next/server/chunks/8576.js +1 -0
  380. package/dist/standalone/.next/server/chunks/8600.js +12 -0
  381. package/dist/standalone/.next/server/chunks/8617.js +2 -0
  382. package/dist/standalone/.next/server/chunks/8797.js +1 -0
  383. package/dist/standalone/.next/server/chunks/8817.js +5 -0
  384. package/dist/standalone/.next/server/chunks/8966.js +2 -0
  385. package/dist/standalone/.next/server/chunks/8996.js +1 -0
  386. package/dist/standalone/.next/server/chunks/9246.js +47 -0
  387. package/dist/standalone/.next/server/chunks/9364.js +310 -0
  388. package/dist/standalone/.next/server/chunks/9411.js +14 -0
  389. package/dist/standalone/.next/server/chunks/9434.js +13 -0
  390. package/dist/standalone/.next/server/chunks/9507.js +1 -0
  391. package/dist/standalone/.next/server/chunks/9676.js +62 -0
  392. package/dist/standalone/.next/server/chunks/9733.js +42 -0
  393. package/dist/standalone/.next/server/chunks/9901.js +62 -0
  394. package/dist/standalone/.next/server/chunks/9937.js +2 -0
  395. package/dist/standalone/.next/server/chunks/9940.js +128 -0
  396. package/dist/standalone/.next/server/chunks/9998.js +1 -0
  397. package/dist/standalone/.next/server/chunks/static/media/pdf.worker.min.65fe1ff1.mjs +6 -0
  398. package/dist/standalone/.next/server/file-scanner-worker.js +4 -0
  399. package/dist/standalone/.next/server/files-response-worker.js +13 -0
  400. package/dist/standalone/.next/server/functions-config-manifest.json +64 -0
  401. package/dist/standalone/.next/server/instrumentation.js +1 -0
  402. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  403. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  404. package/dist/standalone/.next/server/middleware.js +2 -2
  405. package/dist/standalone/.next/server/pages/404.html +1 -1
  406. package/dist/standalone/.next/server/pages/500.html +1 -1
  407. package/dist/standalone/.next/server/resource-collector-worker.js +1 -0
  408. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  409. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -0
  410. package/dist/standalone/.next/server/webpack-runtime.js +1 -1
  411. package/dist/standalone/.next/static/chunks/1783.662e4b7044e5db2f.js +1 -0
  412. package/dist/standalone/.next/static/chunks/2345.c09668c2640f24ad.js +1 -0
  413. package/dist/standalone/.next/static/chunks/2462.217e83e51ac07519.js +1 -0
  414. package/dist/standalone/.next/static/chunks/2619.fd64e7a5bd9005d5.js +1 -0
  415. package/dist/standalone/.next/static/chunks/3015.f61f117dd9ccb747.js +1 -0
  416. package/dist/standalone/.next/static/chunks/{794-0fc36bf1952fbc29.js → 3794-a205959ce301b5c6.js} +1 -1
  417. package/dist/standalone/.next/static/chunks/4bd1b696-c2f6e0877b6c10aa.js +1 -0
  418. package/dist/standalone/.next/static/chunks/6370.4f217a9379f47764.js +1 -0
  419. package/dist/standalone/.next/static/chunks/7067.f02e8d0616800bac.js +1 -0
  420. package/dist/standalone/.next/static/chunks/7297.aaa457b2a2939f7b.js +1 -0
  421. package/dist/standalone/.next/static/chunks/7774.cca1e546ab5623e0.js +1 -0
  422. package/dist/standalone/.next/static/chunks/8293.5545fdbde0213c98.js +1 -0
  423. package/dist/standalone/.next/static/chunks/8327.33abd84515b38836.js +1 -0
  424. package/dist/standalone/.next/static/chunks/858.302d545082b159c6.js +1 -0
  425. package/dist/standalone/.next/static/chunks/9178-e32f088e89b55503.js +1 -0
  426. package/dist/standalone/.next/static/chunks/9583.b999fb5de3a3494a.js +1 -0
  427. package/dist/standalone/.next/static/chunks/9b0008ae.eb7a9c4c1c92a63b.js +45 -0
  428. package/dist/standalone/.next/static/chunks/app/_global-error/page-c132c5ba005ff29e.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/_not-found/page-9e7648417ae57bf7.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/access/route-c132c5ba005ff29e.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-c132c5ba005ff29e.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-c132c5ba005ff29e.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-c132c5ba005ff29e.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-c132c5ba005ff29e.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-c132c5ba005ff29e.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-c132c5ba005ff29e.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-c132c5ba005ff29e.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-c132c5ba005ff29e.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-c132c5ba005ff29e.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-c132c5ba005ff29e.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-c132c5ba005ff29e.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-c132c5ba005ff29e.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/accounts/route-c132c5ba005ff29e.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/agent/route-c132c5ba005ff29e.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-c132c5ba005ff29e.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/answer/route-c132c5ba005ff29e.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/artifact/route-c132c5ba005ff29e.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-c132c5ba005ff29e.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-c132c5ba005ff29e.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/attention/route-c132c5ba005ff29e.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/board/route-c132c5ba005ff29e.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/bridge/route-c132c5ba005ff29e.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-c132c5ba005ff29e.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/conversations/route-c132c5ba005ff29e.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/files/route-c132c5ba005ff29e.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-c132c5ba005ff29e.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/flows/route-c132c5ba005ff29e.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/image/route-c132c5ba005ff29e.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/inbox/route-c132c5ba005ff29e.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-c132c5ba005ff29e.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-c132c5ba005ff29e.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/limits/route-c132c5ba005ff29e.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-c132c5ba005ff29e.js +1 -0
  464. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-c132c5ba005ff29e.js +1 -0
  465. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-c132c5ba005ff29e.js +1 -0
  466. package/dist/standalone/.next/static/chunks/app/api/log/route-c132c5ba005ff29e.js +1 -0
  467. package/dist/standalone/.next/static/chunks/app/api/logs/route-c132c5ba005ff29e.js +1 -0
  468. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-c132c5ba005ff29e.js +1 -0
  469. package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-c132c5ba005ff29e.js +1 -0
  470. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-c132c5ba005ff29e.js +1 -0
  471. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-c132c5ba005ff29e.js +1 -0
  472. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-c132c5ba005ff29e.js +1 -0
  473. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-c132c5ba005ff29e.js +1 -0
  474. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-c132c5ba005ff29e.js +1 -0
  475. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-c132c5ba005ff29e.js +1 -0
  476. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-c132c5ba005ff29e.js +1 -0
  477. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-c132c5ba005ff29e.js +1 -0
  478. package/dist/standalone/.next/static/chunks/app/api/proc/route-c132c5ba005ff29e.js +1 -0
  479. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-c132c5ba005ff29e.js +1 -0
  480. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-c132c5ba005ff29e.js +1 -0
  481. package/dist/standalone/.next/static/chunks/app/api/push/route-c132c5ba005ff29e.js +1 -0
  482. package/dist/standalone/.next/static/chunks/app/api/resources/route-c132c5ba005ff29e.js +1 -0
  483. package/dist/standalone/.next/static/chunks/app/api/roles/route-c132c5ba005ff29e.js +1 -0
  484. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-c132c5ba005ff29e.js +1 -0
  485. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-c132c5ba005ff29e.js +1 -0
  486. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-c132c5ba005ff29e.js +1 -0
  487. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-c132c5ba005ff29e.js +1 -0
  488. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-c132c5ba005ff29e.js +1 -0
  489. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-c132c5ba005ff29e.js +1 -0
  490. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-c132c5ba005ff29e.js +1 -0
  491. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-c132c5ba005ff29e.js +1 -0
  492. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-c132c5ba005ff29e.js +1 -0
  493. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-c132c5ba005ff29e.js +1 -0
  494. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-c132c5ba005ff29e.js +1 -0
  495. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-c132c5ba005ff29e.js +1 -0
  496. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-c132c5ba005ff29e.js +1 -0
  497. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-c132c5ba005ff29e.js +1 -0
  498. package/dist/standalone/.next/static/chunks/app/api/session/route-c132c5ba005ff29e.js +1 -0
  499. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-c132c5ba005ff29e.js +1 -0
  500. package/dist/standalone/.next/static/chunks/app/api/session/title/route-c132c5ba005ff29e.js +1 -0
  501. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-c132c5ba005ff29e.js +1 -0
  502. package/dist/standalone/.next/static/chunks/app/api/spawn/route-c132c5ba005ff29e.js +1 -0
  503. package/dist/standalone/.next/static/chunks/app/api/staging/route-c132c5ba005ff29e.js +1 -0
  504. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-c132c5ba005ff29e.js +1 -0
  505. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-c132c5ba005ff29e.js +1 -0
  506. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-c132c5ba005ff29e.js +1 -0
  507. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-c132c5ba005ff29e.js +1 -0
  508. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-c132c5ba005ff29e.js +1 -0
  509. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-c132c5ba005ff29e.js +1 -0
  510. package/dist/standalone/.next/static/chunks/app/api/tasks/route-c132c5ba005ff29e.js +1 -0
  511. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-c132c5ba005ff29e.js +1 -0
  512. package/dist/standalone/.next/static/chunks/app/api/telegram/route-c132c5ba005ff29e.js +1 -0
  513. package/dist/standalone/.next/static/chunks/app/api/timeline/route-c132c5ba005ff29e.js +1 -0
  514. package/dist/standalone/.next/static/chunks/app/api/tmux/route-c132c5ba005ff29e.js +1 -0
  515. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-c132c5ba005ff29e.js +1 -0
  516. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-c132c5ba005ff29e.js +1 -0
  517. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-c132c5ba005ff29e.js +1 -0
  518. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-c132c5ba005ff29e.js +1 -0
  519. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-c132c5ba005ff29e.js +1 -0
  520. package/dist/standalone/.next/static/chunks/app/api/tts/route-c132c5ba005ff29e.js +1 -0
  521. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-c132c5ba005ff29e.js +1 -0
  522. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-c132c5ba005ff29e.js +1 -0
  523. package/dist/standalone/.next/static/chunks/app/api/workflows/route-c132c5ba005ff29e.js +1 -0
  524. package/dist/standalone/.next/static/chunks/app/layout-c8390ace9b222dd6.js +1 -0
  525. package/dist/standalone/.next/static/chunks/app/page-ac9463b910bf83fe.js +77 -0
  526. package/dist/standalone/.next/static/chunks/framework-d1de002210ddaaef.js +1 -0
  527. package/dist/standalone/.next/static/chunks/{main-3cec32f88450e0e3.js → main-343fc547124ab6ff.js} +2 -2
  528. package/dist/standalone/.next/static/chunks/main-app-63e09a6ca85925cd.js +1 -0
  529. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-c132c5ba005ff29e.js +1 -0
  530. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-c132c5ba005ff29e.js +1 -0
  531. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-a07ea5db82382b93.js +1 -0
  532. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-c132c5ba005ff29e.js +1 -0
  533. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c132c5ba005ff29e.js +1 -0
  534. package/dist/standalone/.next/static/chunks/webpack-1637988d4c7cf23c.js +1 -0
  535. package/dist/standalone/.next/static/css/498f12ddef7ecb0e.css +1 -0
  536. package/dist/standalone/.next/static/kt9OPe8iwfpNcdOX9ygvb/_buildManifest.js +1 -0
  537. package/dist/standalone/.next/static/media/pdf.worker.min.e890bf87.mjs +6 -0
  538. package/dist/standalone/package.json +31 -8
  539. package/dist/standalone/server.bun.js +38 -0
  540. package/dist/standalone/server.js +18 -37
  541. package/package.json +31 -8
  542. package/vendor/telegram-mcp/.python-version +1 -0
  543. package/vendor/telegram-mcp/LICENSE +201 -0
  544. package/vendor/telegram-mcp/PROVENANCE.md +70 -0
  545. package/vendor/telegram-mcp/SHA256SUMS +24 -0
  546. package/vendor/telegram-mcp/main.py +67 -0
  547. package/vendor/telegram-mcp/pyproject.toml +100 -0
  548. package/vendor/telegram-mcp/requirements.txt +7 -0
  549. package/vendor/telegram-mcp/sanitize.py +143 -0
  550. package/vendor/telegram-mcp/session_string_generator.py +259 -0
  551. package/vendor/telegram-mcp/telegram_mcp/__init__.py +15 -0
  552. package/vendor/telegram-mcp/telegram_mcp/client_identity.py +31 -0
  553. package/vendor/telegram-mcp/telegram_mcp/install_guard.py +209 -0
  554. package/vendor/telegram-mcp/telegram_mcp/runner.py +198 -0
  555. package/vendor/telegram-mcp/telegram_mcp/runtime.py +1812 -0
  556. package/vendor/telegram-mcp/telegram_mcp/singleton.py +143 -0
  557. package/vendor/telegram-mcp/telegram_mcp/tools/__init__.py +13 -0
  558. package/vendor/telegram-mcp/telegram_mcp/tools/accounts.py +31 -0
  559. package/vendor/telegram-mcp/telegram_mcp/tools/chats.py +1163 -0
  560. package/vendor/telegram-mcp/telegram_mcp/tools/contacts.py +802 -0
  561. package/vendor/telegram-mcp/telegram_mcp/tools/events.py +485 -0
  562. package/vendor/telegram-mcp/telegram_mcp/tools/folders.py +600 -0
  563. package/vendor/telegram-mcp/telegram_mcp/tools/groups.py +1286 -0
  564. package/vendor/telegram-mcp/telegram_mcp/tools/media.py +470 -0
  565. package/vendor/telegram-mcp/telegram_mcp/tools/messages.py +2041 -0
  566. package/vendor/telegram-mcp/telegram_mcp/tools/profile.py +449 -0
  567. package/vendor/telegram-mcp/uv.lock +1693 -0
  568. package/dist/standalone/.next/server/chunks/628.js +0 -2
  569. package/dist/standalone/.next/server/chunks/747.js +0 -4
  570. package/dist/standalone/.next/server/chunks/813.js +0 -1
  571. package/dist/standalone/.next/server/chunks/918.js +0 -1
  572. package/dist/standalone/.next/server/chunks/998.js +0 -1
  573. package/dist/standalone/.next/static/U4SZ1qekrUMw43qsp4kED/_buildManifest.js +0 -1
  574. package/dist/standalone/.next/static/chunks/4bd1b696-215e5051988c3dde.js +0 -1
  575. package/dist/standalone/.next/static/chunks/647-0b14204033b8658c.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/_global-error/page-d0de276a8c0b264e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/_not-found/page-811f7dc4ec7ef451.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/access/route-d0de276a8c0b264e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/answer/route-d0de276a8c0b264e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/files/route-d0de276a8c0b264e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-d0de276a8c0b264e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/flows/route-d0de276a8c0b264e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/image/route-d0de276a8c0b264e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/inbox/route-d0de276a8c0b264e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/limits/route-d0de276a8c0b264e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/log/route-d0de276a8c0b264e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/logs/route-d0de276a8c0b264e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-d0de276a8c0b264e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/proc/route-d0de276a8c0b264e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/push/route-d0de276a8c0b264e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/resources/route-d0de276a8c0b264e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/session/route-d0de276a8c0b264e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/spawn/route-d0de276a8c0b264e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-d0de276a8c0b264e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-d0de276a8c0b264e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-d0de276a8c0b264e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-d0de276a8c0b264e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-d0de276a8c0b264e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/tasks/route-d0de276a8c0b264e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/timeline/route-d0de276a8c0b264e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/tmux/route-d0de276a8c0b264e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-d0de276a8c0b264e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-d0de276a8c0b264e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-d0de276a8c0b264e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-d0de276a8c0b264e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-d0de276a8c0b264e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/workflows/route-d0de276a8c0b264e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/layout-22e93960d4e3259a.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/page-6c0325e2d49a521e.js +0 -2
  610. package/dist/standalone/.next/static/chunks/framework-93cda6578f6c76ec.js +0 -1
  611. package/dist/standalone/.next/static/chunks/main-app-e6ff5fbff7d5b38f.js +0 -1
  612. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-d0de276a8c0b264e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-d0de276a8c0b264e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-2b3b5eea82b805ca.js +0 -1
  615. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-d0de276a8c0b264e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d0de276a8c0b264e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/webpack-7dc14fd5ff1227ce.js +0 -1
  618. package/dist/standalone/.next/static/css/b9bc533a63013ced.css +0 -1
  619. /package/dist/standalone/.next/static/{U4SZ1qekrUMw43qsp4kED → kt9OPe8iwfpNcdOX9ygvb}/_ssgManifest.js +0 -0
@@ -22,6 +22,54 @@
22
22
  "fallback": []
23
23
  },
24
24
  "dynamicRoutes": [
25
+ {
26
+ "page": "/api/account-migrations/[intentId]",
27
+ "regex": "^/api/account\\-migrations/([^/]+?)(?:/)?$",
28
+ "routeKeys": {
29
+ "nxtPintentId": "nxtPintentId"
30
+ },
31
+ "namedRegex": "^/api/account\\-migrations/(?<nxtPintentId>[^/]+?)(?:/)?$"
32
+ },
33
+ {
34
+ "page": "/api/accounts/claude/login/[operationId]",
35
+ "regex": "^/api/accounts/claude/login/([^/]+?)(?:/)?$",
36
+ "routeKeys": {
37
+ "nxtPoperationId": "nxtPoperationId"
38
+ },
39
+ "namedRegex": "^/api/accounts/claude/login/(?<nxtPoperationId>[^/]+?)(?:/)?$"
40
+ },
41
+ {
42
+ "page": "/api/accounts/claude/login/[operationId]/input",
43
+ "regex": "^/api/accounts/claude/login/([^/]+?)/input(?:/)?$",
44
+ "routeKeys": {
45
+ "nxtPoperationId": "nxtPoperationId"
46
+ },
47
+ "namedRegex": "^/api/accounts/claude/login/(?<nxtPoperationId>[^/]+?)/input(?:/)?$"
48
+ },
49
+ {
50
+ "page": "/api/accounts/claude/[id]/status",
51
+ "regex": "^/api/accounts/claude/([^/]+?)/status(?:/)?$",
52
+ "routeKeys": {
53
+ "nxtPid": "nxtPid"
54
+ },
55
+ "namedRegex": "^/api/accounts/claude/(?<nxtPid>[^/]+?)/status(?:/)?$"
56
+ },
57
+ {
58
+ "page": "/api/attention/[id]",
59
+ "regex": "^/api/attention/([^/]+?)(?:/)?$",
60
+ "routeKeys": {
61
+ "nxtPid": "nxtPid"
62
+ },
63
+ "namedRegex": "^/api/attention/(?<nxtPid>[^/]+?)(?:/)?$"
64
+ },
65
+ {
66
+ "page": "/api/conversations/[conversationId]/migration",
67
+ "regex": "^/api/conversations/([^/]+?)/migration(?:/)?$",
68
+ "routeKeys": {
69
+ "nxtPconversationId": "nxtPconversationId"
70
+ },
71
+ "namedRegex": "^/api/conversations/(?<nxtPconversationId>[^/]+?)/migration(?:/)?$"
72
+ },
25
73
  {
26
74
  "page": "/api/flows/[id]",
27
75
  "regex": "^/api/flows/([^/]+?)(?:/)?$",
@@ -30,6 +78,30 @@
30
78
  },
31
79
  "namedRegex": "^/api/flows/(?<nxtPid>[^/]+?)(?:/)?$"
32
80
  },
81
+ {
82
+ "page": "/api/pipelines/[id]",
83
+ "regex": "^/api/pipelines/([^/]+?)(?:/)?$",
84
+ "routeKeys": {
85
+ "nxtPid": "nxtPid"
86
+ },
87
+ "namedRegex": "^/api/pipelines/(?<nxtPid>[^/]+?)(?:/)?$"
88
+ },
89
+ {
90
+ "page": "/api/runtime/deployments/[deploymentId]",
91
+ "regex": "^/api/runtime/deployments/([^/]+?)(?:/)?$",
92
+ "routeKeys": {
93
+ "nxtPdeploymentId": "nxtPdeploymentId"
94
+ },
95
+ "namedRegex": "^/api/runtime/deployments/(?<nxtPdeploymentId>[^/]+?)(?:/)?$"
96
+ },
97
+ {
98
+ "page": "/api/runtime/operations/[operationId]",
99
+ "regex": "^/api/runtime/operations/([^/]+?)(?:/)?$",
100
+ "routeKeys": {
101
+ "nxtPoperationId": "nxtPoperationId"
102
+ },
103
+ "namedRegex": "^/api/runtime/operations/(?<nxtPoperationId>[^/]+?)(?:/)?$"
104
+ },
33
105
  {
34
106
  "page": "/api/tasks/[id]",
35
107
  "regex": "^/api/tasks/([^/]+?)(?:/)?$",
@@ -96,12 +168,114 @@
96
168
  "routeKeys": {},
97
169
  "namedRegex": "^/api/access(?:/)?$"
98
170
  },
171
+ {
172
+ "page": "/api/accounts",
173
+ "regex": "^/api/accounts(?:/)?$",
174
+ "routeKeys": {},
175
+ "namedRegex": "^/api/accounts(?:/)?$"
176
+ },
177
+ {
178
+ "page": "/api/accounts/claude",
179
+ "regex": "^/api/accounts/claude(?:/)?$",
180
+ "routeKeys": {},
181
+ "namedRegex": "^/api/accounts/claude(?:/)?$"
182
+ },
183
+ {
184
+ "page": "/api/accounts/claude/active",
185
+ "regex": "^/api/accounts/claude/active(?:/)?$",
186
+ "routeKeys": {},
187
+ "namedRegex": "^/api/accounts/claude/active(?:/)?$"
188
+ },
189
+ {
190
+ "page": "/api/accounts/claude/policy",
191
+ "regex": "^/api/accounts/claude/policy(?:/)?$",
192
+ "routeKeys": {},
193
+ "namedRegex": "^/api/accounts/claude/policy(?:/)?$"
194
+ },
195
+ {
196
+ "page": "/api/accounts/claude/terminal",
197
+ "regex": "^/api/accounts/claude/terminal(?:/)?$",
198
+ "routeKeys": {},
199
+ "namedRegex": "^/api/accounts/claude/terminal(?:/)?$"
200
+ },
201
+ {
202
+ "page": "/api/accounts/codex",
203
+ "regex": "^/api/accounts/codex(?:/)?$",
204
+ "routeKeys": {},
205
+ "namedRegex": "^/api/accounts/codex(?:/)?$"
206
+ },
207
+ {
208
+ "page": "/api/accounts/codex/active",
209
+ "regex": "^/api/accounts/codex/active(?:/)?$",
210
+ "routeKeys": {},
211
+ "namedRegex": "^/api/accounts/codex/active(?:/)?$"
212
+ },
213
+ {
214
+ "page": "/api/accounts/codex/policy",
215
+ "regex": "^/api/accounts/codex/policy(?:/)?$",
216
+ "routeKeys": {},
217
+ "namedRegex": "^/api/accounts/codex/policy(?:/)?$"
218
+ },
219
+ {
220
+ "page": "/api/accounts/codex/terminal",
221
+ "regex": "^/api/accounts/codex/terminal(?:/)?$",
222
+ "routeKeys": {},
223
+ "namedRegex": "^/api/accounts/codex/terminal(?:/)?$"
224
+ },
225
+ {
226
+ "page": "/api/agent",
227
+ "regex": "^/api/agent(?:/)?$",
228
+ "routeKeys": {},
229
+ "namedRegex": "^/api/agent(?:/)?$"
230
+ },
231
+ {
232
+ "page": "/api/agent/snapshot",
233
+ "regex": "^/api/agent/snapshot(?:/)?$",
234
+ "routeKeys": {},
235
+ "namedRegex": "^/api/agent/snapshot(?:/)?$"
236
+ },
99
237
  {
100
238
  "page": "/api/answer",
101
239
  "regex": "^/api/answer(?:/)?$",
102
240
  "routeKeys": {},
103
241
  "namedRegex": "^/api/answer(?:/)?$"
104
242
  },
243
+ {
244
+ "page": "/api/artifact",
245
+ "regex": "^/api/artifact(?:/)?$",
246
+ "routeKeys": {},
247
+ "namedRegex": "^/api/artifact(?:/)?$"
248
+ },
249
+ {
250
+ "page": "/api/attach-command",
251
+ "regex": "^/api/attach\\-command(?:/)?$",
252
+ "routeKeys": {},
253
+ "namedRegex": "^/api/attach\\-command(?:/)?$"
254
+ },
255
+ {
256
+ "page": "/api/attention",
257
+ "regex": "^/api/attention(?:/)?$",
258
+ "routeKeys": {},
259
+ "namedRegex": "^/api/attention(?:/)?$"
260
+ },
261
+ {
262
+ "page": "/api/board",
263
+ "regex": "^/api/board(?:/)?$",
264
+ "routeKeys": {},
265
+ "namedRegex": "^/api/board(?:/)?$"
266
+ },
267
+ {
268
+ "page": "/api/bridge",
269
+ "regex": "^/api/bridge(?:/)?$",
270
+ "routeKeys": {},
271
+ "namedRegex": "^/api/bridge(?:/)?$"
272
+ },
273
+ {
274
+ "page": "/api/conversations",
275
+ "regex": "^/api/conversations(?:/)?$",
276
+ "routeKeys": {},
277
+ "namedRegex": "^/api/conversations(?:/)?$"
278
+ },
105
279
  {
106
280
  "page": "/api/files",
107
281
  "regex": "^/api/files(?:/)?$",
@@ -126,18 +300,48 @@
126
300
  "routeKeys": {},
127
301
  "namedRegex": "^/api/inbox(?:/)?$"
128
302
  },
303
+ {
304
+ "page": "/api/lifecycle/reaper",
305
+ "regex": "^/api/lifecycle/reaper(?:/)?$",
306
+ "routeKeys": {},
307
+ "namedRegex": "^/api/lifecycle/reaper(?:/)?$"
308
+ },
129
309
  {
130
310
  "page": "/api/limits",
131
311
  "regex": "^/api/limits(?:/)?$",
132
312
  "routeKeys": {},
133
313
  "namedRegex": "^/api/limits(?:/)?$"
134
314
  },
315
+ {
316
+ "page": "/api/limits/history",
317
+ "regex": "^/api/limits/history(?:/)?$",
318
+ "routeKeys": {},
319
+ "namedRegex": "^/api/limits/history(?:/)?$"
320
+ },
135
321
  {
136
322
  "page": "/api/log",
137
323
  "regex": "^/api/log(?:/)?$",
138
324
  "routeKeys": {},
139
325
  "namedRegex": "^/api/log(?:/)?$"
140
326
  },
327
+ {
328
+ "page": "/api/log/preflight",
329
+ "regex": "^/api/log/preflight(?:/)?$",
330
+ "routeKeys": {},
331
+ "namedRegex": "^/api/log/preflight(?:/)?$"
332
+ },
333
+ {
334
+ "page": "/api/log/project-delete",
335
+ "regex": "^/api/log/project\\-delete(?:/)?$",
336
+ "routeKeys": {},
337
+ "namedRegex": "^/api/log/project\\-delete(?:/)?$"
338
+ },
339
+ {
340
+ "page": "/api/log/provenance",
341
+ "regex": "^/api/log/provenance(?:/)?$",
342
+ "routeKeys": {},
343
+ "namedRegex": "^/api/log/provenance(?:/)?$"
344
+ },
141
345
  {
142
346
  "page": "/api/logs",
143
347
  "regex": "^/api/logs(?:/)?$",
@@ -150,12 +354,72 @@
150
354
  "routeKeys": {},
151
355
  "namedRegex": "^/api/logs/stream(?:/)?$"
152
356
  },
357
+ {
358
+ "page": "/api/monitor/lock",
359
+ "regex": "^/api/monitor/lock(?:/)?$",
360
+ "routeKeys": {},
361
+ "namedRegex": "^/api/monitor/lock(?:/)?$"
362
+ },
363
+ {
364
+ "page": "/api/monitor/runs",
365
+ "regex": "^/api/monitor/runs(?:/)?$",
366
+ "routeKeys": {},
367
+ "namedRegex": "^/api/monitor/runs(?:/)?$"
368
+ },
369
+ {
370
+ "page": "/api/orchestrator/rotate",
371
+ "regex": "^/api/orchestrator/rotate(?:/)?$",
372
+ "routeKeys": {},
373
+ "namedRegex": "^/api/orchestrator/rotate(?:/)?$"
374
+ },
375
+ {
376
+ "page": "/api/orchestrator/seat",
377
+ "regex": "^/api/orchestrator/seat(?:/)?$",
378
+ "routeKeys": {},
379
+ "namedRegex": "^/api/orchestrator/seat(?:/)?$"
380
+ },
381
+ {
382
+ "page": "/api/orchestrator/seat/status",
383
+ "regex": "^/api/orchestrator/seat/status(?:/)?$",
384
+ "routeKeys": {},
385
+ "namedRegex": "^/api/orchestrator/seat/status(?:/)?$"
386
+ },
387
+ {
388
+ "page": "/api/pipelines",
389
+ "regex": "^/api/pipelines(?:/)?$",
390
+ "routeKeys": {},
391
+ "namedRegex": "^/api/pipelines(?:/)?$"
392
+ },
393
+ {
394
+ "page": "/api/pipelines/preflight",
395
+ "regex": "^/api/pipelines/preflight(?:/)?$",
396
+ "routeKeys": {},
397
+ "namedRegex": "^/api/pipelines/preflight(?:/)?$"
398
+ },
399
+ {
400
+ "page": "/api/pipelines/tick",
401
+ "regex": "^/api/pipelines/tick(?:/)?$",
402
+ "routeKeys": {},
403
+ "namedRegex": "^/api/pipelines/tick(?:/)?$"
404
+ },
153
405
  {
154
406
  "page": "/api/proc",
155
407
  "regex": "^/api/proc(?:/)?$",
156
408
  "routeKeys": {},
157
409
  "namedRegex": "^/api/proc(?:/)?$"
158
410
  },
411
+ {
412
+ "page": "/api/projects/create",
413
+ "regex": "^/api/projects/create(?:/)?$",
414
+ "routeKeys": {},
415
+ "namedRegex": "^/api/projects/create(?:/)?$"
416
+ },
417
+ {
418
+ "page": "/api/projects/crown",
419
+ "regex": "^/api/projects/crown(?:/)?$",
420
+ "routeKeys": {},
421
+ "namedRegex": "^/api/projects/crown(?:/)?$"
422
+ },
159
423
  {
160
424
  "page": "/api/push",
161
425
  "regex": "^/api/push(?:/)?$",
@@ -168,18 +432,126 @@
168
432
  "routeKeys": {},
169
433
  "namedRegex": "^/api/resources(?:/)?$"
170
434
  },
435
+ {
436
+ "page": "/api/roles",
437
+ "regex": "^/api/roles(?:/)?$",
438
+ "routeKeys": {},
439
+ "namedRegex": "^/api/roles(?:/)?$"
440
+ },
441
+ {
442
+ "page": "/api/runtime/answer",
443
+ "regex": "^/api/runtime/answer(?:/)?$",
444
+ "routeKeys": {},
445
+ "namedRegex": "^/api/runtime/answer(?:/)?$"
446
+ },
447
+ {
448
+ "page": "/api/runtime/deployments",
449
+ "regex": "^/api/runtime/deployments(?:/)?$",
450
+ "routeKeys": {},
451
+ "namedRegex": "^/api/runtime/deployments(?:/)?$"
452
+ },
453
+ {
454
+ "page": "/api/runtime/deployments/capabilities/v1",
455
+ "regex": "^/api/runtime/deployments/capabilities/v1(?:/)?$",
456
+ "routeKeys": {},
457
+ "namedRegex": "^/api/runtime/deployments/capabilities/v1(?:/)?$"
458
+ },
459
+ {
460
+ "page": "/api/runtime/interrupt",
461
+ "regex": "^/api/runtime/interrupt(?:/)?$",
462
+ "routeKeys": {},
463
+ "namedRegex": "^/api/runtime/interrupt(?:/)?$"
464
+ },
465
+ {
466
+ "page": "/api/runtime/operations",
467
+ "regex": "^/api/runtime/operations(?:/)?$",
468
+ "routeKeys": {},
469
+ "namedRegex": "^/api/runtime/operations(?:/)?$"
470
+ },
471
+ {
472
+ "page": "/api/runtime/realtime",
473
+ "regex": "^/api/runtime/realtime(?:/)?$",
474
+ "routeKeys": {},
475
+ "namedRegex": "^/api/runtime/realtime(?:/)?$"
476
+ },
477
+ {
478
+ "page": "/api/runtime/send",
479
+ "regex": "^/api/runtime/send(?:/)?$",
480
+ "routeKeys": {},
481
+ "namedRegex": "^/api/runtime/send(?:/)?$"
482
+ },
483
+ {
484
+ "page": "/api/runtime/snapshot",
485
+ "regex": "^/api/runtime/snapshot(?:/)?$",
486
+ "routeKeys": {},
487
+ "namedRegex": "^/api/runtime/snapshot(?:/)?$"
488
+ },
489
+ {
490
+ "page": "/api/runtime/spawn",
491
+ "regex": "^/api/runtime/spawn(?:/)?$",
492
+ "routeKeys": {},
493
+ "namedRegex": "^/api/runtime/spawn(?:/)?$"
494
+ },
495
+ {
496
+ "page": "/api/runtime/steer",
497
+ "regex": "^/api/runtime/steer(?:/)?$",
498
+ "routeKeys": {},
499
+ "namedRegex": "^/api/runtime/steer(?:/)?$"
500
+ },
501
+ {
502
+ "page": "/api/runtime/stream",
503
+ "regex": "^/api/runtime/stream(?:/)?$",
504
+ "routeKeys": {},
505
+ "namedRegex": "^/api/runtime/stream(?:/)?$"
506
+ },
507
+ {
508
+ "page": "/api/search/transcripts",
509
+ "regex": "^/api/search/transcripts(?:/)?$",
510
+ "routeKeys": {},
511
+ "namedRegex": "^/api/search/transcripts(?:/)?$"
512
+ },
171
513
  {
172
514
  "page": "/api/session",
173
515
  "regex": "^/api/session(?:/)?$",
174
516
  "routeKeys": {},
175
517
  "namedRegex": "^/api/session(?:/)?$"
176
518
  },
519
+ {
520
+ "page": "/api/session/supersedence",
521
+ "regex": "^/api/session/supersedence(?:/)?$",
522
+ "routeKeys": {},
523
+ "namedRegex": "^/api/session/supersedence(?:/)?$"
524
+ },
525
+ {
526
+ "page": "/api/session/title",
527
+ "regex": "^/api/session/title(?:/)?$",
528
+ "routeKeys": {},
529
+ "namedRegex": "^/api/session/title(?:/)?$"
530
+ },
177
531
  {
178
532
  "page": "/api/spawn",
179
533
  "regex": "^/api/spawn(?:/)?$",
180
534
  "routeKeys": {},
181
535
  "namedRegex": "^/api/spawn(?:/)?$"
182
536
  },
537
+ {
538
+ "page": "/api/spawn/policy",
539
+ "regex": "^/api/spawn/policy(?:/)?$",
540
+ "routeKeys": {},
541
+ "namedRegex": "^/api/spawn/policy(?:/)?$"
542
+ },
543
+ {
544
+ "page": "/api/staging",
545
+ "regex": "^/api/staging(?:/)?$",
546
+ "routeKeys": {},
547
+ "namedRegex": "^/api/staging(?:/)?$"
548
+ },
549
+ {
550
+ "page": "/api/task-attachments",
551
+ "regex": "^/api/task\\-attachments(?:/)?$",
552
+ "routeKeys": {},
553
+ "namedRegex": "^/api/task\\-attachments(?:/)?$"
554
+ },
183
555
  {
184
556
  "page": "/api/tasks",
185
557
  "regex": "^/api/tasks(?:/)?$",
@@ -192,6 +564,18 @@
192
564
  "routeKeys": {},
193
565
  "namedRegex": "^/api/tasks/curator(?:/)?$"
194
566
  },
567
+ {
568
+ "page": "/api/telegram",
569
+ "regex": "^/api/telegram(?:/)?$",
570
+ "routeKeys": {},
571
+ "namedRegex": "^/api/telegram(?:/)?$"
572
+ },
573
+ {
574
+ "page": "/api/telegram/reports",
575
+ "regex": "^/api/telegram/reports(?:/)?$",
576
+ "routeKeys": {},
577
+ "namedRegex": "^/api/telegram/reports(?:/)?$"
578
+ },
195
579
  {
196
580
  "page": "/api/timeline",
197
581
  "regex": "^/api/timeline(?:/)?$",
@@ -228,6 +612,24 @@
228
612
  "routeKeys": {},
229
613
  "namedRegex": "^/api/transcribe/token(?:/)?$"
230
614
  },
615
+ {
616
+ "page": "/api/tts",
617
+ "regex": "^/api/tts(?:/)?$",
618
+ "routeKeys": {},
619
+ "namedRegex": "^/api/tts(?:/)?$"
620
+ },
621
+ {
622
+ "page": "/api/tts/backend",
623
+ "regex": "^/api/tts/backend(?:/)?$",
624
+ "routeKeys": {},
625
+ "namedRegex": "^/api/tts/backend(?:/)?$"
626
+ },
627
+ {
628
+ "page": "/api/view/presence",
629
+ "regex": "^/api/view/presence(?:/)?$",
630
+ "routeKeys": {},
631
+ "namedRegex": "^/api/view/presence(?:/)?$"
632
+ },
231
633
  {
232
634
  "page": "/api/workflows",
233
635
  "regex": "^/api/workflows(?:/)?$",
@@ -0,0 +1 @@
1
+ "use strict";(()=>{var a={};a.id=751,a.ids=[751],a.modules={643:a=>{a.exports=require("node:perf_hooks")},16698:a=>{a.exports=require("node:async_hooks")},31421:a=>{a.exports=require("node:child_process")},46193:a=>{a.exports=require("node:string_decoder")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},57975:a=>{a.exports=require("node:util")},65925:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b);var e=c(91118);await (0,e.kI)(),setInterval(()=>void 0,6e4),d()}catch(a){d(a)}},1)},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},85786:a=>{a.exports=require("bun:ffi")},91118:(a,b,c)=>{c.d(b,{kI:()=>aY});var d=c(53133),e=c(10456),f=c(62862),g=c(14071),h=c(55883),i=c(80502),j=c(68574),k=c(31421),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(98918),q=c(14607),r=c(59376),s=c(23086),t=c(36552),u=c(52530),v=c(77598),w=c.n(v),x=c(98934),y=c(6466),z=c(50920),A=c(67852),B=c(4406),C=c(91701),D=c(30277),E=c(88602),F=c(13818),G=c(43271),H=c(89831),I=c(70154),J=c(89364);let K={"flow-worker":1800,"headless-reviewer":300,probe:3600,"duplicate-resume":0,"dead-transcript":1800};function L(a,b){return Object.values(a.conversations).find(a=>a.generations.some(a=>a.path===b)||a.continuityPaths.includes(b))??null}function M(a){let b=Number(a.slice(1));return Number.isInteger(b)?b:-1}function N(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function O(a,b){if(!b)return null;let c=Date.parse(b);return Number.isFinite(c)?Math.max(0,Math.floor((a-c)/1e3)):null}function P(a){let b=new Map(a.files.map(a=>[a.path,a])),c=function(a){let b=new Map;for(let c of a){if(!c.primaryPath)continue;let a=`${c.engine}:${c.primaryPath}`;b.set(a,[...b.get(a)??[],c])}return b}(a.hosts),d=[...a.hosts.map(d=>{var e,f,g,h;let i,j=d.primaryPath,k=j?b.get(j):void 0,l=j?L(a.registry,j):null,m=j?function(a,b){let c=Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile;if(c)return c;let d=L(a,b);return d?.generations.find(a=>a.path===b)?.launchProfile??d?.generations.at(-1)?.launchProfile??null}(a.registry,j):null,n=j?function(a,b){let c=[];for(let[d,e]of a.entries()){e.implementerPath===b&&c.push({flow:e,round:null,role:"implementer",order:d});let a=e.rounds.find(a=>a.reviewerPath===b);a&&c.push({flow:e,round:a,role:"reviewer",order:d})}let d=a=>!["approved","done_comment","closed"].includes(a.state),e=a=>Date.parse(a.createdAt)||0,f=c.sort((a,b)=>Number(d(b.flow))-Number(d(a.flow))||e(b.flow)-e(a.flow)||b.order-a.order)[0];return f?{flow:f.flow,round:f.round,role:f.role}:null}(a.flows,j):null,o=j?c.get(`${d.engine}:${j}`)??[]:[],p=o.length>1?[...o].sort((a,b)=>M(b.paneId)-M(a.paneId))[0]:null,q=null,r=null,s=[];if(o.length>1)q="duplicate-resume",r=0,p?.paneId===d.paneId&&s.push("newest-duplicate");else if(n)q="flow-worker",r=O(a.now,(e=n.flow).closedAt??e.rounds.at(-1)?.reviewedAt??null),new Set(["approved","closed"]).has(n.flow.state)||s.push("flow-in-progress"),a.mergedFlowIds.has(n.flow.id)||s.push("flow-not-merged");else{let c;j&&a.viewerOwnedPaths.has(j)&&(c=[m?.title,m?.project,m?.goal?.objective,d.windowName,...d.agentArgv].filter(Boolean).join(" "),/\b(?:probe|soak)\b/i.test(c))?(q="probe",r=j?(f=a.now,(g=b.get(j))?Math.max(0,Math.floor(f/1e3-g.mtime)):null):null):j&&a.missingTranscriptPaths.has(j)&&(q="dead-transcript",r=O(a.now,a.firstObservedAt[N(d)]))}j&&a.userAuthoredPaths.has(j)&&s.unshift("user-authored-message"),j&&a.authorshipUnverifiedPaths.has(j)&&s.unshift("authorship-unverified"),(k?.activity==="live"||k?.activity==="stalled"||k?.pendingQuestion||k?.waitingInput||l&&("busy"===l.turn.state||"unknown"===l.turn.state||(h=a.registry,i=l.turn.observedAt?Date.parse(l.turn.observedAt):NaN,Object.values(h.heldDeliveries).some(a=>{if(a.conversationId!==l.id)return!1;if("held"===a.state||"assigned"===a.state||"delivery-uncertain"===a.state)return!0;if("delivered"!==a.state||!a.deliveredAt)return!1;let b=Date.parse(a.deliveredAt);return Number.isFinite(b)&&(!Number.isFinite(i)||b>=i)}))))&&s.unshift("mid-turn"),l?.migration&&!["committed","rolled-back"].includes(l.migration.phase)&&s.unshift("migration-in-progress"),j&&a.manualPaths.has(j)&&s.unshift("manual-board-placement");let t=q?K[q]:null;q?null===r?s.push("observation-pending"):null!==t&&r<t&&s.push("idle-ttl"):s.push("unclassified");let u=null!==q&&0===s.length;return{targetKind:"tmux",paneId:d.paneId,panePid:d.panePid,agentPid:d.agentPid,processIdentity:d.agentIdentity,tmuxEvidence:a.tmuxEvidenceByHost?.get(N(d))??null,flowId:n?.flow.id??null,round:n?.round?.n??null,path:j,conversationId:l?.id??null,class:q,idleSeconds:r,ttlSeconds:t,protectedReasons:s,eligible:u,action:u&&!a.enabled?"dry-run":"retained"}}),...a.reviewerProcesses.map(b=>{let c=a.flows.find(a=>a.id===b.flowId),d=c?.rounds.find(a=>a.n===b.round)??null,e=d?function(a,b){if(!b.error)return O(a,b.reviewedAt);let c=[b.reviewedAt,b.relayedAt,b.relayStartedAt,b.spawnStartedAt,b.startedAt].map(a=>a?Date.parse(a):NaN).filter(Number.isFinite).sort((a,b)=>b-a)[0];return O(a,b.terminalAt??(void 0===c?null:new Date(c).toISOString()))}(a.now,d):null,f=[];c&&d&&"headless"===c.reviewerMode?d.verdict||d.error||f.push("review-verdict-pending"):f.push("unclassified"),null===e?f.push("observation-pending"):e<K["headless-reviewer"]&&f.push("idle-ttl");let g=void 0!==c&&null!==d&&"headless"===c.reviewerMode&&0===f.length;return{targetKind:"process",paneId:null,panePid:null,agentPid:b.pid,processIdentity:b.identity,tmuxEvidence:null,flowId:b.flowId,round:b.round,path:b.path,conversationId:null,class:"headless-reviewer",idleSeconds:e,ttlSeconds:K["headless-reviewer"],protectedReasons:f,eligible:g,action:g&&!a.enabled?"dry-run":"retained"}})];return{generatedAt:new Date(a.now).toISOString(),mode:a.enabled?"active":"dry-run",configFlag:"LLV_REAPER_ENABLED",eligibleCount:d.filter(a=>a.eligible).length,agents:d}}async function Q(a,b){if("dry-run"===a.mode)return a;for(let c of a.agents){if(!c.eligible||null===c.class)continue;let a=!1;try{a=await b.actuate(c)}catch{a=!1}c.action=a?"reaped":"kill-failed",b.journal({at:new Date().toISOString(),targetKind:c.targetKind,paneId:c.paneId,agentPid:c.agentPid,path:c.path,class:c.class,reason:"idle-ttl-exceeded",outcome:a?"reaped":"kill-failed"})}return a}let R=()=>(0,z.BQ)("reaper-state.json");function S(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function T(a,b){m().mkdirSync(o().dirname(a),{recursive:!0,mode:448});let c=`${a}.${process.pid}.${w().randomUUID()}.tmp`;m().writeFileSync(c,JSON.stringify(b,null,2)+"\n",{encoding:"utf8",mode:384}),m().renameSync(c,a)}function U(a){let b=(0,k.spawnSync)("git",["status","--porcelain=v1","--untracked-files=all"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});return 0!==b.status?null:0===b.stdout.trim().length}async function V(a,b,c){return new Promise(d=>{let e=setTimeout(()=>d(c),b);a.then(a=>{clearTimeout(e),d(a)},()=>{clearTimeout(e),d(c)})})}async function W(a,b,c){let d=0,e=async()=>{for(;d<a.length;){let b=d;d+=1,await c(a[b])}};await Promise.all(Array.from({length:Math.min(b,a.length)},e))}function X(a){return JSON.stringify(Object.fromEntries(Object.entries(a).filter(([a])=>"mergeEvidence"!==a)))}async function Y(a,b={}){let c=(b.now??Date.now)(),d=new Set,e=new Map(a.map(a=>[a.id,X(a)])),f=new Set,g=a=>{f.add(a.id)},h=b.mergeProbeTimeoutMs??5e3,i=Math.max(1,b.mergeProbeConcurrency??4);return await W(a,i,async a=>{var e;let f,i=a.mergeEvidence??null,j=(b.checkoutClean??U)(a);if(!1===j||null===j&&m().existsSync(a.cwd)){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}let l=(e=i,f=[...a.rounds].reverse().find(a=>"APPROVE"===a.verdict),f?.reviewHeadSha?f.reviewHeadSha:e?.source==="github-pr"&&e.mergedAt?e.headSha:null);if(!l)return;let n=(b.resolveMergeIdentity??A.NN)(a.cwd);if(!n&&m().existsSync(a.cwd)){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}if(n){if(n.headSha!==l){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}i&&i.repository===n.repository&&i.headRef===n.headRef&&i.headSha===l||(a.mergeEvidence=i={...n,headSha:l,prNumber:null,mergedAt:null,checkedAt:null,source:null},g(a))}else i?.headSha!==l&&(a.mergeEvidence=i=i?{...i,headSha:l,prNumber:null,mergedAt:null,checkedAt:null,source:null}:null,g(a));if(i?.mergedAt)return void d.add(a.id);let o=i?.checkedAt?Date.parse(i.checkedAt):NaN;if(Number.isFinite(o)&&c-o<3e5)return;let p=null;if(i?.repository&&i.headRef){let d=b.probePullRequest?Promise.resolve(b.probePullRequest(i)):function(a,b=5e3){if(!a.repository||!a.headRef)return Promise.resolve(null);let c=a.prNumber?["pr","view",String(a.prNumber),"--repo",a.repository,"--json","number,mergedAt,headRefOid"]:["pr","list","--repo",a.repository,"--head",a.headRef,"--state","all","--json","number,mergedAt,headRefOid","--limit","1"];return new Promise(d=>{let e=(0,k.spawn)("gh",c,{stdio:["ignore","pipe","ignore"]}),f="",g=!1,h=a=>{g||(g=!0,clearTimeout(i),d(a))},i=setTimeout(()=>{e.kill("SIGKILL"),h(null)},b);e.stdout.setEncoding("utf8"),e.stdout.on("data",a=>{f.length<=1048576&&(f+=a)}),e.on("error",()=>h(null)),e.on("close",b=>{if(0!==b||f.length>1048576)return h(null);try{let b=JSON.parse(f),c=Array.isArray(b)?b[0]:b;if(!c||!Number.isInteger(c.number))return h(null);let d="string"==typeof c.mergedAt&&c.mergedAt?c.mergedAt:null,e="string"==typeof c.headRefOid&&c.headRefOid?c.headRefOid:null;if(d&&(!a.headSha||e!==a.headSha))return h(null);h({number:c.number,mergedAt:d,headRefOid:e})}catch{h(null)}})})}(i,h),e=await V(d,h,null);e?.mergedAt&&e.headRefOid===i.headSha?p={...i,prNumber:e.number,mergedAt:e.mergedAt,headSha:e.headRefOid??i.headSha,checkedAt:new Date(c).toISOString(),source:"github-pr"}:(e&&(i.prNumber=e.number),i.checkedAt=new Date(c).toISOString(),g(a))}!p&&(b.localBranchMerged??function(a,b){if(!0!==U(a))return!1;let c=(0,k.spawnSync)("git",["rev-parse","HEAD"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});if(0!==c.status||c.stdout.trim()!==b)return!1;for(let c of["origin/main","origin/master","main","master"])if(0===(0,k.spawnSync)("git",["merge-base","--is-ancestor",b,c],{cwd:a.cwd,stdio:"ignore",timeout:2e3}).status)return!0;return!1})(a,l)&&(p={repository:i?.repository??null,headRef:i?.headRef??null,headSha:l,prNumber:i?.prNumber??null,mergedAt:new Date(c).toISOString(),checkedAt:new Date(c).toISOString(),source:"git-ancestor"}),p&&(a.mergeEvidence=p,d.add(a.id),g(a))}),!function(a,b,c,d){if(0===b.size||d.loadFlows&&!d.saveFlows)return;let e=d.loadFlows?d.loadFlows():d.saveFlows?a:(0,p.mL)(),f=!1;for(let d of a){if(!b.has(d.id))continue;let a=e.find(a=>a.id===d.id);if(a&&X(a)===c.get(d.id)){var g;a.mergeEvidence=(g=d.mergeEvidence)?{...g}:null,f=!0}}f&&(d.saveFlows??p.tu)(e)}(a,f,e,b),d}function Z(a,b){return Object.values(a.receipts).some(a=>"launch"===a.purpose&&a.artifactPath===b&&"worker"===a.launchProfile.role&&"completed"===a.state)}async function $(a,b,c,d,e,f,g){let h=new Set(Object.keys(f)),i=new Set,k=new Map,l=new Map,n=new Map;await (0,j.pV)(d,a=>{l.set(a.path,a)}),await (0,j.pV)(b,a=>{a.primaryPath&&n.set(a.primaryPath,a.engine)}),await (0,j.pV)(d,a=>{if("claude"!==a.engine&&"codex"!==a.engine||"live"===a.activity||n.has(a.path))return;let b=g[a.path];void 0!==b&&b>=a.mtime||n.set(a.path,a.engine)});let p={remaining:0x2000000};return await (0,j.pV)([...n],async([b,d])=>{var f;if(h.has(b)||i.has(b)||e.has(b))return;let g=+!!Z(a,b)+function(a,b){let c=0;for(let d of a)d.kickoffDelivery?.path===b&&(c+=1),c+=d.rounds.filter(a=>a.relayDelivery?.path===b).length;return c}(c,b)+function(a,b){for(let c of a)if("headless"===c.reviewerMode){for(let a of c.rounds)if(a.reviewerPath===b&&a.sessionId&&o().basename(b).includes(a.sessionId))return 1}return 0}(c,b)+((f=l.get(b))&&("claude-projects"===f.root&&"subagent"===f.kind||"codex-sessions"===f.root&&"codex"===f.engine&&(0,H.ET)(f.path,f.size))?1:0),j=null;try{j=m().statSync(b).mtimeMs/1e3}catch{i.add(b);return}let n=await (0,I.vK)(b,d,g+1,{resume:!0,maxBytes:4194304,budget:p});n.count>g?h.add(b):n.complete?k.set(b,j):i.add(b)}),{userAuthoredPaths:h,unverifiedPaths:i,verifiedCleanAt:k}}async function _(a){let b=await (0,r.CS)();return await (0,B.VB)(a,b),b}function aa(a,b=a=>D.B.processIdentity(a)){return{kind:"tmux",endpoint:(0,J.WH)(),server:{pid:a.tmuxServerPid,startIdentity:b(a.tmuxServerPid)},paneId:a.paneId,panePid:{pid:a.panePid,startIdentity:b(a.panePid)},windowName:a.windowName??"",agent:{pid:a.agentPid,startIdentity:a.agentIdentity},argv:a.agentArgv}}function ab(a){let b=(0,z.BQ)("reaper-journal.ndjson");m().mkdirSync(o().dirname(b),{recursive:!0,mode:448});try{m().statSync(b).size>4194304&&m().renameSync(b,`${b}.1`)}catch{}m().appendFileSync(b,JSON.stringify(a)+"\n",{encoding:"utf8",mode:384})}async function ac(a,b,c,d,e,f={}){let g=(f.loadFlows??p.mL)(),h=f.processIdentity??(a=>D.B.processIdentity(a)),i=await Y(g,f),j=a.readOnlySnapshot(),k=new Set(b.flatMap(a=>a.primaryPath&&!m().existsSync(a.primaryPath)?[a.primaryPath]:[])),l=await $(j,b,g,c,k,d.userAuthoredPaths,d.scannedAt),n=!1;for(let a of l.userAuthoredPaths)d.userAuthoredPaths[a]||(d.userAuthoredPaths[a]=!0,n=!0);for(let[a,b]of l.verifiedCleanAt)d.scannedAt[a]!==b&&(d.scannedAt[a]=b,n=!0);n&&T(R(),d);let o=new Set([...l.userAuthoredPaths,...b.flatMap(a=>a.primaryPath&&d.userAuthoredPaths[a.primaryPath]?[a.primaryPath]:[])]);return{now:e,registry:j,hosts:b,tmuxEvidenceByHost:new Map(b.map(a=>[S(a),aa(a,h)])),reviewerProcesses:function(a,b){let c=b.pidAlive??(a=>D.B.pidAlive(a)),d=b.processIdentity??(a=>D.B.processIdentity(a)),e=[];for(let b of a)if("headless"===b.reviewerMode)for(let a of b.rounds){let f=a.reviewerPid??null,g=a.reviewerIdentity??null;f&&g&&c(f)&&d(f)===g&&e.push({flowId:b.id,round:a.n,pid:f,identity:g,path:a.reviewerPath})}return e}(g,f),viewerOwnedPaths:new Set(b.flatMap(a=>a.primaryPath&&Z(j,a.primaryPath)?[a.primaryPath]:[])),authorshipUnverifiedPaths:l.unverifiedPaths,files:c,flows:g,manualPaths:function(a,b,c){let d=new Map(c.map(a=>[a.path,a])),e=new Set,f=new Map;for(let c of b){let b=c.primaryPath;if(!b)continue;let g=d.get(b)?.project||function(a,b){return Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile??Object.values(a.conversations).flatMap(a=>a.generations).find(a=>a.path===b)?.launchProfile??null}(a,b)?.project;if(g)try{let a=f.get(g);a||(a=new Set((0,y.C9)(g).explicitManual??[]),f.set(g,a)),a.has(b)&&e.add(b)}catch{e.add(b)}}return e}(j,b,c),userAuthoredPaths:o,missingTranscriptPaths:k,mergedFlowIds:i,firstObservedAt:d.firstObservedAt,enabled:"1"===process.env.LLV_REAPER_ENABLED}}function ad(a,b){try{process.kill(-a,b)}catch{process.kill(a,b)}}async function ae(a,b={}){let c={pidAlive:a=>D.B.pidAlive(a),processIdentity:a=>D.B.processIdentity(a),signal:ad,sleep:a=>new Promise(b=>setTimeout(b,a)),maxVerifyAttempts:20,...b},d=()=>!c.pidAlive(a.pid)||c.processIdentity(a.pid)!==a.identity;if(d())return!1;for(let b of["SIGTERM","SIGKILL"]){try{c.signal(a.pid,b)}catch{if(d())return!0;break}for(let a=0;a<c.maxVerifyAttempts;a+=1){if(d())return!0;a+1<c.maxVerifyAttempts&&await c.sleep(25)}}return!1}function af(a,b){return a.kind===b.kind&&a.endpoint===b.endpoint&&a.server.pid===b.server.pid&&a.server.startIdentity===b.server.startIdentity&&a.paneId===b.paneId&&a.panePid.pid===b.panePid.pid&&a.panePid.startIdentity===b.panePid.startIdentity&&a.windowName===b.windowName&&a.agent.pid===b.agent.pid&&a.agent.startIdentity===b.agent.startIdentity&&a.argv.length===b.argv.length&&a.argv.every((a,c)=>a===b.argv[c])}function ag(a,b,c){return"tmux"===b.targetKind&&null!==b.tmuxEvidence&&af(aa(a,c),b.tmuxEvidence)&&a.primaryPath===b.path}function ah(a,b){return b?JSON.stringify(Object.values(a.heldDeliveries).filter(a=>a.conversationId===b).sort((a,b)=>a.id.localeCompare(b.id))):""}async function ai(a,b,c,d,e={}){if("process"===d.targetKind){if(!d.flowId||null===d.round||!d.processIdentity)return!1;let f=P(await ac(a,[],b,c,(e.now??Date.now)(),e)).agents.find(a=>"process"===a.targetKind&&a.flowId===d.flowId&&a.round===d.round&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity);return!!f?.eligible&&(e.killProcess??ae)({pid:d.agentPid,identity:d.processIdentity})}let f=d.paneId,g=d.tmuxEvidence;if(null===f||!g||null===g.server.startIdentity||null===g.panePid.startIdentity||null===g.agent.startIdentity)return!1;let h=e.readHosts??i.oe,j=e.kill??J.B$,k=e.now??Date.now,l=e.processIdentity??(a=>D.B.processIdentity(a)),m=(await h(!0)).hosts.find(a=>ag(a,d,l));if(!m?.primaryPath)return!1;let n=Object.values(a.readOnlySnapshot().entries).find(a=>a.artifactPath===d.path);if(!n)return!1;let o={pid:process.pid,startIdentity:D.B.processIdentity(process.pid)};return a.withOperationLock(n.key,o,async()=>{let b=`reaper:${w().randomUUID()}`;try{a.claim(n.key,b);let f=await h(!0);if(!f.hosts.find(a=>ag(a,d,l)))return!1;let i=await (e.refreshLifecycle??_)(a),m=await ac(a,f.hosts,i,c,k(),e),o=P(m).agents.find(a=>"tmux"===a.targetKind&&a.paneId===d.paneId&&a.panePid===d.panePid&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity&&a.path===d.path&&null!==a.tmuxEvidence&&null!==d.tmuxEvidence&&af(a.tmuxEvidence,d.tmuxEvidence));if(!o?.eligible||ah(a.readOnlySnapshot(),o.conversationId)!==ah(m.registry,o.conversationId))return!1;let p=await j(g),q=a.readOnlySnapshot().entries[`${n.key.engine}:${n.key.sessionId}`]?.host;return p&&q&&af(q,g)&&a.markUnhosted(n.key),p}finally{a.releaseClaim(n.key,b)}})}async function aj(a){let b=a.registry??(0,h.tk)(),c=a.now??Date.now();try{!function(a,b=Date.now(),c={},d=[]){let e=a.readOnlySnapshot(),f=(0,x.AM)({...c,now:()=>b}),g=new Set(d.flatMap(a=>(a.primaryPath?[a.primaryPath,...a.claimedPaths]:a.claimedPaths).map(b=>`${a.engine}:${b}`))),h=new Set;for(let d of(0,x.vZ)(e,{...c,now:()=>b}))"failed"===a.recordDeliveryOutcome(d,"failed","delivery-uncertain abandoned: owning migration settled with no live host or receipt (#652)").state&&h.add(d);for(let c of Object.values(e.migrationIntents)){let d=Object.values(e.conversations).filter(a=>a.migration?.intentId===c.id),i=function(a,b){let c=new Set(Object.values(a.conversations).filter(a=>a.migration?.intentId===b).map(a=>a.id));return Object.values(a.heldDeliveries).filter(a=>c.has(a.conversationId)&&["held","assigned","delivery-uncertain"].includes(a.state)).map(a=>a.id)}(e,c.id),j=new Set;for(let a of d)a.migration?.phase==="rolled-back"&&j.add(a.id);let k=i.filter(b=>{let d=e.heldDeliveries[b];return!(d&&j.has(d.conversationId)&&a.terminalizeRolledBackMigrationDelivery(b,c.id,C.Mi))||(h.add(b),!1)});if("draining"!==c.state){for(let b of j)a.clearRolledBackConversationMigration(b,c.id);continue}let l=new Set(k.map(a=>e.heldDeliveries[a]?.conversationId).filter(a=>!!a)),m=(0,C.AY)(e,c,b);if(!m)for(let b of d){if(b.migration?.phase!=="requested"||!l.has(b.id)||function(a,b,c,d){let e=b.migration;if(!e)return!1;let f=b.generations.find(a=>a.id===e.sourceGenerationId);if(!f)return!1;let g=`${b.engine}:${f.path}`;return!!(d.has(g)||(0,x.eW)(f.host?.tmuxHost?.agent,c)||Object.values(a.entries).some(a=>a.key.engine===b.engine&&a.artifactPath===f.path&&(0,x.dw)(a,c)))||Object.values(a.receipts).some(d=>d.engine===b.engine&&d.conversationId===b.id&&(0,x.LB)(a,d,c))}(e,b,f,g))continue;let c=`delivery cancelled because source conversation ${b.id} has no live owner; send again to authorize a fresh delivery`;for(let d of k)e.heldDeliveries[d]?.conversationId===b.id&&"failed"===a.terminalizeHeldDelivery(d,c).state&&h.add(d);a.rollbackConversationMigration(b.id,b.migration.revision),k=k.filter(a=>e.heldDeliveries[a]?.conversationId!==b.id)}if(!m)continue;let n=`delivery cancelled because its owning account migration made no progress for ${C.fz}ms; send again to authorize a fresh delivery`;a.setMigrationIntentState(c.id,"stopped",c.revision,n);let o=a.readOnlySnapshot();for(let a of k)o.heldDeliveries[a]?.state==="failed"&&h.add(a)}[...h]}(b,c,{},a.hosts)}catch(a){console.error("[reaper] stale undeliverable held-delivery convergence failed",a)}try{b.terminalizeFailedSpawnDeliveries()}catch(a){console.error("[reaper] failed-spawn held-delivery convergence failed",a)}try{(0,F.cf)(b)}catch(a){console.error("[reaper] dead structured-host ownership convergence failed",a)}let d=(a.actuation?.runtimeClient??E.sS)();try{await (a.actuation?.terminalizeStaleSpawns??G.LH)(b,d)}catch(a){console.error("[reaper] stale structured spawn convergence failed",a)}let e=function(a,b){let c=function(){try{let a=JSON.parse(m().readFileSync(R(),"utf8"));if(1===a.version&&a.firstObservedAt&&"object"==typeof a.firstObservedAt)return{version:1,firstObservedAt:a.firstObservedAt,userAuthoredPaths:a.userAuthoredPaths&&"object"==typeof a.userAuthoredPaths?a.userAuthoredPaths:{},scannedAt:a.scannedAt&&"object"==typeof a.scannedAt&&!Array.isArray(a.scannedAt)?a.scannedAt:{}}}catch{}return{version:1,firstObservedAt:{},userAuthoredPaths:{},scannedAt:{}}}(),d={};for(let e of a){let a=S(e);d[a]=c.firstObservedAt[a]??new Date(b).toISOString()}let e={version:1,firstObservedAt:d,userAuthoredPaths:c.userAuthoredPaths,scannedAt:c.scannedAt};return T(R(),e),e}(a.hosts,c),f=P(await ac(b,a.hosts,a.files,e,c,a.actuation)),g=await Q(f,{actuate:c=>ai(b,a.files,e,c,a.actuation),journal:ab});return T((0,z.BQ)("reaper-report.json"),g),g}var ak=c(48161),al=c.n(ak),am=c(8164);function an(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 ao(a){return a.argv.some(a=>/(^|[/\\])codex(?:-[^/\\]+)?$/i.test(a))&&(a.argv.includes("exec")||a.argv.includes("app-server"))}function ap(a){return a.argv.some(a=>/(^|[/\\])claude(?:-[^/\\]+)?$/i.test(a))}let aq=/(?:^|[-_.])mcp(?:[-_.]|$)/i,ar=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*(?:@[^\s/]+)?$/i;function as(a){if(!a||!ar.test(a))return!1;let b=a.startsWith("@")?a.indexOf("@",a.indexOf("/")+1):a.indexOf("@"),c=b>0?a.slice(0,b):a;return aq.test(c.split("/").at(-1)??"")}function at(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 au=new Set(["--cache-dir","--color","--config-file","--directory","--project","--python"]);function av(a){var b;if(0!==a.tty)return!1;let c=a.argv;if((b=c[0])&&aq.test(o().basename(b)))return!0;let d=o().basename(c[0]??"").toLowerCase();return"npx"===d||"bunx"===d||"uvx"===d?as(at(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]?as(at(c,2)):"uv"===d&&function(a){let b=1;for(;b<a.length;){let c=a[b];if("run"===c)return as(at(a,b+1));if("tool"===c&&"run"===a[b+1])return as(at(a,b+2));if(au.has(c)){b+=2;continue}if(c.startsWith("-")){b+=1;continue}break}return!1}(c)}function aw(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,am.mO)(a,e))d.add(b);return d}function ax(a){let b=new Map(a.processes.map(a=>[a.pid,a])),c=aw(a,b),d=new Set(a.processes.filter(b=>b.ageMs>=a.thresholdMs&&function(a,b){let c=an(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(ao(f)||ap(f)||!av(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)||av(b.get(a)??{argv:[],tty:0}))||g.some(a=>ao(b.get(a)??{argv:[]}))||g.some(a=>ap(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 ay={listProcesses:()=>D.B.listProcesses(),ppidMap:()=>D.B.ppidMap(),processIdentity:a=>D.B.processIdentity(a),processAgeMs:function(a,b){if(!b)return null;let c=b.slice(b.indexOf(":")+1);if("linux"===D.B.name&&/^\d+$/.test(c))return Math.max(0,1e3*al().uptime()-10*Number(c));let d=Date.parse(c);return Number.isFinite(d)?Math.max(0,Date.now()-d):null},loadFlows:p.mL,readHosts:async()=>(await (0,i.oe)(!0)).hosts,readPanePids:async()=>{let a=await (0,J.m7)(!0);return"failure"===a.kind?null:"available"===a.kind?[...a.panes.keys()]:[]},signalProcess:process.kill,setTimeout:(a,b)=>setTimeout(a,b)};function az(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 aA(a,b){let c=b.loadFlows(),d=az(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=aw(a,b),d=new Map(a.processes.map(a=>[a.pid,a.ppid]));for(let b of a.processes)if(ao(b)||ap(b))for(let a of(0,am.mO)(b.pid,d))c.add(a);return c}({...a,flows:c,processes:f},g),ppids:e}}function aB(a,b,c=new Set){let d=a.ppidMap();return a.listProcesses().map(e=>{let f=c.has(e.pid)||null!==an(e,b)||av(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 aC(a){let b={...ay,...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,z.BQ)("flows"),e=await b.readPanePids();if(null===e)return{candidates:0,signaled:0};let f=a.flows??b.loadFlows(),g=ax({processes:aB(b,d,az(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:aB(b,d,az(g)),flows:g,hosts:f,panePids:i,flowArtifactsRoot:d,thresholdMs:c},k=ax(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=aA(b,c)}catch{return!1}let{ppids:g,protectedPids:h}=e,i=(0,am.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=aA(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 aD=c(97283),aE=c(68822),aF=c(78906),aG=c(65377),aH=c(50887),aI=c(71256),aJ=c(74030),aK=c(58347),aL=c(77083),aM=c(33149),aN=c(36454);let aO={list:a=>"claude"===a?(0,d.Fn)():(0,e.Sq)(),active:a=>"claude"===a?(0,d.No)():(0,e.O)(),async probe(a,b,c){if("claude"===a){let d=await aL.kR.status(b.home).catch(()=>({loggedIn:!1,indeterminate:!0}));if(d.indeterminate)throw Error("quota-auth-indeterminate");let e=d.loggedIn?await (0,aN.nn)(o().join(b.home,".credentials.json")):{data:null,source:"unavailable",reason:"live authentication check failed"};return{engine:a,accountId:b.id,authenticated:d.loggedIn,authCheckedAt:c,limits:e.data,provenance:{source:e.source,reason:e.reason,staleSince:null},observedAt:c}}try{let d=await (0,f.VD)().probeQuota(b);return{engine:a,accountId:b.id,authenticated:d.authenticated,authCheckedAt:c,limits:(0,aN.Bq)(d.rateLimits,Math.floor(c/1e3)),provenance:{source:"live",reason:d.authenticated?null:"unsupported-account-type",staleSince:null},observedAt:c,envelope:d.envelope}}catch(e){let d=await (0,aN.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}}}};class aP{constructor(a=(0,h.tk)(),b=aO,c=w().randomUUID(),d=()=>Date.now(),e=15e3){this.registry=a,this.probe=b,this.bootId=c,this.now=d,this.probeTimeoutMs=e}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}:{engine:a,accountId:b,authenticated:!1,authCheckedAt:d,limits:null,provenance:{source:"unavailable",reason:c,staleSince:null},observedAt:d,envelope:null}}async tick(a){let b=this.now(),c=this.probe.list(a),d=await Promise.all(c.map(async c=>{try{var d;let e=await Promise.race([this.probe.probe(a,c,b),(d=this.probeTimeoutMs,new Promise((a,b)=>{let c=setTimeout(()=>b(Error("quota-probe-timeout")),d);c.unref?.()}))]);if(e.authenticated&&!e.limits)return this.carryForward(a,c.id,e.provenance.reason??"quota-probe-empty",b);return e}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)}}));d.forEach((b,d)=>{let e=c[d];(0,aM.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})});let e=d.map(b=>({engine:a,accountId:b.accountId,authenticated:b.authenticated,authCheckedAt:new Date(b.authCheckedAt??b.observedAt).toISOString(),limits:b.limits,provenance:b.provenance,observedAt:new Date(b.observedAt).toISOString(),bootId:this.bootId}));this.registry.recordQuotaEvaluation({engine:a,observations:e,signature:null,evidence:null,bootId:this.bootId,now:new Date(b).toISOString(),minimumGapMs:6e4})}}let aQ=function(a={}){let b=a.structuredDelivery??aI.deliverHeldStructuredMessage,c=a.legacyDelivery??(async({delivery:a,path:b,clientMessageId:c})=>{if("runtime-images"===a.payloadKind)return"delivery-uncertain";let d=await (0,aH.Ku)({pid:null,path:b,text:a.text,images:[],clientMessageId:c,reservedDeliveryId:a.id,...a.command.origin?{origin:a.command.origin}:{}});return(0,aH.$n)(d)}),d=({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 d(a)??c(a),reconcileUncertain:async a=>await d(a)??"delivery-uncertain"}}();async function aR(a,b,c=new aK.wh,d=aQ){a.compactDeliveryReservations(),await (0,j.Lh)();let e=Promise.all([b.tick("claude"),b.tick("codex")]);try{await (0,B.c0)(c,d,a)}finally{await e}}async function aS(){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,J.RZ)(b.loginPane.paneId);(0,e.hg)(b.authPresent,b.loginPane,c).clear&&!a&&(0,e.yG)(b.id,null)}))}let aT={files:[],projectCatalog:[],complete:!1};async function aU(a,b){await aS();let c=await (0,i.oe)(!0,b);try{await aj({registry:a,hosts:c.hosts,files:b})}catch(a){console.error("[agent reaper] lifecycle reconciliation failed",a)}try{let a=await aC({hosts:c.hosts,flows:(0,p.mL)()});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 aV={scan:()=>(function(a=process.env,b=s.TF,c=t.wj){return"1"!==a.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER?c():Promise.resolve(b()??aT)})(),reconcileInventory:B.VB,reconcileFlowOwnership:p.hx,reconcileWorkflowOwnership:aF.H6,reconcileHandoffOwnership:q.d5,reconcileFiles:r.CR,reconcileRuntime:aU,reconcileTaskStore:function(a,b){let c=(0,h.oP)(a.readOnlySnapshot());(0,aE.z4)(a=>{let d=(0,aD.fq)(b,a,{pathForPanePid:(a,b)=>(0,aD.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:function(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{}})},reconcileMigrationCycle:aR};class aW{constructor(a=(0,h.tk)(),b=new aP(a),c=null,d={}){this.registry=a,this.quota=b,this.cycle=c,this.running=null,this.trailingCycleRequested=!1,this.ports={...aV,...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 aX=globalThis;async function aY(){await (0,j.Lh)();let a=(0,h.tk)(),b=new aP(a);if("1"===process.env.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER)return void function(a,b){let c=aX.__llvAccountMigrationController??=new aW(a,b);if(!aX.__llvAccountMigrationTimer){let a=setInterval(()=>void c.poll().catch(a=>{console.error("[account migration controller] durable reconciliation tick failed",a)}),6e4);a.unref?.(),aX.__llvAccountMigrationTimer=a}if(!aX.__llvAccountMigrationBootstrapStarted){aX.__llvAccountMigrationBootstrapStarted=!0;let a=setTimeout(()=>{aX.__llvAccountMigrationInitialTimer=void 0,c.poll().catch(a=>{console.error("[account migration controller] initial inventory reconciliation failed",a)})},1e3);a.unref?.(),aX.__llvAccountMigrationInitialTimer=a}}(a,b);let c=aX.__llvAccountMigrationFastController??=new aW(a,b,()=>aR(a,b));(0,aJ.c)(()=>c.tick()),c.tick().catch(a=>{console.error("[account migration controller] initial durable reconciliation failed",a)}),function a(){if(aX.__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,aG.Fd)(process.env),LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER:"1"}});aX.__llvAccountMigrationInventoryWorker=d,d.once("error",a=>{console.error("[account migration controller] inventory worker failed to start",a)}),d.once("exit",(b,c)=>{if(aX.__llvAccountMigrationInventoryWorker===d&&(aX.__llvAccountMigrationInventoryWorker=void 0),aX.__llvAccountMigrationInventoryWorkerRestart)return;console.error("[account migration controller] inventory worker exited",{code:b,signal:c});let e=setTimeout(()=>{aX.__llvAccountMigrationInventoryWorkerRestart=void 0,a()},1e3);e.unref?.(),aX.__llvAccountMigrationInventoryWorkerRestart=e})}()}},97283:(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?"handoff":"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}}}};var b=require("./webpack-runtime.js");b.C(a);var c=b.X(0,[9364,3086],()=>b(b.s=65925));module.exports=c})();