agent-log-viewer 1.0.0 → 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 (582) hide show
  1. package/README.md +12 -21
  2. package/bin/cli.mjs +28 -4
  3. package/bin/mcp-server.mjs +7 -0
  4. package/bin/mcp-server.test.ts +2 -0
  5. package/bin/provision-telegram-connector.mjs +193 -0
  6. package/bin/server-runtime.mjs +4 -8
  7. package/bin/server-runtime.test.ts +46 -7
  8. package/bin/telegram-login-bridge.py +253 -0
  9. package/bin/telegram-mcp-server.py +106 -0
  10. package/bin/telegram-session-reader.mjs +6 -0
  11. package/bin/telegram-session-validator.mjs +71 -0
  12. package/dist/mcp-server.mjs +31771 -25627
  13. package/dist/standalone/.next/BUILD_ID +1 -1
  14. package/dist/standalone/.next/app-path-routes-manifest.json +22 -15
  15. package/dist/standalone/.next/build-manifest.json +3 -3
  16. package/dist/standalone/.next/prerender-manifest.json +3 -3
  17. package/dist/standalone/.next/react-loadable-manifest.json +19 -0
  18. package/dist/standalone/.next/required-server-files.json +4 -1
  19. package/dist/standalone/.next/routes-manifest.json +48 -6
  20. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -0
  21. package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
  22. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  23. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  25. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  26. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  27. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  28. package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  29. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  30. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  31. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  32. package/dist/standalone/.next/server/app/_not-found/page.js +2 -2
  33. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  34. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  35. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  36. package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
  37. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  38. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  39. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  40. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  41. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  42. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  43. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  44. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  45. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +4 -1
  48. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
  49. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
  50. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
  51. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +4 -1
  52. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
  53. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +4 -1
  54. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
  55. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
  56. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
  57. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
  58. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
  59. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +4 -1
  60. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
  61. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
  62. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
  63. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
  64. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
  65. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
  66. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
  67. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +4 -1
  68. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
  69. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
  70. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
  71. package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
  72. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
  73. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
  74. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
  75. package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
  76. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  77. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -0
  78. package/dist/standalone/.next/server/app/api/{orchestrator → artifact}/route.js.nft.json +1 -1
  79. package/dist/standalone/.next/server/app/api/artifact/route_client-reference-manifest.js +1 -0
  80. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
  81. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
  82. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
  83. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
  84. package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
  85. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
  86. package/dist/standalone/.next/server/app/api/board/route.js +1 -1
  87. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
  88. package/dist/standalone/.next/server/app/api/bridge/route.js +2 -2
  89. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
  90. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
  91. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
  92. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
  93. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
  94. package/dist/standalone/.next/server/app/api/files/route.js +2 -2
  95. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  96. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  97. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  98. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  99. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  100. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  101. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  102. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  103. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  104. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
  105. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
  106. package/dist/standalone/.next/server/app/api/limits/history/route.js +4 -1
  107. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
  108. package/dist/standalone/.next/server/app/api/limits/route.js +4 -1
  109. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  110. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
  111. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
  112. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
  113. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
  114. package/dist/standalone/.next/server/app/api/log/provenance/route.js +1 -0
  115. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -0
  116. package/dist/standalone/.next/server/app/api/log/provenance/route_client-reference-manifest.js +1 -0
  117. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  118. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  119. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  120. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  121. package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  122. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  123. package/dist/standalone/.next/server/app/api/monitor/lock/route.js +2 -2
  124. package/dist/standalone/.next/server/app/api/monitor/lock/route.js.nft.json +1 -1
  125. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +1 -1
  126. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
  127. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
  128. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
  129. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
  130. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
  131. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +3 -0
  132. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -0
  133. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route_client-reference-manifest.js +1 -0
  134. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
  135. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
  136. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
  137. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
  138. package/dist/standalone/.next/server/app/api/pipelines/route.js +2 -2
  139. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
  140. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
  141. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
  142. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  143. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  144. package/dist/standalone/.next/server/app/api/projects/create/route.js +3 -0
  145. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -0
  146. package/dist/standalone/.next/server/app/api/projects/create/route_client-reference-manifest.js +1 -0
  147. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -0
  148. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -0
  149. package/dist/standalone/.next/server/app/api/projects/crown/route_client-reference-manifest.js +1 -0
  150. package/dist/standalone/.next/server/app/api/push/route.js +2 -2
  151. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  152. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  153. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  154. package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
  155. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
  156. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
  157. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
  158. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
  159. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
  160. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
  161. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
  162. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
  163. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
  164. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
  165. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
  166. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
  167. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
  168. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
  169. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
  170. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -1
  171. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
  172. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
  173. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
  174. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
  175. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
  176. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
  177. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
  178. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
  179. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
  180. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
  181. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
  182. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -0
  183. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -0
  184. package/dist/standalone/.next/server/app/api/search/transcripts/route_client-reference-manifest.js +1 -0
  185. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  186. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  187. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
  188. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
  189. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
  190. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
  191. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +6 -3
  192. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
  193. package/dist/standalone/.next/server/app/api/spawn/route.js +2 -2
  194. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  195. package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
  196. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
  197. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
  198. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
  199. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
  200. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  201. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  202. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  203. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
  204. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  205. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
  206. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  207. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  208. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  209. package/dist/standalone/.next/server/app/api/tasks/route.js +2 -2
  210. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  211. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -0
  212. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -0
  213. package/dist/standalone/.next/server/app/api/telegram/reports/route_client-reference-manifest.js +1 -0
  214. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -0
  215. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -0
  216. package/dist/standalone/.next/server/app/api/telegram/route_client-reference-manifest.js +1 -0
  217. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  218. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  219. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  220. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  221. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  222. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  223. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  224. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  225. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  226. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  227. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  228. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  229. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
  230. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
  231. package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
  232. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
  233. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -2
  234. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
  235. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  236. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  237. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  238. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  239. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  240. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  241. package/dist/standalone/.next/server/app/index.html +1 -1
  242. package/dist/standalone/.next/server/app/index.rsc +3 -3
  243. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  244. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  245. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  246. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  247. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  248. package/dist/standalone/.next/server/app/page.js +41 -24
  249. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  250. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  251. package/dist/standalone/.next/server/app-paths-manifest.json +22 -15
  252. package/dist/standalone/.next/server/chunks/156.js +2 -2
  253. package/dist/standalone/.next/server/chunks/1617.js +2 -0
  254. package/dist/standalone/.next/server/chunks/1858.js +91 -0
  255. package/dist/standalone/.next/server/chunks/1888.js +1 -0
  256. package/dist/standalone/.next/server/chunks/1920.js +1 -1
  257. package/dist/standalone/.next/server/chunks/2190.js +1 -1
  258. package/dist/standalone/.next/server/chunks/230.js +1 -0
  259. package/dist/standalone/.next/server/chunks/2318.js +2 -0
  260. package/dist/standalone/.next/server/chunks/2324.js +1 -0
  261. package/dist/standalone/.next/server/chunks/2338.js +9 -0
  262. package/dist/standalone/.next/server/chunks/2904.js +42 -0
  263. package/dist/standalone/.next/server/chunks/2923.js +1 -0
  264. package/dist/standalone/.next/server/chunks/2962.js +1 -0
  265. package/dist/standalone/.next/server/chunks/2977.js +1 -1
  266. package/dist/standalone/.next/server/chunks/306.js +3 -3
  267. package/dist/standalone/.next/server/chunks/3086.js +1 -0
  268. package/dist/standalone/.next/server/chunks/3139.js +10 -0
  269. package/dist/standalone/.next/server/chunks/3214.js +82 -0
  270. package/dist/standalone/.next/server/chunks/3336.js +1 -1
  271. package/dist/standalone/.next/server/chunks/3558.js +1 -1
  272. package/dist/standalone/.next/server/chunks/3587.js +1 -1
  273. package/dist/standalone/.next/server/chunks/3598.js +81 -0
  274. package/dist/standalone/.next/server/chunks/3740.js +126 -0
  275. package/dist/standalone/.next/server/chunks/3793.js +6 -0
  276. package/dist/standalone/.next/server/chunks/3916.js +1 -0
  277. package/dist/standalone/.next/server/chunks/3953.js +1 -0
  278. package/dist/standalone/.next/server/chunks/4012.js +2 -2
  279. package/dist/standalone/.next/server/chunks/4191.js +1 -1
  280. package/dist/standalone/.next/server/chunks/4260.js +2 -2
  281. package/dist/standalone/.next/server/chunks/4509.js +1 -1
  282. package/dist/standalone/.next/server/chunks/4968.js +1 -1
  283. package/dist/standalone/.next/server/chunks/4972.js +130 -2
  284. package/dist/standalone/.next/server/chunks/5689.js +11 -0
  285. package/dist/standalone/.next/server/chunks/6333.js +47 -0
  286. package/dist/standalone/.next/server/chunks/6796.js +1 -0
  287. package/dist/standalone/.next/server/chunks/6826.js +2 -2
  288. package/dist/standalone/.next/server/chunks/6850.js +1 -1
  289. package/dist/standalone/.next/server/chunks/6909.js +1 -0
  290. package/dist/standalone/.next/server/chunks/6977.js +1 -0
  291. package/dist/standalone/.next/server/chunks/7126.js +1 -0
  292. package/dist/standalone/.next/server/chunks/7159.js +1 -0
  293. package/dist/standalone/.next/server/chunks/7270.js +45 -0
  294. package/dist/standalone/.next/server/chunks/7295.js +10 -0
  295. package/dist/standalone/.next/server/chunks/7471.js +16 -14
  296. package/dist/standalone/.next/server/chunks/7563.js +1 -1
  297. package/dist/standalone/.next/server/chunks/7644.js +13 -0
  298. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  299. package/dist/standalone/.next/server/chunks/7733.js +4 -0
  300. package/dist/standalone/.next/server/chunks/7868.js +1 -0
  301. package/dist/standalone/.next/server/chunks/8026.js +1 -0
  302. package/dist/standalone/.next/server/chunks/8176.js +1 -1
  303. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  304. package/dist/standalone/.next/server/chunks/8465.js +2 -0
  305. package/dist/standalone/.next/server/chunks/849.js +6 -0
  306. package/dist/standalone/.next/server/chunks/8600.js +12 -0
  307. package/dist/standalone/.next/server/chunks/8617.js +2 -0
  308. package/dist/standalone/.next/server/chunks/8797.js +1 -1
  309. package/dist/standalone/.next/server/chunks/8817.js +5 -0
  310. package/dist/standalone/.next/server/chunks/8966.js +2 -2
  311. package/dist/standalone/.next/server/chunks/8996.js +1 -0
  312. package/dist/standalone/.next/server/chunks/9246.js +47 -0
  313. package/dist/standalone/.next/server/chunks/9364.js +310 -0
  314. package/dist/standalone/.next/server/chunks/9411.js +3 -3
  315. package/dist/standalone/.next/server/chunks/9434.js +13 -0
  316. package/dist/standalone/.next/server/chunks/9507.js +1 -0
  317. package/dist/standalone/.next/server/chunks/9676.js +62 -0
  318. package/dist/standalone/.next/server/chunks/9733.js +6 -3
  319. package/dist/standalone/.next/server/chunks/9901.js +62 -0
  320. package/dist/standalone/.next/server/chunks/9937.js +2 -0
  321. package/dist/standalone/.next/server/chunks/9940.js +128 -0
  322. package/dist/standalone/.next/server/chunks/static/media/pdf.worker.min.65fe1ff1.mjs +6 -0
  323. package/dist/standalone/.next/server/file-scanner-worker.js +2 -2
  324. package/dist/standalone/.next/server/files-response-worker.js +5 -5
  325. package/dist/standalone/.next/server/functions-config-manifest.json +8 -1
  326. package/dist/standalone/.next/server/instrumentation.js +1 -1
  327. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  328. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  329. package/dist/standalone/.next/server/pages/404.html +1 -1
  330. package/dist/standalone/.next/server/pages/500.html +1 -1
  331. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  332. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  333. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -0
  334. package/dist/standalone/.next/server/webpack-runtime.js +1 -1
  335. package/dist/standalone/.next/static/chunks/2619.fd64e7a5bd9005d5.js +1 -0
  336. package/dist/standalone/.next/static/chunks/8293.5545fdbde0213c98.js +1 -0
  337. package/dist/standalone/.next/static/chunks/9178-e32f088e89b55503.js +1 -0
  338. package/dist/standalone/.next/static/chunks/9b0008ae.eb7a9c4c1c92a63b.js +45 -0
  339. package/dist/standalone/.next/static/chunks/app/_global-error/page-c132c5ba005ff29e.js +1 -0
  340. package/dist/standalone/.next/static/chunks/app/api/access/route-c132c5ba005ff29e.js +1 -0
  341. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-c132c5ba005ff29e.js +1 -0
  342. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-c132c5ba005ff29e.js +1 -0
  343. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-c132c5ba005ff29e.js +1 -0
  344. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-c132c5ba005ff29e.js +1 -0
  345. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-c132c5ba005ff29e.js +1 -0
  346. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-c132c5ba005ff29e.js +1 -0
  347. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-c132c5ba005ff29e.js +1 -0
  348. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-c132c5ba005ff29e.js +1 -0
  349. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-c132c5ba005ff29e.js +1 -0
  350. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-c132c5ba005ff29e.js +1 -0
  351. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-c132c5ba005ff29e.js +1 -0
  352. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-c132c5ba005ff29e.js +1 -0
  353. package/dist/standalone/.next/static/chunks/app/api/accounts/route-c132c5ba005ff29e.js +1 -0
  354. package/dist/standalone/.next/static/chunks/app/api/agent/route-c132c5ba005ff29e.js +1 -0
  355. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-c132c5ba005ff29e.js +1 -0
  356. package/dist/standalone/.next/static/chunks/app/api/answer/route-c132c5ba005ff29e.js +1 -0
  357. package/dist/standalone/.next/static/chunks/app/api/artifact/route-c132c5ba005ff29e.js +1 -0
  358. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-c132c5ba005ff29e.js +1 -0
  359. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-c132c5ba005ff29e.js +1 -0
  360. package/dist/standalone/.next/static/chunks/app/api/attention/route-c132c5ba005ff29e.js +1 -0
  361. package/dist/standalone/.next/static/chunks/app/api/board/route-c132c5ba005ff29e.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/api/bridge/route-c132c5ba005ff29e.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-c132c5ba005ff29e.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/conversations/route-c132c5ba005ff29e.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/files/route-c132c5ba005ff29e.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-c132c5ba005ff29e.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/flows/route-c132c5ba005ff29e.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/image/route-c132c5ba005ff29e.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/inbox/route-c132c5ba005ff29e.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-c132c5ba005ff29e.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-c132c5ba005ff29e.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/limits/route-c132c5ba005ff29e.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-c132c5ba005ff29e.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-c132c5ba005ff29e.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-c132c5ba005ff29e.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/log/route-c132c5ba005ff29e.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/logs/route-c132c5ba005ff29e.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-c132c5ba005ff29e.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-c132c5ba005ff29e.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-c132c5ba005ff29e.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-c132c5ba005ff29e.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-c132c5ba005ff29e.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-c132c5ba005ff29e.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-c132c5ba005ff29e.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-c132c5ba005ff29e.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-c132c5ba005ff29e.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-c132c5ba005ff29e.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/proc/route-c132c5ba005ff29e.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-c132c5ba005ff29e.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-c132c5ba005ff29e.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/push/route-c132c5ba005ff29e.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/resources/route-c132c5ba005ff29e.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/roles/route-c132c5ba005ff29e.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-c132c5ba005ff29e.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-c132c5ba005ff29e.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-c132c5ba005ff29e.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-c132c5ba005ff29e.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-c132c5ba005ff29e.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-c132c5ba005ff29e.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-c132c5ba005ff29e.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-c132c5ba005ff29e.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-c132c5ba005ff29e.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-c132c5ba005ff29e.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-c132c5ba005ff29e.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-c132c5ba005ff29e.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-c132c5ba005ff29e.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-c132c5ba005ff29e.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/session/route-c132c5ba005ff29e.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-c132c5ba005ff29e.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/session/title/route-c132c5ba005ff29e.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-c132c5ba005ff29e.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/spawn/route-c132c5ba005ff29e.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/staging/route-c132c5ba005ff29e.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-c132c5ba005ff29e.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-c132c5ba005ff29e.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-c132c5ba005ff29e.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-c132c5ba005ff29e.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-c132c5ba005ff29e.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-c132c5ba005ff29e.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/tasks/route-c132c5ba005ff29e.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-c132c5ba005ff29e.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/telegram/route-c132c5ba005ff29e.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/timeline/route-c132c5ba005ff29e.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/tmux/route-c132c5ba005ff29e.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-c132c5ba005ff29e.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-c132c5ba005ff29e.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-c132c5ba005ff29e.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-c132c5ba005ff29e.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-c132c5ba005ff29e.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/tts/route-c132c5ba005ff29e.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-c132c5ba005ff29e.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-c132c5ba005ff29e.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/workflows/route-c132c5ba005ff29e.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/page-ac9463b910bf83fe.js +77 -0
  435. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-c132c5ba005ff29e.js +1 -0
  436. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-c132c5ba005ff29e.js +1 -0
  437. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-c132c5ba005ff29e.js +1 -0
  438. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c132c5ba005ff29e.js +1 -0
  439. package/dist/standalone/.next/static/chunks/webpack-1637988d4c7cf23c.js +1 -0
  440. package/dist/standalone/.next/static/css/498f12ddef7ecb0e.css +1 -0
  441. package/dist/standalone/.next/static/kt9OPe8iwfpNcdOX9ygvb/_buildManifest.js +1 -0
  442. package/dist/standalone/.next/static/media/pdf.worker.min.e890bf87.mjs +6 -0
  443. package/dist/standalone/package.json +9 -5
  444. package/dist/standalone/server.bun.js +38 -0
  445. package/dist/standalone/server.js +18 -37
  446. package/package.json +9 -5
  447. package/vendor/telegram-mcp/.python-version +1 -0
  448. package/vendor/telegram-mcp/LICENSE +201 -0
  449. package/vendor/telegram-mcp/PROVENANCE.md +70 -0
  450. package/vendor/telegram-mcp/SHA256SUMS +24 -0
  451. package/vendor/telegram-mcp/main.py +67 -0
  452. package/vendor/telegram-mcp/pyproject.toml +100 -0
  453. package/vendor/telegram-mcp/requirements.txt +7 -0
  454. package/vendor/telegram-mcp/sanitize.py +143 -0
  455. package/vendor/telegram-mcp/session_string_generator.py +259 -0
  456. package/vendor/telegram-mcp/telegram_mcp/__init__.py +15 -0
  457. package/vendor/telegram-mcp/telegram_mcp/client_identity.py +31 -0
  458. package/vendor/telegram-mcp/telegram_mcp/install_guard.py +209 -0
  459. package/vendor/telegram-mcp/telegram_mcp/runner.py +198 -0
  460. package/vendor/telegram-mcp/telegram_mcp/runtime.py +1812 -0
  461. package/vendor/telegram-mcp/telegram_mcp/singleton.py +143 -0
  462. package/vendor/telegram-mcp/telegram_mcp/tools/__init__.py +13 -0
  463. package/vendor/telegram-mcp/telegram_mcp/tools/accounts.py +31 -0
  464. package/vendor/telegram-mcp/telegram_mcp/tools/chats.py +1163 -0
  465. package/vendor/telegram-mcp/telegram_mcp/tools/contacts.py +802 -0
  466. package/vendor/telegram-mcp/telegram_mcp/tools/events.py +485 -0
  467. package/vendor/telegram-mcp/telegram_mcp/tools/folders.py +600 -0
  468. package/vendor/telegram-mcp/telegram_mcp/tools/groups.py +1286 -0
  469. package/vendor/telegram-mcp/telegram_mcp/tools/media.py +470 -0
  470. package/vendor/telegram-mcp/telegram_mcp/tools/messages.py +2041 -0
  471. package/vendor/telegram-mcp/telegram_mcp/tools/profile.py +449 -0
  472. package/vendor/telegram-mcp/uv.lock +1693 -0
  473. package/dist/standalone/.next/server/app/api/orchestrator/route.js +0 -1
  474. package/dist/standalone/.next/server/app/api/orchestrator/route_client-reference-manifest.js +0 -1
  475. package/dist/standalone/.next/server/chunks/1699.js +0 -1
  476. package/dist/standalone/.next/server/chunks/2596.js +0 -1
  477. package/dist/standalone/.next/server/chunks/3886.js +0 -1
  478. package/dist/standalone/.next/server/chunks/4792.js +0 -101
  479. package/dist/standalone/.next/server/chunks/5622.js +0 -2
  480. package/dist/standalone/.next/server/chunks/616.js +0 -42
  481. package/dist/standalone/.next/server/chunks/620.js +0 -1
  482. package/dist/standalone/.next/server/chunks/6299.js +0 -4
  483. package/dist/standalone/.next/server/chunks/9598.js +0 -1
  484. package/dist/standalone/.next/server/chunks/9936.js +0 -6
  485. package/dist/standalone/.next/static/5aZdjqUDNxpxX8nVsuO2S/_buildManifest.js +0 -1
  486. package/dist/standalone/.next/static/chunks/9260-0e7e550c65609f11.js +0 -1
  487. package/dist/standalone/.next/static/chunks/app/_global-error/page-483eb859fba02a43.js +0 -1
  488. package/dist/standalone/.next/static/chunks/app/api/access/route-483eb859fba02a43.js +0 -1
  489. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-483eb859fba02a43.js +0 -1
  490. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-483eb859fba02a43.js +0 -1
  491. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-483eb859fba02a43.js +0 -1
  492. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-483eb859fba02a43.js +0 -1
  493. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-483eb859fba02a43.js +0 -1
  494. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-483eb859fba02a43.js +0 -1
  495. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-483eb859fba02a43.js +0 -1
  496. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-483eb859fba02a43.js +0 -1
  497. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-483eb859fba02a43.js +0 -1
  498. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-483eb859fba02a43.js +0 -1
  499. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-483eb859fba02a43.js +0 -1
  500. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-483eb859fba02a43.js +0 -1
  501. package/dist/standalone/.next/static/chunks/app/api/accounts/route-483eb859fba02a43.js +0 -1
  502. package/dist/standalone/.next/static/chunks/app/api/agent/route-483eb859fba02a43.js +0 -1
  503. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-483eb859fba02a43.js +0 -1
  504. package/dist/standalone/.next/static/chunks/app/api/answer/route-483eb859fba02a43.js +0 -1
  505. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-483eb859fba02a43.js +0 -1
  506. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-483eb859fba02a43.js +0 -1
  507. package/dist/standalone/.next/static/chunks/app/api/attention/route-483eb859fba02a43.js +0 -1
  508. package/dist/standalone/.next/static/chunks/app/api/board/route-483eb859fba02a43.js +0 -1
  509. package/dist/standalone/.next/static/chunks/app/api/bridge/route-483eb859fba02a43.js +0 -1
  510. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-483eb859fba02a43.js +0 -1
  511. package/dist/standalone/.next/static/chunks/app/api/conversations/route-483eb859fba02a43.js +0 -1
  512. package/dist/standalone/.next/static/chunks/app/api/files/route-483eb859fba02a43.js +0 -1
  513. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-483eb859fba02a43.js +0 -1
  514. package/dist/standalone/.next/static/chunks/app/api/flows/route-483eb859fba02a43.js +0 -1
  515. package/dist/standalone/.next/static/chunks/app/api/image/route-483eb859fba02a43.js +0 -1
  516. package/dist/standalone/.next/static/chunks/app/api/inbox/route-483eb859fba02a43.js +0 -1
  517. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-483eb859fba02a43.js +0 -1
  518. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-483eb859fba02a43.js +0 -1
  519. package/dist/standalone/.next/static/chunks/app/api/limits/route-483eb859fba02a43.js +0 -1
  520. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-483eb859fba02a43.js +0 -1
  521. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-483eb859fba02a43.js +0 -1
  522. package/dist/standalone/.next/static/chunks/app/api/log/route-483eb859fba02a43.js +0 -1
  523. package/dist/standalone/.next/static/chunks/app/api/logs/route-483eb859fba02a43.js +0 -1
  524. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-483eb859fba02a43.js +0 -1
  525. package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-483eb859fba02a43.js +0 -1
  526. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-483eb859fba02a43.js +0 -1
  527. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-483eb859fba02a43.js +0 -1
  528. package/dist/standalone/.next/static/chunks/app/api/orchestrator/route-483eb859fba02a43.js +0 -1
  529. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-483eb859fba02a43.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-483eb859fba02a43.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-483eb859fba02a43.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-483eb859fba02a43.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-483eb859fba02a43.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/proc/route-483eb859fba02a43.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/push/route-483eb859fba02a43.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/resources/route-483eb859fba02a43.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/roles/route-483eb859fba02a43.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-483eb859fba02a43.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-483eb859fba02a43.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-483eb859fba02a43.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-483eb859fba02a43.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-483eb859fba02a43.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-483eb859fba02a43.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-483eb859fba02a43.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-483eb859fba02a43.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-483eb859fba02a43.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-483eb859fba02a43.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-483eb859fba02a43.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-483eb859fba02a43.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-483eb859fba02a43.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/session/route-483eb859fba02a43.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-483eb859fba02a43.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/session/title/route-483eb859fba02a43.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-483eb859fba02a43.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/spawn/route-483eb859fba02a43.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/staging/route-483eb859fba02a43.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-483eb859fba02a43.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-483eb859fba02a43.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-483eb859fba02a43.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-483eb859fba02a43.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-483eb859fba02a43.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-483eb859fba02a43.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/tasks/route-483eb859fba02a43.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/timeline/route-483eb859fba02a43.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/tmux/route-483eb859fba02a43.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-483eb859fba02a43.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-483eb859fba02a43.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-483eb859fba02a43.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-483eb859fba02a43.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-483eb859fba02a43.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/tts/route-483eb859fba02a43.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-483eb859fba02a43.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-483eb859fba02a43.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/workflows/route-483eb859fba02a43.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/page-45fd788b5dbb86eb.js +0 -57
  576. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-483eb859fba02a43.js +0 -1
  577. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-483eb859fba02a43.js +0 -1
  578. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-483eb859fba02a43.js +0 -1
  579. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-483eb859fba02a43.js +0 -1
  580. package/dist/standalone/.next/static/chunks/webpack-46c1a0323c2ca312.js +0 -1
  581. package/dist/standalone/.next/static/css/b5b2fbc52caf460a.css +0 -1
  582. /package/dist/standalone/.next/static/{5aZdjqUDNxpxX8nVsuO2S → kt9OPe8iwfpNcdOX9ygvb}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2190,exports.ids=[2190],exports.modules={13896:(a,b,c)=>{c.d(b,{E0:()=>v,EM:()=>K,IR:()=>G,J2:()=>O,Km:()=>L,PT:()=>P,T7:()=>C,mZ:()=>u,qo:()=>M});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(89940),l=c(58152),m=c(4837),n=c(89822),o=c(2033),p=c(19849),q=c(63376);let r=new Set([2,3,4]),s=()=>(0,j.BQ)("pipelines.json"),t=["orchestrator","reviewer","verifier","builder","architect","cleaner","prod-auditor","deployer"];class u extends Error{constructor(a,b){super(a,b),this.name="PipelineStoreError"}}function v(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&!("claude"!==a.engine&&"codex"!==a.engine||null!==a.model&&"string"!=typeof a.model||a.model&&"claude"===a.engine&&!(0,m.OV)(a.model)||a.model&&"codex"===a.engine&&(a.model.length>128||!a.model.startsWith("gpt-")||/[\u0000-\u001f\u007f]/.test(a.model)))&&(null===a.effort||"string"==typeof a.effort&&!!(0,l.z9)(a.engine,a.effort))&&(null===a.roleId||t.includes(a.roleId))&&("read-only"===a.access||"read-write"===a.access)&&(null===a.promptScaffold||"string"==typeof a.promptScaffold&&a.promptScaffold.length<=n.le)}function w(a){return null===a||"string"==typeof a}function x(a){return null==a||!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Number.isInteger(a.attempt)&&a.attempt>=1&&("pass"===a.edge||"fail"===a.edge)}function y(a,b){var c,d;return!(!a||"object"!=typeof a||Array.isArray(a))&&a.n===b+1&&(void 0===a.historical||"boolean"==typeof a.historical)&&["pending","spawning","running","reviewing","committing","passed","failed","needs_decision","skipped"].includes(String(a.state))&&v(a.effectiveRole)&&w(a.launchId)&&w(a.conversationId)&&w(a.sessionId)&&w(a.agentPath)&&w(a.paneId)&&w(a.flowId)&&(void 0===a.expectedReviewHeadSha||w(a.expectedReviewHeadSha))&&(void 0===a.reviewHeadSha||w(a.reviewHeadSha))&&function(a){if(void 0===a)return!0;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let b=["waiting_ready","spawn_pending","spawning","reviewing","relay_pending","relaying","fixing","approved","done_comment","needs_decision","paused","closed"];return"string"==typeof a.generation&&(void 0===a.sourceRevision||Number.isInteger(a.sourceRevision)&&a.sourceRevision>=0)&&Number.isInteger(a.roundCount)&&a.roundCount>=0&&w(a.implementerHeadSha)&&w(a.reviewerHeadSha)&&(null===a.verdict||["APPROVE","REQUEST_CHANGES","COMMENT"].includes(String(a.verdict)))&&b.includes(String(a.relayState))&&(null===a.terminalState||b.includes(String(a.terminalState)))&&"string"==typeof a.synchronizedAt&&w(a.sourceUpdatedAt)&&(null===a.lagMs||"number"==typeof a.lagMs&&Number.isFinite(a.lagMs)&&a.lagMs>=0)}(a.reviewFlowSync)&&w(a.startedAt)&&w(a.completedAt)&&(void 0===a.input||w(a.input))&&x(a.activatedBy)&&w(a.output)&&(null===(c=a.verdict)||null!==(0,q.eh)(c))&&w(a.error)&&(void 0===(d=a.verdictRecovery)||!(!d||"object"!=typeof d||Array.isArray(d))&&["pending","recovered","exhausted"].includes(String(d.state))&&Number.isInteger(d.checks)&&d.checks>=0&&Number.isInteger(d.maxChecks)&&d.maxChecks>=1&&d.checks<=d.maxChecks&&"string"==typeof d.startedAt&&"string"==typeof d.lastCheckedAt&&w(d.nextCheckAt)&&"string"==typeof d.reason&&d.reason.length>0&&d.reason.length<=1e3&&(null===d.messageTs||"number"==typeof d.messageTs&&Number.isFinite(d.messageTs)&&d.messageTs>=0))}function z(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Array.isArray(a.attempts)&&a.attempts.every(y)}function A(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Number.isInteger(a.attempt)&&w(a.conversationId)&&w(a.agentPath)&&(void 0===a.paneId||w(a.paneId))&&w(a.operationId)&&"string"==typeof a.detail&&"string"==typeof a.at}function B(a){var b;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.role;if(!("string"==typeof a.id&&("run"===a.kind||"review-loop"===a.kind)&&"string"==typeof a.prompt&&(null===a.next||"string"==typeof a.next)&&(null==(b=a.onFail)||!(!b||"object"!=typeof b||Array.isArray(b))&&"string"==typeof b.to&&Number.isInteger(b.maxRounds)&&b.maxRounds>=1&&b.maxRounds<=p.e7)&&(void 0===c||c&&"object"==typeof c&&!Array.isArray(c)&&t.includes(c.roleId))&&(void 0===a.engine||"claude"===a.engine||"codex"===a.engine)&&(void 0===a.model||null===a.model||"string"==typeof a.model)&&(void 0===a.effort||null===a.effort||"string"==typeof a.effort)&&(void 0===a.access||"read-only"===a.access||"read-write"===a.access)&&v(a.effectiveRole)))return!1;let d=a.effectiveRole,e=void 0===c?null:c.roleId;return d.roleId===e&&("review-loop"!==a.kind||"read-only"===d.access)&&(void 0===a.engine||a.engine===d.engine)&&(void 0===a.model||a.model===d.model)&&(void 0===a.effort||a.effort===d.effort)&&(void 0===a.access||a.access===d.access)&&(null!==e||null===d.promptScaffold)&&(null===e||!!d.promptScaffold?.trim())&&!0}function C(a){let b=new Set(a.map(a=>a.id)),c=new Map(a.map(a=>[a.id,a.next]));for(let c of a){if(null!==c.next&&!b.has(c.next))return`stage ${c.id} next must reference an existing stage`;if(c.next===c.id)return`stage ${c.id} pass edge may not target itself`;let a=c.onFail??null;if(a&&!b.has(a.to))return`stage ${c.id} onFail must reference an existing stage`;if(a&&(!Number.isInteger(a.maxRounds)||a.maxRounds<1||a.maxRounds>p.e7))return`stage ${c.id} onFail maxRounds must be an integer between 1 and ${p.e7}`}for(let b of a){let d=b.next;for(let e=0;null!==d;e+=1){if(d===b.id||e>a.length)return`pipeline pass edges form a cycle through stage ${b.id}`;d=c.get(d)??null}}for(let b of a)if("review-loop"===b.kind&&!a.some(d=>{if("run"!==d.kind)return!1;let e=d.next;for(let d=0;null!==e&&d<=a.length;d+=1){if(e===b.id)return!0;e=c.get(e)??null}return!1}))return"review-loop stage requires a preceding run stage";return null}function D(a){var b,c;if(!a||"object"!=typeof a||Array.isArray(a)||!("string"==typeof a.id&&"string"==typeof a.task&&Array.isArray(a.taskIds)&&a.taskIds.every(a=>"string"==typeof a)&&new Set(a.taskIds).size===a.taskIds.length&&(void 0===a.creationIntent||!(!(b=a.creationIntent)||"object"!=typeof b||Array.isArray(b))&&"task-spawn"===b.kind&&"string"==typeof b.taskId&&b.taskId.trim()&&"string"==typeof b.launchId&&b.launchId.trim())&&(void 0===a.spec||"string"==typeof a.spec)&&"string"==typeof a.project&&"string"==typeof a.repoDir&&"string"==typeof a.worktreeDir&&"string"==typeof a.branch&&"string"==typeof a.baseBranch&&"string"==typeof a.baseRef&&"string"==typeof a.lastPassedCommit&&(void 0===a.publishedCommit||w(a.publishedCommit))&&Array.isArray(a.stages)&&a.stages.every(B)&&Array.isArray(a.runs)&&a.runs.every(z)&&["draft","provisioning","running","needs_decision","paused","completed","closed"].includes(String(a.state))&&(null===a.pausedState||["provisioning","running","needs_decision","completed","closed"].includes(String(a.pausedState)))&&(void 0===a.pausedAt||w(a.pausedAt))&&(void 0===a.resumedAt||w(a.resumedAt))&&w(a.stateDetail)&&w(a.srcPath)&&w(a.srcConversationId)&&"string"==typeof a.createdAt&&w(a.closedAt)&&(void 0===a.hiddenAt||w(a.hiddenAt))&&(void 0===a.unconfirmedHosts||Array.isArray(a.unconfirmedHosts)&&a.unconfirmedHosts.every(A))&&(void 0===a.terminalReap||!(!(c=a.terminalReap)||"object"!=typeof c||Array.isArray(c))&&Number.isInteger(c.rounds)&&c.rounds>=0&&Number.isInteger(c.stopped)&&c.stopped>=0&&"string"==typeof c.lastAt&&w(c.settledAt))&&(void 0===a.restored||"boolean"==typeof a.restored)&&(void 0===a.pos||"object"==typeof a.pos&&null!==a.pos&&Number.isFinite(a.pos.x)&&Number.isFinite(a.pos.y))))return!1;let d=a.stages,e=a.runs,f=+("draft"!==a.state);if(d.length<f||d.length>p.IO||e.length!==d.length)return!1;let g=d.map(a=>a.id);if(new Set(g).size!==g.length||null!==C(d)||e.some((a,b)=>a.stageId!==d[b].id))return!1;let h=i().join(i().dirname(a.repoDir),`${i().basename(a.repoDir)}-pipeline-${a.id}`);if(a.worktreeDir!==h||a.branch!==`pipeline/${N(a.task)}-${a.id}`)return!1;let j=a.cursor;if(null!==j&&(!j||"object"!=typeof j||!g.includes(j.stageId)||!["pending","spawning","running","reviewing","committing"].includes(j.state)||!(void 0===j.input||w(j.input))||!x(j.activatedBy)||null!=j.activatedBy&&!g.includes(j.activatedBy.stageId))||("completed"===a.state||"closed"===a.state)&&null!==j)return!1;if("draft"===a.state){if(0===d.length){if(null!==j)return!1}else if(j?.stageId!==d[0].id||"pending"!==j.state)return!1;if(e.some(a=>a.attempts.length>0))return!1;let b=!a.baseBranch&&!a.baseRef&&!a.lastPassedCommit,c=!!(a.baseBranch&&/^[0-9a-f]{40}$/i.test(a.baseRef)&&a.lastPassedCommit===a.baseRef);if(!b&&!c||a.closedAt)return!1}return!0}function E(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let b=Array.isArray(a.stages)?a.stages.map(a=>a&&"object"==typeof a?{onFail:null,...a}:a):a.stages,c=Array.isArray(a.runs)?a.runs.map(a=>a&&"object"==typeof a&&Array.isArray(a.attempts)?{...a,attempts:a.attempts.map(a=>a&&"object"==typeof a?{input:null,activatedBy:null,...a}:a)}:a):a.runs,d=a.cursor&&"object"==typeof a.cursor?{input:null,activatedBy:null,...a.cursor}:a.cursor,e={...a,stages:b,runs:c,cursor:d};if("draft"===e.state&&Array.isArray(e.stages)&&0===e.stages.length){let a={id:"implement",kind:"run",prompt:"{{task}}",next:null,onFail:null,effectiveRole:{roleId:null,engine:"claude",model:null,effort:null,access:"read-write",promptScaffold:null}};e.stages=[a],e.runs=[{stageId:a.id,attempts:[]}],e.cursor={stageId:a.id,state:"pending",input:null,activatedBy:null}}return e}function F(a){return!a||"object"!=typeof a||Array.isArray(a)?a:{taskIds:[],...a}}function G(){let a=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch(b){if("ENOENT"===b.code)return null;throw new u(`could not read pipeline registry: ${a}`,{cause:b})}}(s());if(null===a)return[];if(!a||"object"!=typeof a||Array.isArray(a))throw new u("pipeline registry must be an object");if("number"!=typeof a.schemaVersion||!r.has(a.schemaVersion))throw new u(`unsupported pipeline registry schema: ${String(a.schemaVersion)}`);if(!Array.isArray(a.pipelines))throw new u("pipeline registry contains malformed records");let b=2===a.schemaVersion?a.pipelines.map(E):a.pipelines,c=a.schemaVersion<4?b.map(F):b;if(!c.every(D))throw new u("pipeline registry contains malformed records");return c.map(H)}function H(a){return{...a,project:(0,k.G$)(a.project),taskIds:[...a.taskIds],creationIntent:a.creationIntent?{...a.creationIntent}:void 0,spec:"string"==typeof a.spec?a.spec:void 0,baseBranch:a.baseBranch??"",baseRef:a.baseRef??"",lastPassedCommit:a.lastPassedCommit??"",publishedCommit:a.publishedCommit??null,pausedState:a.pausedState??null,stateDetail:a.stateDetail??null,srcPath:a.srcPath??null,srcConversationId:a.srcConversationId??null,closedAt:a.closedAt??null,hiddenAt:a.hiddenAt??null,unconfirmedHosts:a.unconfirmedHosts?.length?a.unconfirmedHosts.map(a=>({...a})):void 0,terminalReap:a.terminalReap?{...a.terminalReap}:void 0,restored:void 0,stages:a.stages.map(a=>({...a,onFail:a.onFail??null})),cursor:a.cursor?{...a.cursor,input:a.cursor.input??null,activatedBy:a.cursor.activatedBy??null}:null,runs:a.runs.map(a=>({...a,attempts:Array.isArray(a.attempts)?a.attempts.map(a=>({...a,launchId:a.launchId??null,conversationId:a.conversationId??null,sessionId:a.sessionId??null,agentPath:a.agentPath??null,paneId:a.paneId??null,flowId:a.flowId??null,expectedReviewHeadSha:a.expectedReviewHeadSha??null,reviewHeadSha:a.reviewHeadSha??null,reviewFlowSync:a.reviewFlowSync?{...a.reviewFlowSync}:void 0,startedAt:a.startedAt??null,completedAt:a.completedAt??null,input:a.input??null,activatedBy:a.activatedBy??null,output:a.output??null,verdict:a.verdict??null,error:a.error??null,verdictRecovery:a.verdictRecovery?{...a.verdictRecovery}:void 0})):[]}))}}let I=null;function J(){try{let a=g().statSync(s(),{bigint:!0});return`${a.mtimeNs}:${a.size}`}catch{return null}}function K(){let a=J();if(null!==a&&I?.signature===a)return I.pipelines.map(H);let b=G(),c=J();return null!==c&&a===c&&(I={signature:c,pipelines:b}),b.map(H)}async function L(a){return(0,o.pM)(s(),"pipeline state is busy",async()=>{let b=G();return a(b,()=>(function(a){var b;let c;for(let b of a){let a=b.id;if(!D(b))throw new u(`refusing to persist a malformed pipeline record: ${a}`)}b=s(),g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({schemaVersion:4,pipelines:a},null,2)+"\n","utf8"),g().renameSync(c,b)})(b))})}function M(a,b,c,d={}){let e=new Map(c.map(a=>[a.id,a]));for(let c of b){let b=e.get(c);if(!b){if(d.allowMissing)continue;return`task not found: ${c}`}if(b.project!==a.project)return`task project does not match pipeline project: ${c}`}return null}function N(a){return a.toLowerCase().replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,40).replace(/-+$/,"")||"task"}function O(a,b,c){let d=i().basename(c);return{worktreeDir:i().join(i().dirname(c),`${d}-pipeline-${a}`),branch:`pipeline/${N(b)}-${a}`}}function P(a){let b=O(a.id,a.task,a.repoDir);return{id:a.id,task:a.task,taskIds:[...new Set(a.taskIds??[])],...a.creationIntent?{creationIntent:{...a.creationIntent}}:{},...a.spec?{spec:a.spec}:{},project:a.project,repoDir:a.repoDir,...b,baseBranch:"",baseRef:"",lastPassedCommit:"",publishedCommit:null,stages:JSON.parse(JSON.stringify(a.stages)).map(a=>({...a,onFail:a.onFail??null})),runs:a.stages.map(a=>({stageId:a.id,attempts:[]})),cursor:a.stages.length?{stageId:a.stages[0].id,state:"pending",input:null,activatedBy:null}:null,state:a.state??"provisioning",pausedState:null,stateDetail:null,srcPath:a.srcPath,srcConversationId:a.srcConversationId,createdAt:a.now,closedAt:null,hiddenAt:null}}},19849:(a,b,c)=>{c.d(b,{IO:()=>g,Ty:()=>j,WD:()=>h,Y3:()=>f,e7:()=>i,g9:()=>d,qf:()=>e});let d=4e3,e=16e3,f=8e3,g=8,h=1,i=9,j=5},34471:(a,b,c)=>{c.d(b,{L1:()=>h,Rz:()=>f,xQ:()=>g});var d=c(60641),e=c(19849);function f(a){return"string"==typeof a.launchId&&"string"==typeof a.conversationId}function g(a,b){return a.map(a=>({...a,pipelineIds:b.filter(b=>b.taskIds.includes(a.id)).map(a=>a.id)}))}function h(a,b,c){return b.some(b=>b.taskIds.includes(a.id)&&"closed"!==b.state&&!b.hiddenAt)?null:{task:(0,d.bO)(a.text).slice(0,e.g9),spec:a.text,taskIds:[a.id],repoDir:c.repoDir,...c.srcPath?{src:c.srcPath}:{},autoStart:!1,stages:[{id:"run",kind:"run",role:{roleId:"builder"},engine:c.engine,model:c.model,effort:c.effort,access:"read-write",prompt:"{{task}}",next:null}]}}},63376:(a,b,c)=>{c.d(b,{DL:()=>j,eh:()=>h,fM:()=>k});let d=new Set(["status","findings","confidence"]),e={APPROVE:"pass",REQUEST_CHANGES:"fail",COMMENT:"needs_decision","NO FINDINGS":"pass"},f=/^\s*(?:VERDICT:\s*(APPROVE|REQUEST_CHANGES|COMMENT)|(NO FINDINGS))\s*$/i,g=/^REVIEW_READY(?::[^\r\n]*)?$/;function h(a){if(!a||"object"!=typeof a||Array.isArray(a)||Object.keys(a).some(a=>!d.has(a))||"pass"!==a.status&&"fail"!==a.status&&"needs_decision"!==a.status)return null;let b={status:a.status};if(void 0!==a.findings){if(!Array.isArray(a.findings)||a.findings.length>50)return null;let c=[];for(let b of a.findings){if("string"!=typeof b)return null;let a=b.trim();if(!a||a.length>2e3)return null;c.push(a)}b.findings=c}if(void 0!==a.confidence){if("number"!=typeof a.confidence||!Number.isFinite(a.confidence)||a.confidence<0||a.confidence>1)return null;b.confidence=a.confidence}return b}function i(a){var b;let c,d=[...a.matchAll(/```(?:json)?\s*([\s\S]*?)```/gi)].at(-1);if(!d||void 0===d.index)return{failureReason:"canonical completed assistant turn is missing a fenced JSON verdict"};let e=a.slice(d.index+d[0].length).trim();if(e&&!g.test(e))return{failureReason:"canonical completed assistant turn has unsupported text after the final fenced JSON verdict"};try{c=JSON.parse(d[1]??"")}catch{return{failureReason:"canonical completed assistant turn has malformed JSON in the final fenced verdict"}}let f=!(b=c)||"object"!=typeof b||Array.isArray(b)?null:h({status:b.status,...Object.hasOwn(b,"findings")?{findings:b.findings}:{},...Object.hasOwn(b,"confidence")?{confidence:b.confidence}:{}});return f?{index:d.index,verdict:f}:{failureReason:"canonical completed assistant turn is missing a valid status, findings, or confidence field"}}function j(a){let b=i(a);if("failureReason"in b)return b.failureReason;let c=k(a);return c&&"failureReason"in c?c.failureReason:"canonical completed assistant turn did not yield a valid final JSON verdict"}function k(a){let b=i(a);if("failureReason"in b)return null;let c=b.verdict,d=a.slice(0,b.index).trim(),g=d.slice(0,32e3);if("pass"===c.status&&c.findings?.length)return{failureReason:'contradictory stage verdict: status "pass" cannot include findings',output:g};for(let a of function(a){let b=[],c=null;for(let d of a.split(/\r?\n/)){let a=/^\s*(`{3,}|~{3,})(.*)$/.exec(d);if(a){let b=a[1],d=b[0];c?c.marker===d&&b.length>=c.length&&!a[2].trim()&&(c=null):c={marker:d,length:b.length};continue}if(c||/^\s*>/.test(d))continue;let e=f.exec(d);e&&b.push((e[1]??e[2]).toUpperCase())}return b}(d))if(e[a]!==c.status)return{failureReason:`contradictory stage verdict: prose marker "${a}" disagrees with JSON status "${c.status}"`,output:g};return{verdict:c,output:g}}}};
1
+ "use strict";exports.id=2190,exports.ids=[2190],exports.modules={13896:(a,b,c)=>{c.d(b,{E0:()=>s,EM:()=>L,IR:()=>B,J2:()=>R,Km:()=>M,M7:()=>N,PT:()=>S,Ro:()=>O,T7:()=>z,mZ:()=>r,qo:()=>P}),c(77598);var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(89940),j=c(58152),k=c(4837),l=c(89822),m=c(13117),n=c(19849),o=c(63376);let p=new Set([2,3,4,5]),q=["orchestrator","reviewer","verifier","builder","architect","cleaner","prod-auditor","deployer"];class r extends Error{constructor(a,b){super(a,b),this.name="PipelineStoreError"}}function s(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&!("claude"!==a.engine&&"codex"!==a.engine||null!==a.model&&"string"!=typeof a.model||a.model&&"claude"===a.engine&&!(0,k.OV)(a.model)||a.model&&"codex"===a.engine&&(a.model.length>128||!a.model.startsWith("gpt-")||/[\u0000-\u001f\u007f]/.test(a.model)))&&(null===a.effort||"string"==typeof a.effort&&!!(0,j.z9)(a.engine,a.effort))&&(null===a.roleId||q.includes(a.roleId))&&("read-only"===a.access||"read-write"===a.access)&&(null===a.promptScaffold||"string"==typeof a.promptScaffold&&a.promptScaffold.length<=l.le)}function t(a){return null===a||"string"==typeof a}function u(a){return null==a||!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Number.isInteger(a.attempt)&&a.attempt>=1&&("pass"===a.edge||"fail"===a.edge)}function v(a,b){var c,d;return!(!a||"object"!=typeof a||Array.isArray(a))&&a.n===b+1&&(void 0===a.historical||"boolean"==typeof a.historical)&&["pending","spawning","running","reviewing","committing","passed","failed","needs_decision","skipped"].includes(String(a.state))&&s(a.effectiveRole)&&t(a.launchId)&&t(a.conversationId)&&t(a.sessionId)&&t(a.agentPath)&&t(a.paneId)&&t(a.flowId)&&(void 0===a.expectedReviewHeadSha||t(a.expectedReviewHeadSha))&&(void 0===a.reviewHeadSha||t(a.reviewHeadSha))&&function(a){if(void 0===a)return!0;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let b=a.hostClaim,c=null==b||"object"==typeof b&&!Array.isArray(b)&&/^(?:claude|codex):[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(String(b.sessionKey))&&/^(?:default|unknown|managed:[0-9a-f]{12})$/.test(String(b.accountRef)),d=["waiting_ready","spawn_pending","spawning","reviewing","relay_pending","relaying","fixing","approved","done_comment","needs_decision","paused","closed"];return"string"==typeof a.generation&&(void 0===a.sourceRevision||Number.isInteger(a.sourceRevision)&&a.sourceRevision>=0)&&Number.isInteger(a.roundCount)&&a.roundCount>=0&&t(a.implementerHeadSha)&&t(a.reviewerHeadSha)&&(null===a.verdict||["APPROVE","REQUEST_CHANGES","COMMENT"].includes(String(a.verdict)))&&d.includes(String(a.relayState))&&(null===a.terminalState||d.includes(String(a.terminalState)))&&c&&"string"==typeof a.synchronizedAt&&t(a.sourceUpdatedAt)&&(null===a.lagMs||"number"==typeof a.lagMs&&Number.isFinite(a.lagMs)&&a.lagMs>=0)}(a.reviewFlowSync)&&t(a.startedAt)&&t(a.completedAt)&&(void 0===a.input||t(a.input))&&u(a.activatedBy)&&t(a.output)&&(null===(c=a.verdict)||null!==(0,o.eh)(c))&&t(a.error)&&(void 0===(d=a.verdictRecovery)||!(!d||"object"!=typeof d||Array.isArray(d))&&["pending","recovered","exhausted"].includes(String(d.state))&&Number.isInteger(d.checks)&&d.checks>=0&&Number.isInteger(d.maxChecks)&&d.maxChecks>=1&&d.checks<=d.maxChecks&&"string"==typeof d.startedAt&&"string"==typeof d.lastCheckedAt&&t(d.nextCheckAt)&&"string"==typeof d.reason&&d.reason.length>0&&d.reason.length<=1e3&&(null===d.messageTs||"number"==typeof d.messageTs&&Number.isFinite(d.messageTs)&&d.messageTs>=0))}function w(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Array.isArray(a.attempts)&&a.attempts.every(v)}function x(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.stageId&&Number.isInteger(a.attempt)&&t(a.conversationId)&&t(a.agentPath)&&(void 0===a.paneId||t(a.paneId))&&t(a.operationId)&&"string"==typeof a.detail&&"string"==typeof a.at}function y(a){var b;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.role;if(!("string"==typeof a.id&&("run"===a.kind||"review-loop"===a.kind)&&"string"==typeof a.prompt&&(null===a.next||"string"==typeof a.next)&&(null==(b=a.onFail)||!(!b||"object"!=typeof b||Array.isArray(b))&&"string"==typeof b.to&&Number.isInteger(b.maxRounds)&&b.maxRounds>=1&&b.maxRounds<=n.e7)&&(void 0===c||c&&"object"==typeof c&&!Array.isArray(c)&&q.includes(c.roleId))&&(void 0===a.engine||"claude"===a.engine||"codex"===a.engine)&&(void 0===a.model||null===a.model||"string"==typeof a.model)&&(void 0===a.effort||null===a.effort||"string"==typeof a.effort)&&(void 0===a.access||"read-only"===a.access||"read-write"===a.access)&&s(a.effectiveRole)))return!1;let d=a.effectiveRole,e=void 0===c?null:c.roleId;return d.roleId===e&&("review-loop"!==a.kind||"read-only"===d.access)&&(void 0===a.engine||a.engine===d.engine)&&(void 0===a.model||a.model===d.model)&&(void 0===a.effort||a.effort===d.effort)&&(void 0===a.access||a.access===d.access)&&(null!==e||null===d.promptScaffold)&&(null===e||!!d.promptScaffold?.trim())&&!0}function z(a){let b=new Set(a.map(a=>a.id)),c=new Map(a.map(a=>[a.id,a.next]));for(let c of a){if(null!==c.next&&!b.has(c.next))return`stage ${c.id} next must reference an existing stage`;if(c.next===c.id)return`stage ${c.id} pass edge may not target itself`;let a=c.onFail??null;if("review-loop"===c.kind&&a)return`review-loop stage ${c.id} does not support onFail`;if(a&&!b.has(a.to))return`stage ${c.id} onFail must reference an existing stage`;if(a&&(!Number.isInteger(a.maxRounds)||a.maxRounds<1||a.maxRounds>n.e7))return`stage ${c.id} onFail maxRounds must be an integer between 1 and ${n.e7}`}for(let b of a){let d=b.next;for(let e=0;null!==d;e+=1){if(d===b.id||e>a.length)return`pipeline pass edges form a cycle through stage ${b.id}`;d=c.get(d)??null}}for(let b of a)if("review-loop"===b.kind&&!a.some(d=>{if("run"!==d.kind)return!1;let e=d.next;for(let d=0;null!==e&&d<=a.length;d+=1){if(e===b.id)return!0;e=c.get(e)??null}return!1})){let c=a.filter(a=>"run"===a.kind);if(0===c.length)return`review-loop stage ${b.id} is unreachable: the pipeline has no run stage, and a review-loop reviews the session of a run stage that reaches it`;let d=c.findLast(a=>null===a.next)??c.at(-1);return`review-loop stage ${b.id} is unreachable: no run stage's next chain reaches it — set next: "${b.id}" on run stage ${d.id}`}return null}function A(a){var b,c;if(!a||"object"!=typeof a||Array.isArray(a)||!("string"==typeof a.id&&"string"==typeof a.task&&Array.isArray(a.taskIds)&&a.taskIds.every(a=>"string"==typeof a)&&new Set(a.taskIds).size===a.taskIds.length&&(void 0===a.creationIntent||!(!(b=a.creationIntent)||"object"!=typeof b||Array.isArray(b))&&"task-spawn"===b.kind&&"string"==typeof b.taskId&&b.taskId.trim()&&"string"==typeof b.launchId&&b.launchId.trim())&&(void 0===a.spec||"string"==typeof a.spec)&&"string"==typeof a.project&&"string"==typeof a.repoDir&&"string"==typeof a.worktreeDir&&"string"==typeof a.branch&&"string"==typeof a.baseBranch&&"string"==typeof a.baseRef&&"string"==typeof a.lastPassedCommit&&(void 0===a.publishedCommit||t(a.publishedCommit))&&Array.isArray(a.stages)&&a.stages.every(y)&&Array.isArray(a.runs)&&a.runs.every(w)&&["draft","provisioning","running","needs_decision","paused","completed","closed"].includes(String(a.state))&&(null===a.pausedState||["provisioning","running","needs_decision","completed","closed"].includes(String(a.pausedState)))&&(void 0===a.pausedAt||t(a.pausedAt))&&(void 0===a.resumedAt||t(a.resumedAt))&&t(a.stateDetail)&&t(a.srcPath)&&t(a.srcConversationId)&&"string"==typeof a.createdAt&&t(a.closedAt)&&(void 0===a.hiddenAt||t(a.hiddenAt))&&(void 0===a.unconfirmedHosts||Array.isArray(a.unconfirmedHosts)&&a.unconfirmedHosts.every(x))&&(void 0===a.terminalReap||!(!(c=a.terminalReap)||"object"!=typeof c||Array.isArray(c))&&Number.isInteger(c.rounds)&&c.rounds>=0&&Number.isInteger(c.stopped)&&c.stopped>=0&&"string"==typeof c.lastAt&&t(c.settledAt))&&(void 0===a.restored||"boolean"==typeof a.restored)&&(void 0===a.pos||"object"==typeof a.pos&&null!==a.pos&&Number.isFinite(a.pos.x)&&Number.isFinite(a.pos.y))))return!1;let d=a.stages,e=a.runs,f=+("draft"!==a.state);if(d.length<f||d.length>n.IO||e.length!==d.length)return!1;let h=d.map(a=>a.id);if(new Set(h).size!==h.length||null!==z(d)||e.some((a,b)=>a.stageId!==d[b].id))return!1;let i=g().join(g().dirname(a.repoDir),`${g().basename(a.repoDir)}-pipeline-${a.id}`);if(a.worktreeDir!==i||a.branch!==`pipeline/${Q(a.task)}-${a.id}`)return!1;let j=a.cursor;if(null!==j&&(!j||"object"!=typeof j||!h.includes(j.stageId)||!["pending","spawning","running","reviewing","committing"].includes(j.state)||!(void 0===j.input||t(j.input))||!u(j.activatedBy)||null!=j.activatedBy&&!h.includes(j.activatedBy.stageId))||("completed"===a.state||"closed"===a.state)&&null!==j)return!1;if("draft"===a.state){if(0===d.length){if(null!==j)return!1}else if(j?.stageId!==d[0].id||"pending"!==j.state)return!1;if(e.some(a=>a.attempts.length>0))return!1;let b=!a.baseBranch&&!a.baseRef&&!a.lastPassedCommit,c=!!(a.baseBranch&&/^[0-9a-f]{40}$/i.test(a.baseRef)&&a.lastPassedCommit===a.baseRef);if(!b&&!c||a.closedAt)return!1}return!0}function B(){return J().snapshot()}function C(a,b){let c=function(a){try{return JSON.parse(e().readFileSync(a,"utf8"))}catch(b){if("ENOENT"===b.code)return null;throw new r(`could not read pipeline registry: ${a}`,{cause:b})}}(a);if(null===c)return[];if(!c||"object"!=typeof c||Array.isArray(c)){if(b)return[];throw new r("pipeline registry must be an object")}if("number"!=typeof c.schemaVersion||!p.has(c.schemaVersion)){if(b)return[];throw new r(`unsupported pipeline registry schema: ${String(c.schemaVersion)}`)}if(!Array.isArray(c.pipelines)){if(b)return[];throw new r("pipeline registry contains malformed records")}let d=c.pipelines.map(a=>{var b,d,e;let f;return f=2===(b=c.schemaVersion)?function(a){if(!a||"object"!=typeof a||Array.isArray(a))return a;let b=Array.isArray(a.stages)?a.stages.map(a=>a&&"object"==typeof a?{onFail:null,...a}:a):a.stages,c=Array.isArray(a.runs)?a.runs.map(a=>a&&"object"==typeof a&&Array.isArray(a.attempts)?{...a,attempts:a.attempts.map(a=>a&&"object"==typeof a?{input:null,activatedBy:null,...a}:a)}:a):a.runs,d=a.cursor&&"object"==typeof a.cursor?{input:null,activatedBy:null,...a.cursor}:a.cursor,e={...a,stages:b,runs:c,cursor:d};if("draft"===e.state&&Array.isArray(e.stages)&&0===e.stages.length){let a={id:"implement",kind:"run",prompt:"{{task}}",next:null,onFail:null,effectiveRole:{roleId:null,engine:"claude",model:null,effort:null,access:"read-write",promptScaffold:null}};e.stages=[a],e.runs=[{stageId:a.id,attempts:[]}],e.cursor={stageId:a.id,state:"pending",input:null,activatedBy:null}}return e}(a):a,b<4&&(f=!(d=f)||"object"!=typeof d||Array.isArray(d)?d:{taskIds:[],...d}),b<5&&(f=!(e=f)||"object"!=typeof e||Array.isArray(e)?e:Array.isArray(e.stages)?{...e,stages:e.stages.map(a=>!a||"object"!=typeof a||Array.isArray(a)?a:"review-loop"===a.kind?{...a,onFail:null}:a)}:e),f});if(!b&&!d.every(A))throw new r("pipeline registry contains malformed records");let f=b?d.filter(A):d;return b&&f.length!==d.length&&console.error(`[pipelines] skipped ${d.length-f.length} malformed archived pipeline record(s)`),f.map(D)}function D(a){return{...a,project:(0,i.G$)(a.project),taskIds:[...a.taskIds],creationIntent:a.creationIntent?{...a.creationIntent}:void 0,spec:"string"==typeof a.spec?a.spec:void 0,baseBranch:a.baseBranch??"",baseRef:a.baseRef??"",lastPassedCommit:a.lastPassedCommit??"",publishedCommit:a.publishedCommit??null,pausedState:a.pausedState??null,stateDetail:a.stateDetail??null,srcPath:a.srcPath??null,srcConversationId:a.srcConversationId??null,closedAt:a.closedAt??null,hiddenAt:a.hiddenAt??null,unconfirmedHosts:a.unconfirmedHosts?.length?a.unconfirmedHosts.map(a=>({...a})):void 0,terminalReap:a.terminalReap?{...a.terminalReap}:void 0,restored:void 0,stages:a.stages.map(a=>({...a,onFail:a.onFail??null})),cursor:a.cursor?{...a.cursor,input:a.cursor.input??null,activatedBy:a.cursor.activatedBy??null}:null,runs:a.runs.map(a=>({...a,attempts:Array.isArray(a.attempts)?a.attempts.map(a=>({...a,launchId:a.launchId??null,conversationId:a.conversationId??null,sessionId:a.sessionId??null,agentPath:a.agentPath??null,paneId:a.paneId??null,flowId:a.flowId??null,expectedReviewHeadSha:a.expectedReviewHeadSha??null,reviewHeadSha:a.reviewHeadSha??null,reviewFlowSync:a.reviewFlowSync?{...a.reviewFlowSync}:void 0,startedAt:a.startedAt??null,completedAt:a.completedAt??null,input:a.input??null,activatedBy:a.activatedBy??null,output:a.output??null,verdict:a.verdict??null,error:a.error??null,verdictRecovery:a.verdictRecovery?{...a.verdictRecovery}:void 0})):[]}))}}let E=null,F=new Map;function G(a){if(!A(a))throw new r("pipeline registry contains malformed records");return D(a)}function H(a){return"closed"===a.state?!!a.unconfirmedHosts?.length:"completed"!==a.state||!!a.unconfirmedHosts?.length||!a.terminalReap?.settledAt}function I(){let a=(0,h.BQ)("state.sqlite"),b=F.get(a);if(b)return b;(0,m.t0)(a,[{collection:"pipelines",schemaVersion:5,migrationId:"pipelines-json-v1",loadRecords:()=>C((0,h.BQ)("pipelines.json"),!1),key:a=>a.id,controllerActive:H},{collection:"pipelines_archive",schemaVersion:5,migrationId:"pipelines-archive-json-v1",loadRecords:()=>C((0,h.BQ)("pipelines-archive.json"),!0),key:a=>a.id,controllerActive:()=>!1}]);let c={schemaVersion:5,busyMessage:"pipeline state is busy",key:a=>a.id,decode:G,clone:D,decodeError:a=>a instanceof r?a:new r("pipeline registry contains malformed records",{cause:a}),validate:a=>{if(!A(a))throw new r("refusing to persist a malformed pipeline record")}},d={active:new m.UY(a,{...c,collection:"pipelines",controllerActive:H,strictDecode:!0}),archive:new m.UY(a,{...c,collection:"pipelines_archive",onDecodeError:a=>console.error("[pipelines] skipped malformed archived SQLite row",a)})};return F.set(a,d),d}function J(){return I().active}function K(){return J().signature()}function L(){return(function(){let a=K();if(E?.signature===a)return E.pipelines;let b=[...J().loadReadonly()],c=K();return a===c&&(E={signature:c,pipelines:b}),b})().map(D)}async function M(a){return J().mutate(a)}async function N(a){return J().mutate(a,void 0,!0)}async function O(a=Date.now(),b={}){return J().moveMatchingTo(I().archive,b=>(function(a,b){let c=a.closedAt??("draft"===a.state?a.hiddenAt:null);if(!c)return!1;let d=Date.parse(c);return Number.isFinite(d)&&b-d>2592e5})(b,a),b)}function P(a,b,c,d={}){let e=new Map(c.map(a=>[a.id,a]));for(let c of b){let b=e.get(c);if(!b){if(d.allowMissing)continue;return`task not found: ${c}`}if(b.project!==a.project)return`task project does not match pipeline project: ${c}`}return null}function Q(a){return a.toLowerCase().replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,40).replace(/-+$/,"")||"task"}function R(a,b,c){let d=g().basename(c);return{worktreeDir:g().join(g().dirname(c),`${d}-pipeline-${a}`),branch:`pipeline/${Q(b)}-${a}`}}function S(a){let b=R(a.id,a.task,a.repoDir);return{id:a.id,task:a.task,taskIds:[...new Set(a.taskIds??[])],...a.creationIntent?{creationIntent:{...a.creationIntent}}:{},...a.spec?{spec:a.spec}:{},project:a.project,repoDir:a.repoDir,...b,baseBranch:"",baseRef:"",lastPassedCommit:"",publishedCommit:null,stages:JSON.parse(JSON.stringify(a.stages)).map(a=>({...a,onFail:a.onFail??null})),runs:a.stages.map(a=>({stageId:a.id,attempts:[]})),cursor:a.stages.length?{stageId:a.stages[0].id,state:"pending",input:null,activatedBy:null}:null,state:a.state??"provisioning",pausedState:null,stateDetail:null,srcPath:a.srcPath,srcConversationId:a.srcConversationId,createdAt:a.now,closedAt:null,hiddenAt:null}}},19849:(a,b,c)=>{c.d(b,{IO:()=>g,Ty:()=>j,WD:()=>h,Y3:()=>f,e7:()=>i,g9:()=>d,qf:()=>e});let d=4e3,e=16e3,f=8e3,g=8,h=1,i=9,j=5},34471:(a,b,c)=>{c.d(b,{L1:()=>h,Rz:()=>f,xQ:()=>g});var d=c(60641),e=c(19849);function f(a){return"string"==typeof a.launchId&&"string"==typeof a.conversationId}function g(a,b){return a.map(a=>({...a,pipelineIds:b.filter(b=>b.taskIds.includes(a.id)).map(a=>a.id)}))}function h(a,b,c){return b.some(b=>b.taskIds.includes(a.id)&&"closed"!==b.state&&!b.hiddenAt)?null:{task:(0,d.bO)(a.text).slice(0,e.g9),spec:a.text,taskIds:[a.id],repoDir:c.repoDir,...c.srcPath?{src:c.srcPath}:{},autoStart:!1,stages:[{id:"run",kind:"run",role:{roleId:"builder"},engine:c.engine,model:c.model,effort:c.effort,access:"read-write",prompt:"{{task}}",next:null}]}}},63376:(a,b,c)=>{c.d(b,{DL:()=>j,eh:()=>h,fM:()=>k});let d=new Set(["status","findings","confidence"]),e={APPROVE:"pass",REQUEST_CHANGES:"fail",COMMENT:"needs_decision","NO FINDINGS":"pass"},f=/^\s*(?:VERDICT:\s*(APPROVE|REQUEST_CHANGES|COMMENT)|(NO FINDINGS))\s*$/i,g=/^REVIEW_READY(?::[^\r\n]*)?$/;function h(a){if(!a||"object"!=typeof a||Array.isArray(a)||Object.keys(a).some(a=>!d.has(a))||"pass"!==a.status&&"fail"!==a.status&&"needs_decision"!==a.status)return null;let b={status:a.status};if(void 0!==a.findings){if(!Array.isArray(a.findings)||a.findings.length>50)return null;let c=[];for(let b of a.findings){if("string"!=typeof b)return null;let a=b.trim();if(!a||a.length>2e3)return null;c.push(a)}b.findings=c}if(void 0!==a.confidence){if("number"!=typeof a.confidence||!Number.isFinite(a.confidence)||a.confidence<0||a.confidence>1)return null;b.confidence=a.confidence}return b}function i(a){var b;let c,d=[...a.matchAll(/```(?:json)?\s*([\s\S]*?)```/gi)].at(-1);if(!d||void 0===d.index)return{failureReason:"canonical completed assistant turn is missing a fenced JSON verdict"};let e=a.slice(d.index+d[0].length).trim();if(e&&!g.test(e))return{failureReason:"canonical completed assistant turn has unsupported text after the final fenced JSON verdict"};try{c=JSON.parse(d[1]??"")}catch{return{failureReason:"canonical completed assistant turn has malformed JSON in the final fenced verdict"}}let f=!(b=c)||"object"!=typeof b||Array.isArray(b)?null:h({status:b.status,...Object.hasOwn(b,"findings")?{findings:b.findings}:{},...Object.hasOwn(b,"confidence")?{confidence:b.confidence}:{}});return f?{index:d.index,verdict:f}:{failureReason:"canonical completed assistant turn is missing a valid status, findings, or confidence field"}}function j(a){let b=i(a);if("failureReason"in b)return b.failureReason;let c=k(a);return c&&"failureReason"in c?c.failureReason:"canonical completed assistant turn did not yield a valid final JSON verdict"}function k(a){let b=i(a);if("failureReason"in b)return null;let c=b.verdict,d=a.slice(0,b.index).trim(),g=d.slice(0,32e3);if("pass"===c.status&&c.findings?.length)return{failureReason:'contradictory stage verdict: status "pass" cannot include findings',output:g};for(let a of function(a){let b=[],c=null;for(let d of a.split(/\r?\n/)){let a=/^\s*(`{3,}|~{3,})(.*)$/.exec(d);if(a){let b=a[1],d=b[0];c?c.marker===d&&b.length>=c.length&&!a[2].trim()&&(c=null):c={marker:d,length:b.length};continue}if(c||/^\s*>/.test(d))continue;let e=f.exec(d);e&&b.push((e[1]??e[2]).toUpperCase())}return b}(d))if(e[a]!==c.status)return{failureReason:`contradictory stage verdict: prose marker "${a}" disagrees with JSON status "${c.status}"`,output:g};return{verdict:c,output:g}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=230,exports.ids=[230],exports.modules={10230:(a,b,c)=>{c.d(b,{$q:()=>B,FE:()=>q,Mt:()=>p,VW:()=>s,Vv:()=>j,c1:()=>t,g8:()=>A,k8:()=>C,oN:()=>v,t3:()=>o});var d=c(61971),e=c(48892);let f=Object.freeze(["viewer"]),g=Object.freeze(["viewer","telegram"]),h=Object.freeze([...g]),i=Object.freeze([...f]),j="operator-scheduled-report",k=Object.freeze(["viewer","telegram"]),l=Object.freeze({grantable:g,operatorRoot:h,delegated:i}),m=/^[^\s\p{Cc}]{1,128}$/u;function n(a){return["viewer",...new Set(a.filter(a=>"viewer"!==a))]}function o(a,b=l){if(void 0===a)return{ok:!0,value:[...f]};if(!Array.isArray(a)||!a.every(a=>"string"==typeof a&&m.test(a)))return{ok:!1,error:"mcpServers must be an array of non-empty server names"};let c=a.filter(a=>!b.grantable.includes(a));return c.length>0?{ok:!1,error:`mcpServers may only contain ${b.grantable.join(", ")}; rejected: ${[...new Set(c)].join(", ")}`}:{ok:!0,value:n(a)}}function p(a,b=l){let c=function(a,b=l){return"operator-root"===a?b.operatorRoot:b.delegated}(a.origin,b);return n((null==a.requested?c:c.filter(b=>a.requested.includes(b))).filter(a=>b.grantable.includes(a)))}function q(a,b=l){return a.grantActive?n(k.filter(a=>b.grantable.includes(a))):[...f]}function r(a){return"delegated"===(0,d.GU)(a)?"delegated":a.origin?.kind==="operator"||0===a.delegationDepth?"operator-root":"delegated"}function s(a,b=l){return p({origin:r(a),requested:a.requested},b)}function t(a,b=l){return Array.isArray(a)?n(a.filter(a=>"string"==typeof a&&b.grantable.includes(a))):[...f]}function u(a){return 1===a.length&&"viewer"===a[0]}function v(a){let b=a=>Array.isArray(a)&&!u(a);return!!a&&"object"==typeof a&&(!!b(a.launchProfile?.mcpServers)||!!Array.isArray(a.generations)&&a.generations.some(a=>{let c=a?.launchProfile;return b(c?.mcpServers)}))}function w(a,b){return a.length===b.length&&a.every((a,c)=>a===b[c])}function x(a,b,c){let d=new Map,g=new Map,h=new Map,i=new Map;for(let[k,l]of Object.entries(a.conversations)){let m=a.lineageEdges?.[k],n=!!(m?.parentConversationId&&m.parentConversationId!==k);for(let a of(i.set(k,r({parentConversationId:l.generations.at(-1)?.launchProfile.parentConversationId??null,agentRole:l.agentRole,delegationDepth:l.delegationDepth})),l.generations)){var j;let i=(j=l.engine,(0,e.pp)({engine:j,sessionId:a.id})),k=function(a,b,c,d){let e=b.launchProfile.mcpServers;if(u(e))return e;let g=r({parentConversationId:b.launchProfile.parentConversationId,agentRole:a.agentRole,delegationDepth:a.delegationDepth});return d&&"delegated"!==g?[...f]:p({origin:g,requested:e},c)}(l,a,b,n);c&&!w(a.launchProfile.mcpServers,k)&&(a.launchProfile.mcpServers=k);let m=n?"delegated":r({parentConversationId:a.launchProfile.parentConversationId,agentRole:l.agentRole,delegationDepth:l.delegationDepth});if(h.has(i)?h.get(i)!==m&&h.set(i,null):h.set(i,m),d.has(i)){let a=d.get(i);null!==a&&w(a,k)||d.set(i,null)}else d.set(i,k);let o=a.path;o&&(g.has(o)?g.get(o)!==i&&g.set(o,null):g.set(o,i))}}return{grants:d,pathOwner:g,origins:h,conversationOrigins:i}}function y(a,b,c){if(b.key&&(0,e.pp)({engine:b.key.engine,sessionId:b.key.sessionId})!==a)return null;if(b.artifactPath){let d=c.pathOwner.get(b.artifactPath);if(void 0!==d&&d!==a)return null}if(c.grants.has(a))return c.grants.get(a)}function z(a,b,c){let d=x(a,b,!0);for(let[b,e]of Object.entries(a.entries)){let a=e.launchProfile?.mcpServers;if(!a||u(a))continue;let g=y(b,e,d);if(void 0===g&&!c)continue;let h=g??f;w(a,h)||(e.launchProfile.mcpServers=[...h])}let g=function(a,b){let c=new Map,d=(a,b)=>{let d=c.get(a)??new Set;d.add(b),c.set(a,d)};for(let[b,c]of Object.entries(a.lineageEdges??{})){if(!c.parentConversationId||c.parentConversationId===b)continue;let a=c.evidence?.launchId;"string"==typeof a&&a&&d(a,"delegated")}for(let[c,f]of Object.entries(a.receipts??{})){let g=f.conversationId;if(g){let e=a.lineageEdges?.[g];e?.parentConversationId&&e.parentConversationId!==g&&d(c,"delegated");let f=b.conversationOrigins.get(g);f&&d(c,f)}if(!f.key)continue;let h=(0,e.pp)({engine:f.key.engine,sessionId:f.key.sessionId});if(!b.origins.has(h))continue;let i=b.origins.get(h);if(i)d(c,i);else for(let a of["operator-root","delegated"])d(c,a)}return c}(a,d);for(let[c,d]of Object.entries(a.receipts??{})){let a=d.launchProfile?.mcpServers;if(!a||u(a))continue;let e=function(a,b,c,d){let e=r({agentRole:c.agentRole,delegationDepth:c.delegationDepth,parentConversationId:c.parentConversationId}),f=a.get(b);return f&&(f.size>1||!f.has(e))?null:p({origin:e,requested:c.launchProfile.mcpServers},d)}(g,c,d,b)??f;w(a,e)||(d.launchProfile.mcpServers=[...e])}return a}function A(a,b=l){return z(a,b,!1)}function B(a,b=l){return z(a,b,!0)}function C(a,b,c=l){let d=(0,e.pp)({engine:b.engine,sessionId:b.sessionId}),g=a.entries[d],h=g?.launchProfile?.mcpServers;if(!g||!h||u(h))return;let i=y(d,g,x(a,c,!1))??f;w(h,i)||(g.launchProfile.mcpServers=[...i])}},48892:(a,b,c)=>{c.d(b,{ce:()=>g,pp:()=>h,sz:()=>i});var d=c(76760),e=c.n(d);let f=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;function g(a,b){let c,d=(c=b.match(f)?.[0])&&c.length===b.length?c.toLowerCase():null;return d?{engine:a,sessionId:d}:null}function h(a){return`${a.engine}:${a.sessionId}`}function i(a,b){let c=e().basename(b).match(f);return c?g(a,c[0]):null}},61971:(a,b,c)=>{c.d(b,{GU:()=>i,QN:()=>m,jh:()=>j,sJ:()=>l,sN:()=>g,wE:()=>k});let d=Object.freeze(["computer-use"]),e=Object.freeze(["computer-use"]),f=Object.freeze([]),g=Object.freeze([]),h=Object.freeze({"computer-use":Object.freeze(["computer-use"])});function i(a){let b=a.origin?.kind;if(void 0!==b&&"operator"!==b||a.parentConversationId||a.agentRole)return"delegated";let c=a.delegationDepth;return"number"==typeof c&&0!==c?"delegated":"operator-root"}function j(a){if(null==a)return{ok:!0,value:null};if(!Array.isArray(a)||a.some(a=>"string"!=typeof a))return{ok:!1,error:"plugins must be an array of plugin names"};let b=a.filter(a=>!d.includes(a));return b.length>0?{ok:!1,error:`plugins may only contain ${d.join(", ")}; rejected: ${[...new Set(b)].join(", ")}`}:{ok:!0,value:[...new Set(a)]}}function k(a){if(void 0!==a.engine&&"codex"!==a.engine)return[];let b="operator-root"===a.origin?e:f;return(null==a.requested?b:b.filter(b=>a.requested.includes(b))).filter(a=>d.includes(a))}function l(a){return Array.isArray(a)?[...new Set(a.filter(a=>d.includes(a)))]:[]}function m(a){return[...new Set(a.flatMap(a=>h[a]??[]))]}}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=2318,exports.ids=[2318,9937],exports.modules={89937:(a,b,c)=>{c.r(b),c.d(b,{OperatorSpawnCapabilityError:()=>l,ensureOperatorSpawnCapability:()=>p,matchesOperatorSpawnCapability:()=>q,operatorSpawnCapabilityPath:()=>m,rotateOperatorSpawnCapability:()=>o});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724);let k=/^[A-Za-z0-9_-]{43}$/;class l extends Error{constructor(a,b,c){const d="object"==typeof c&&null!==c&&"code"in c&&"string"==typeof c.code?` (${c.code})`:"";super(`Viewer operator spawn capability ${a} failed at ${b}${d}`),this.name="OperatorSpawnCapabilityError"}}function m(){return(0,j.BQ)("operator-spawn-capability")}function n(){let a=m();try{let b=g().lstatSync(a);if(!b.isFile()||b.isSymbolicLink())return null;let c=g().readFileSync(a,"utf8").trim();if(!k.test(c))return null;return(511&b.mode)!=384&&g().chmodSync(a,384),c}catch(b){if("object"==typeof b&&null!==b&&"code"in b&&"ENOENT"===b.code)return null;throw new l("read",a,b)}}function o(){let a=e().randomBytes(32).toString("base64url"),b=m(),c=i().dirname(b),d=null;try{g().mkdirSync(c,{recursive:!0,mode:448}),d=i().join(c,`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(d,`${a}
2
+ `,{encoding:"utf8",flag:"wx",mode:384}),g().chmodSync(d,384),g().renameSync(d,b)}catch(a){throw new l("write",b,a)}finally{if(d)try{g().rmSync(d,{force:!0})}catch(a){throw new l("write",b,a)}}return a}function p(){return n()??o()}function q(a){if(!k.test(a))return!1;let b=n();return!!b&&e().timingSafeEqual(Buffer.from(a),Buffer.from(b))}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2324,exports.ids=[2324,2962],exports.modules={2033:(a,b,c)=>{c.d(b,{Ol:()=>r,Qm:()=>l,pM:()=>s});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(59683);let k=new Int32Array(new SharedArrayBuffer(4));class l extends Error{constructor(a){super(a),this.name="FileTransactionBusyError"}}function m(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let a="string"==typeof b.startIdentity?b.startIdentity:null;if(!j.B.pidAlive(b.pid))return!0;if(null!==a){let c=j.B.processIdentity(b.pid);return null!==c&&c!==a}return!1}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function n(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function o(a){let b=`${a}.write-lock`,c=`${a}.write-locks`;g().mkdirSync(c,{recursive:!0,mode:448});let d={pid:process.pid,startIdentity:j.B.processIdentity(process.pid),token:e().randomUUID()},f=i().join(c,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);return g().writeFileSync(f,JSON.stringify(d),{encoding:"utf8",flag:"wx",mode:384}),{lockPath:b,queuePath:c,owner:d,ticketPath:f}}function p(a){let b;if(function(a){let b=[];for(let c of g().readdirSync(a.queuePath).filter(a=>a.endsWith(".json")).sort()){let d=i().join(a.queuePath,c);if(m(d)){g().rmSync(d,{force:!0});continue}g().existsSync(d)&&b.push(d)}return b[0]??null}(a)!==a.ticketPath)return null;try{b=g().openSync(a.lockPath,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return m(a.lockPath)&&g().rmSync(a.lockPath,{force:!0}),null}try{return g().writeFileSync(b,JSON.stringify(a.owner),"utf8"),g().fsyncSync(b),b}catch(c){throw g().closeSync(b),g().rmSync(a.lockPath,{force:!0}),c}}function q(a,b){g().closeSync(b),n(a.lockPath,a.owner.token)}function r(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){Atomics.wait(k,0,0,5);continue}try{return c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}async function s(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){await new Promise(a=>setTimeout(a,5));continue}try{return await c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}},17918:(a,b,c)=>{c.d(b,{$D:()=>j,Fl:()=>f,Ow:()=>q,RM:()=>d,SY:()=>k,TY:()=>e,WX:()=>n,We:()=>g,YA:()=>s,ZJ:()=>m,bz:()=>h,c7:()=>l,j7:()=>t,lx:()=>p,nB:()=>i,nQ:()=>u,up:()=>o,ym:()=>r});let d=1,e=32768,f=128,g=64,h=16,i=98304,j=32768,k=["schemaVersion","view","scope","text","caller"],l=["id","deviceId","resolution"],m=["kind","paths"],n=["include","lastMessages","maxCharsPerConversation"],o=["pid","transcriptPath"],p=["focused","selected","visible","focused-selected","paths"],q=["latest-interaction","require-explicit"],r=20,s=4e3,t=1,u=4096},22962:(a,b,c)=>{c.d(b,{Cu:()=>E,gB:()=>p,oV:()=>D});var d=c(16698),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(91724),l=c(59683);let m=globalThis.__llvAccountMutationRuntime??={transactionContext:new d.AsyncLocalStorage,localWaiters:[],localHeld:!1},n=m.transactionContext,o=m.localWaiters;class p extends Error{constructor(a="account mutation is busy; retry shortly"){super(a),this.name="AccountMutationBusyError"}}function q(){let a=o.shift();a?a():m.localHeld=!1}async function r(){return m.localHeld?await new Promise(a=>o.push(a)):m.localHeld=!0,q}let s=function(){try{return h().readlinkSync("/proc/self/ns/pid")}catch{return null}}();function t(a,b){try{return Date.now()-h().statSync(a).mtimeMs>b}catch{return!1}}function u(a,b=null){if(null!==b&&t(a,b))return!0;try{let b=JSON.parse(h().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){if(("string"==typeof b.ns?b.ns:null)!==s)return t(a,3e4);if(!l.B.pidAlive(b.pid))return!0;if("string"!=typeof b.startIdentity)return!1;let c=l.B.processIdentity(b.pid);return null!==c&&c!==b.startIdentity}return t(a,3e4)}catch{return t(a,3e4)}}function v(a,b){try{JSON.parse(h().readFileSync(a,"utf8")).token===b&&h().rmSync(a,{force:!0})}catch{}}function w(){try{let a=JSON.parse(h().readFileSync((0,k.BQ)("account-mutation-revision.json"),"utf8"));return 1===a.version&&Number.isSafeInteger(a.revision)&&a.revision>=0?a.revision:0}catch{return 0}}function x(){let a=(0,k.BQ)("account-selection.lock"),b=`${a}.queue`;h().mkdirSync(b,{recursive:!0,mode:448});let c={pid:process.pid,startIdentity:l.B.processIdentity(process.pid),ns:s,token:f().randomUUID()},d=j().join(b,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${f().randomUUID()}.json`);return h().writeFileSync(d,JSON.stringify(c),{encoding:"utf8",flag:"wx",mode:384}),{lock:a,queue:b,owner:c,ticket:d}}function y(a){let b=new Date;try{return h().utimesSync(a,b,b),!0}catch{return!1}}function z(a){let b,c=[];for(let b of h().readdirSync(a.queue).filter(a=>a.endsWith(".json")).sort()){let d=j().join(a.queue,b);if(d!==a.ticket&&u(d,6e5)){h().rmSync(d,{force:!0});continue}h().existsSync(d)&&c.push(d)}if(c[0]!==a.ticket)return null;try{b=h().openSync(a.lock,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return u(a.lock)&&h().rmSync(a.lock,{force:!0}),null}try{h().writeFileSync(b,JSON.stringify(a.owner),"utf8"),h().fsyncSync(b)}catch(c){throw h().closeSync(b),h().rmSync(a.lock,{force:!0}),c}let d={active:!0,revision:w()},e=setInterval(()=>y(a.lock),1e4);return e.unref?.(),{context:d,release(){clearInterval(e),d.active=!1,h().closeSync(b),v(a.lock,a.owner.token),v(a.ticket,a.owner.token)}}}function A(a,b){return{context:a.context,release(){try{a.release()}finally{b()}}}}async function B(){let a=await r(),b=null;try{b=x();let d=Date.now();for(let e=0;e<2e3;e+=1){let e=z(b);if(e)return A(e,a);if(Date.now()-d>=1e4){d=Date.now();var c=b;if(!y(c.ticket))try{h().writeFileSync(c.ticket,JSON.stringify(c.owner),{encoding:"utf8",mode:384})}catch{}}await new Promise(a=>setTimeout(a,5))}throw Error("account mutation is busy; retry shortly")}catch(c){throw b&&v(b.ticket,b.owner.token),a(),c}}function C(a){!function(a){let b=(0,k.BQ)("account-mutation-revision.json");if(w()!==a)throw Error("account mutation revision fence changed while locked");let c=`${b}.${process.pid}.${f().randomUUID()}.tmp`;h().mkdirSync(j().dirname(b),{recursive:!0,mode:448});try{h().writeFileSync(c,JSON.stringify({version:1,revision:a+1})+"\n",{mode:384});let d=h().openSync(c,"r");try{h().fsyncSync(d)}finally{h().closeSync(d)}h().renameSync(c,b)}finally{h().rmSync(c,{force:!0})}}(a.revision),a.revision+=1}function D(a){let b=n.getStore();if(b?.active)return a();let c=function(){let a=function(){if(m.localHeld)throw new p("account mutation is busy in this process; retry shortly");return m.localHeld=!0,q}(),b=null;try{b=x();for(let c=0;c<2;c+=1){let c=z(b);if(c)return A(c,a)}throw new p}catch(c){throw b&&v(b.ticket,b.owner.token),a(),c}}();try{return C(c.context),n.run(c.context,a)}finally{c.release()}}async function E(a){let b=n.getStore();if(b?.active)return a();let c=await B();try{return C(c.context),await n.run(c.context,a)}finally{c.release()}}},29621:(a,b,c)=>{c.d(b,{L4:()=>l,P1:()=>m,g5:()=>g,yi:()=>f});var d=c(40370),e=c(37073);class f extends Error{constructor(a,b,c=400){super(b),this.code=a,this.status=c,this.name="AttentionRequestError"}}async function g(a){let b=await a.text();if(b.length>16384)throw new f("PAYLOAD_TOO_LARGE","request body is too large",413);try{return JSON.parse(b)}catch{throw new f("INVALID_REQUEST","request body is not JSON")}}function h(a,b){if(!a||"object"!=typeof a||Array.isArray(a))throw new f("INVALID_REQUEST",`invalid ${b}`);return a}function i(a,b,c=4096){if("string"!=typeof a||0===a.length||a.length>c)throw new f("INVALID_REQUEST",`invalid ${b}`);return a}function j(a,b){if("number"!=typeof a||!Number.isFinite(a))throw new f("INVALID_REQUEST",`invalid ${b}`);return a}let k=["overview","scheme","list","mobile-focus","mobile-map"];function l(a){let b,c,g=h(a,"request"),k=g.origin;if("root-agent"!==k&&"operator"!==k)throw new f("INVALID_REQUEST","invalid origin");let l=g.intent;if("show"!==l&&"open"!==l)throw new f("INVALID_REQUEST","invalid intent");if(!(0,d.Cj)(g.target))throw new f("INVALID_TARGET","invalid focus target");if(void 0!==g.zoom&&"inspect"!==g.zoom&&"situate"!==g.zoom)throw new f("INVALID_REQUEST","invalid zoom");let m=void 0===g.candidates?void 0:(()=>{if(!Array.isArray(g.candidates)||g.candidates.length>e.oT)throw new f("INVALID_REQUEST","invalid candidates");return g.candidates.map(a=>{let b=h(a,"candidate");return{eventId:i(b.eventId,"candidate.eventId",256),...void 0===b.kind?{}:{kind:i(b.kind,"candidate.kind",64)}}})})();return{origin:k,intent:l,target:g.target,frameAtCreation:(b=h(g.frameAtCreation,"frameAtCreation"),c=h(b.rect,"frameAtCreation.rect"),{project:i(b.project,"frameAtCreation.project",256),rect:{x:j(c.x,"frameAtCreation.rect.x"),y:j(c.y,"frameAtCreation.rect.y"),w:j(c.w,"frameAtCreation.rect.w"),h:j(c.h,"frameAtCreation.rect.h")},boardRevision:null===b.boardRevision||void 0===b.boardRevision?null:j(b.boardRevision,"frameAtCreation.boardRevision")}),reason:i(g.reason,"reason",4096),...void 0===g.zoom?{}:{zoom:g.zoom},...void 0===g.contextLabel?{}:{contextLabel:i(g.contextLabel,"contextLabel",512)},...void 0===m?{}:{candidates:m},...void 0===g.offeredTo?{}:{offeredTo:(Array.isArray(g.offeredTo)?g.offeredTo:[]).map(a=>i(a,"offeredTo",256))}}}function m(a){let b=h(a,"event");switch(b.kind){case"offer":case"preview":case"decline":case"dismiss":case"abandon":return{kind:b.kind,deviceId:i(b.deviceId,"deviceId",256)};case"accept":{let a=b.via;if(void 0!==a&&"operator"!==a&&"auto-follow"!==a)throw new f("INVALID_REQUEST","invalid via");return{kind:"accept",deviceId:i(b.deviceId,"deviceId",256),...void 0===a?{}:{via:a}}}case"arrive":{let a=b.resolution;if("exact"!==a&&"approximate"!==a&&"lost"!==a)throw new f("INVALID_REQUEST","invalid resolution");return{kind:"arrive",deviceId:i(b.deviceId,"deviceId",256),returnPoint:function(a){let b=h(a,"returnPoint"),c=b.mode;if("string"!=typeof c||!k.includes(c))throw new f("INVALID_REQUEST","invalid returnPoint.mode");let d=null===b.camera||void 0===b.camera?null:h(b.camera,"returnPoint.camera");return{deviceId:i(b.deviceId,"returnPoint.deviceId",256),mode:c,camera:null===d?null:{x:j(d.x,"returnPoint.camera.x"),y:j(d.y,"returnPoint.camera.y"),zoom:j(d.zoom,"returnPoint.camera.zoom")},focusedPath:null===b.focusedPath||void 0===b.focusedPath?null:i(b.focusedPath,"returnPoint.focusedPath"),capturedAt:i(b.capturedAt,"returnPoint.capturedAt",64)}}(b.returnPoint),resolution:a}}case"return":{let a=b.via;if("control"!==a&&"manual-move"!==a)throw new f("INVALID_REQUEST","invalid via");return{kind:"return",deviceId:i(b.deviceId,"deviceId",256),via:a}}default:throw new f("INVALID_REQUEST","unsupported event")}}},33017:(a,b,c)=>{c.d(b,{ng:()=>p});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(2033);function l(){return(0,j.BQ)("root-lineage.json")}class m extends Error{constructor(a,b){super(a,b),this.name="RootLineageStoreError"}}function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.conversationId&&a.conversationId.length>0&&(null===a.path||"string"==typeof a.path)&&"string"==typeof a.startedAt&&(void 0===a.endedAt||"string"==typeof a.endedAt)&&(void 0===a.seededFrom||"string"==typeof a.seededFrom)&&(void 0===a.reason||"crash"===(b=a.reason)||"reboot"===b||"rollover"===b||"fresh"===b)}function o(a=l()){var b;let c,d;try{c=g().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new m("could not read the root lineage",{cause:a})}try{d=JSON.parse(c)}catch(a){throw new m("root lineage contains malformed JSON",{cause:a})}if(!(!(!(b=d)||"object"!=typeof b||Array.isArray(b))&&1===b.schemaVersion&&"string"==typeof b.rootId&&b.rootId.length>0&&Number.isInteger(b.revision)&&b.revision>=0&&"string"==typeof b.updatedAt&&Array.isArray(b.sessions)&&b.sessions.every(n)))throw new m("root lineage is not a valid record");return d}function p(a=l()){let b=o(a);return b?b.rootId:(0,k.Ol)(a,"root lineage is busy",()=>{let b=o(a);if(b)return b.rootId;let c={schemaVersion:1,rootId:`root_${crypto.randomUUID()}`,revision:0,updatedAt:new Date().toISOString(),sessions:[]};g().mkdirSync(i().dirname(a),{recursive:!0});let d=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`),f=null;try{f=g().openSync(d,"wx",384),g().writeFileSync(f,JSON.stringify(c,null,2)+"\n","utf8"),g().fsyncSync(f),g().closeSync(f),f=null,g().renameSync(d,a)}finally{null!==f&&g().closeSync(f),g().rmSync(d,{force:!0})}return c.rootId})}},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"forbidden: cross-origin request"},{status:403})}},37073:(a,b,c)=>{c.d(b,{M1:()=>g,Nh:()=>e,PB:()=>h,Q0:()=>n,RY:()=>f,Vw:()=>k,hl:()=>j,jC:()=>i,oT:()=>l,yH:()=>d});let d=1,e=6e5,f=6e4,g=6e4,h=6e5,i=3,j=240,k=120,l=8,m=["returned","declined","expired","superseded"];function n(a){return m.includes(a)}},40370:(a,b,c)=>{function d(a,b){return"open"===b?"inspect":"situate"}function e(a){return"number"==typeof a&&Number.isFinite(a)}function f(a){return"string"==typeof a&&a.length>0&&a.length<=4096}function g(a){if(!a||"object"!=typeof a||Array.isArray(a))return!1;switch(a.kind){case"conversation":return f(a.path);case"pipeline":return f(a.pipelineId);case"stage":return f(a.pipelineId)&&f(a.stageId);case"flowRound":return f(a.flowId)&&Number.isInteger(a.round)&&a.round>=0;case"task":return f(a.taskId);case"draft":return f(a.draftId);case"region":var b;return f(a.project)&&!(!(b=a.rect)||"object"!=typeof b||Array.isArray(b))&&e(b.x)&&e(b.y)&&e(b.w)&&e(b.h)&&b.w>=0&&b.h>=0;case"point":return f(a.project)&&e(a.x)&&e(a.y)&&(void 0===a.zoom||e(a.zoom)&&a.zoom>0);default:return!1}}function h(a,b){return"show"===b||"region"!==a.kind&&"point"!==a.kind}c.d(b,{Cj:()=>g,Rh:()=>h,xt:()=>d}),[{kind:"conversation",fields:'conversationId (the durable "conversation_…" id, resolved to its current transcript) or path (that transcript\'s .jsonl path) — at least one',example:'{"kind":"conversation","conversationId":"conversation_9f2c"}'},{kind:"pipeline",fields:"pipelineId (non-empty string)",example:'{"kind":"pipeline","pipelineId":"pipeline_9f2c"}'},{kind:"stage",fields:"pipelineId and stageId (non-empty strings)",example:'{"kind":"stage","pipelineId":"pipeline_9f2c","stageId":"review"}'},{kind:"flowRound",fields:"flowId (non-empty string) and round (integer, 0 or more)",example:'{"kind":"flowRound","flowId":"flow_9f2c","round":2}'},{kind:"task",fields:"taskId (non-empty string)",example:'{"kind":"task","taskId":"task_9f2c"}'},{kind:"draft",fields:"draftId (non-empty string), and a top-level project alongside target — a draft exists only on the operator's canvas, so the server cannot attribute it",example:'{"kind":"draft","draftId":"draft_9f2c"}'},{kind:"region",fields:"project (non-empty string) and rect {x, y, w, h} (finite numbers; w and h 0 or more)",example:'{"kind":"region","project":"live-log-viewer-next","rect":{"x":0,"y":0,"w":800,"h":600}}'},{kind:"point",fields:"project (non-empty string), x and y (finite numbers), and an optional zoom (greater than 0)",example:'{"kind":"point","project":"live-log-viewer-next","x":1200,"y":480}'}].map(a=>a.kind)},42713:(a,b,c)=>{c.d(b,{I9:()=>z,ZW:()=>B,n0:()=>A,uA:()=>C});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(89940),l=c(17918);let m=globalThis;function n(){return m.__llvViewPresence??=new Map}function o(){return(0,j.BQ)("view-presence.json")}let p=new Set(["desktop","tablet","mobile"]),q=new Set(["chrome","firefox","safari","other"]),r=new Set(["overview","scheme","list","mobile-focus","mobile-map"]),s=new Set(["current","pending","stale","unavailable"]);function t(a){return"number"==typeof a&&Number.isFinite(a)}function u(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function v(a){return null===a||"string"==typeof a}function w(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)}function x(a){return null===a||t(a)}function y(a){let b=n();for(let[a,c]of b){let d=c.project?(0,k.G$)(c.project):null;d!==c.project&&b.set(a,{...c,project:d})}for(let c of function(a){let b;try{b=g().readFileSync(o(),"utf8")}catch{return[]}try{let c=JSON.parse(b);if(1!==c.schemaVersion||!Array.isArray(c.sessions))return[];return c.sessions.filter(b=>{var c,d;let e,f,g,h;return c=b,d=a,!!(h=u(c))&&h.schemaVersion===l.RM&&"string"==typeof h.viewSessionId&&0!==h.viewSessionId.length&&"string"==typeof h.deviceId&&0!==h.deviceId.length&&("visible"===h.visibility||"hidden"===h.visibility)&&"string"==typeof h.mode&&!!r.has(h.mode)&&!!v(h.project)&&!!v(h.focusedPath)&&!!w(h.selectedPaths)&&!!w(h.visiblePaths)&&(e=u(h.device),!!(null!==e&&"string"==typeof e.kind&&p.has(e.kind)&&"string"==typeof e.browser&&q.has(e.browser)))&&(f=u(h.viewport),!!(null!==f&&t(f.width)&&t(f.height)&&t(f.dpr))&&!!function(a){if(null===a)return!0;let b=u(a);if(!b)return!1;let c=u(b.worldRect);return t(b.x)&&t(b.y)&&t(b.zoom)&&null!==c&&t(c.x)&&t(c.y)&&t(c.width)&&t(c.height)}(h.camera))&&(g=u(h.board),!!(null!==g&&x(g.renderedRevision)&&x(g.durableRevision)&&"string"==typeof g.sync&&s.has(g.sync))&&!!t(h.sequence)&&!!t(h.inputSequence)&&!!t(h.lastSeenAt)&&!!t(h.lastInteractionAt)&&!(h.lastSeenAt<=0)&&!(h.lastInteractionAt<=0)&&!(h.lastSeenAt>d+5e3)&&!(h.lastInteractionAt>d+5e3)&&!0)}).map(a=>({...a,project:a.project?(0,k.G$)(a.project):null}))}catch{return[]}}(a)){let a=b.get(c.viewSessionId);(!a||c.sequence>a.sequence)&&b.set(c.viewSessionId,c)}return function(a,b=n()){for(let[c,d]of b)a-d.lastSeenAt>12e4&&b.delete(c)}(a,b),b}function z(a,b=Date.now()){let c=Math.max(0,b-a.lastSeenAt);return"visible"===a.visibility?c<25e3?"active":"stale":c<=12e4?"background":"stale"}function A(a,b=Date.now()){let c=y(b),d=c.get(a.viewSessionId);if(d&&a.sequence<=d.sequence)return{accepted:!1,session:d};d||function(a){for(;a.size>=32;){let b=[...a.values()].sort((a,b)=>a.lastSeenAt-b.lastSeenAt)[0];if(!b)break;a.delete(b.viewSessionId)}}(c);let f=!d||a.inputSequence>d.inputSequence,h={...a,project:a.project?(0,k.G$)(a.project):null,inputSequence:Math.max(d?.inputSequence??0,a.inputSequence),lastSeenAt:b,lastInteractionAt:f?b:d?.lastInteractionAt??b};return c.set(a.viewSessionId,h),!function(a,b){let c={schemaVersion:1,updatedAt:new Date(b).toISOString(),sessions:[...a]},d=o(),f=i().join(i().dirname(d),`.${i().basename(d)}.${process.pid}.${e().randomUUID()}.tmp`);try{g().mkdirSync(i().dirname(d),{recursive:!0}),g().writeFileSync(f,JSON.stringify(c,null,2)+"\n",{encoding:"utf8",mode:384}),g().renameSync(f,d)}catch{g().rmSync(f,{force:!0})}}(c.values(),b),{accepted:!0,session:h}}function B(a,b=Date.now()){return{viewSessionId:a.viewSessionId,deviceId:a.deviceId,device:a.device,visibility:a.visibility,freshness:z(a,b),presenceAgeMs:Math.max(0,b-a.lastSeenAt),lastSeenAt:new Date(a.lastSeenAt).toISOString(),lastInteractionAt:new Date(a.lastInteractionAt).toISOString(),project:a.project,mode:a.mode}}function C(a=Date.now()){return[...y(a).values()].sort((a,b)=>b.lastInteractionAt-a.lastInteractionAt||b.lastSeenAt-a.lastSeenAt||a.viewSessionId.localeCompare(b.viewSessionId))}},42829:(a,b,c)=>{c.d(b,{T:()=>i});var d=c(23211),e=c(59117),f=c(29621),g=c(2033);let h={"Cache-Control":"no-store"};function i(a){return a instanceof f.yi?d.NextResponse.json({error:a.code,message:a.message},{status:a.status,headers:h}):a instanceof e.Kg?d.NextResponse.json({error:a.code,message:a.message},{status:400,headers:h}):a instanceof g.Qm?d.NextResponse.json({error:"ATTENTION_STATE_BUSY",message:a.message},{status:503,headers:{...h,"Retry-After":"1"}}):a instanceof e.SG?d.NextResponse.json({error:"ATTENTION_STATE_UNAVAILABLE",message:a.message},{status:503,headers:h}):d.NextResponse.json({error:"INVALID_REQUEST",message:"invalid request"},{status:400,headers:h})}},53315:(a,b,c)=>{c.d(b,{ao:()=>m,S5:()=>k,wd:()=>l});var d=c(29733),e=c(33017),f=c(42713);let g=new Set(["overview","scheme","mobile-focus","mobile-map"]);var h=c(54873),i=c(59117);function j(a,b){return Date.parse(a.createdAt)-Date.parse(b.createdAt)||a.id.localeCompare(b.id)}function k(a,b={}){let c=b.now??new Date,d=(0,i.m9)({filePath:b.filePath,now:c}),f=(0,i.$C)(b.filePath,c),g=(0,i.D3)(f).sort(j).map(b=>({request:b,status:(0,h.kt)(b,a),returnAvailable:(0,h.Qo)(b,a,c)})),l=g.filter(a=>"actionable"===a.status||"following"===a.status),m=l.find(a=>(0,h.H2)(a.request,c))??l[0]??null;return{rootId:(0,e.ng)(),offer:m,live:g,expired:d}}function l(a,b={}){return(0,i.eL)({...a,offeredTo:a.offeredTo??("root-agent"===a.origin&&void 0===a.directedAt?function(a=new Date){return(function(a=new Date){let b=a.getTime(),c=[];for(let a of(0,f.uA)(b)){var d;"mobile"!==(d={...a,freshness:(0,f.I9)(a,b)}).device.kind&&g.has(d.mode)&&"visible"===d.visibility&&"active"===d.freshness&&d.viewport.width>=768&&(c.some(b=>b.deviceId===a.deviceId)||c.push(a))}return c})(a).map(a=>a.deviceId)}(b.now):void 0),target:function(a,b){if("conversation"!==a.kind)return a;let c=b??(0,d.agentRegistry)(),e=c.conversationForPath(a.path)?.generations.at(-1);return e&&e.path!==a.path?{kind:"conversation",path:e.path}:a}(a.target,b.conversations),rootId:(0,e.ng)()},b)}function m(a,b,c={}){return(0,i.d4)(a,b,c)}},54873:(a,b,c)=>{c.d(b,{H2:()=>k,KN:()=>m,Qo:()=>j,kt:()=>l,qH:()=>h,tE:()=>n});var d=c(37073);let e=["pending","offered","previewing"];function f(a,b){return{ok:!1,reason:b,state:a.state}}function g(a,b,c,d={}){return{ok:!0,changed:!0,request:{...a,...d,state:b,stateChangedAt:c.toISOString(),revision:a.revision+1}}}function h(a,b){return e.includes(a.state)?Date.parse(a.expiresAt)<=b.getTime()?"ttl":null:"accepted"===a.state?b.getTime()-Date.parse(a.stateChangedAt)>=d.M1?"lost":null:"following"===a.state&&b.getTime()-Date.parse(a.stateChangedAt)>=d.PB?"follow-elapsed":null}function i(a,b){return"following"===a.state&&b.getTime()-Date.parse(a.stateChangedAt)<d.RY}function j(a,b,c){if("following"!==a.state||a.acknowledgedBy!==b)return!1;let e=a.returnPoints.find(a=>a.deviceId===b);return void 0!==e&&c.getTime()-Date.parse(e.capturedAt)<d.RY}function k(a,b){return"following"!==a.state||i(a,b)}function l(a,b){return(0,d.Q0)(a.state)?"closed":"accepted"===a.state||"following"===a.state?a.acknowledgedBy===b?"following":"withdrawn":"pending"===a.state?"none":a.offeredTo.includes(b)?"actionable":"none"}function m(a){return new Date(a.getTime()+d.Nh).toISOString()}function n(a,b,c={}){let h=c.now??new Date;if(void 0!==c.expectedRevision&&c.expectedRevision!==a.revision)return f(a,"stale-revision");if((0,d.Q0)(a.state))return f(a,"invalid-transition");switch(b.kind){case"offer":{if("pending"!==a.state&&"offered"!==a.state)return f(a,"invalid-transition");if("offered"===a.state&&a.offeredTo.includes(b.deviceId))return{ok:!0,request:a,changed:!1};let c=a.offeredTo.includes(b.deviceId)?a.offeredTo:[...a.offeredTo,b.deviceId];return g(a,"offered",h,{offeredTo:c})}case"preview":if("offered"!==a.state)return f(a,"invalid-transition");if(!a.offeredTo.includes(b.deviceId))return f(a,"not-offered");return g(a,"previewing",h);case"accept":if("offered"!==a.state&&"previewing"!==a.state)return f(a,"invalid-transition");if(!a.offeredTo.includes(b.deviceId))return f(a,"not-offered");return g(a,"accepted",h,{acknowledgedBy:b.deviceId,acceptedVia:b.via??"operator"});case"arrive":{if("accepted"!==a.state)return f(a,"invalid-transition");if(a.acknowledgedBy!==b.deviceId)return f(a,"not-acknowledger");if("lost"===b.resolution)return f(a,"lost-target");let c=[...a.returnPoints.filter(a=>a.deviceId!==b.deviceId),b.returnPoint];return g(a,"following",h,{returnPoints:c,resolution:b.resolution})}case"abandon":if("accepted"!==a.state)return f(a,"invalid-transition");if(a.acknowledgedBy!==b.deviceId)return f(a,"not-acknowledger");return g(a,"expired",h,{expiredCause:"lost"});case"decline":if("offered"!==a.state)return f(a,"invalid-transition");if(!a.offeredTo.includes(b.deviceId))return f(a,"not-offered");return g(a,"declined",h);case"dismiss":if("previewing"!==a.state)return f(a,"invalid-transition");if(!a.offeredTo.includes(b.deviceId))return f(a,"not-offered");return g(a,"declined",h);case"return":if("following"!==a.state)return f(a,"invalid-transition");if(a.acknowledgedBy!==b.deviceId)return f(a,"not-acknowledger");return g(a,"returned",h,{returnedVia:b.via});case"expire":{let c="accepted"===a.state&&"lost"===b.cause,d="following"===a.state&&"follow-elapsed"===b.cause;if(!e.includes(a.state)&&!c&&!d)return f(a,"invalid-transition");return g(a,"expired",h,{expiredCause:b.cause})}case"supersede":if(e.includes(a.state)||"following"===a.state&&!i(a,h))return g(a,"superseded",h,{supersededBy:b.by});return f(a,"invalid-transition")}}},59117:(a,b,c)=>{c.d(b,{$C:()=>t,D3:()=>v,Kg:()=>r,SG:()=>q,d4:()=>x,eL:()=>w,m9:()=>y});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(2033),l=c(54873),m=c(40370),n=c(37073);let o=["pending","offered","previewing"];function p(){return(0,j.BQ)("attention.json")}class q extends Error{constructor(a,b){super(a,b),this.name="AttentionStoreError"}}class r extends Error{constructor(a,b){super(b),this.code=a,this.name="AttentionValidationError"}}function s(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&a.id.length>0&&"string"==typeof a.createdAt&&!!a.requestedBy&&"string"==typeof a.requestedBy.rootId&&a.requestedBy.rootId.length>0&&("root-agent"===a.origin||"operator"===a.origin)&&(0,m.Cj)(a.target)&&"string"==typeof a.state&&"string"==typeof a.stateChangedAt&&"string"==typeof a.expiresAt&&Array.isArray(a.offeredTo)&&a.offeredTo.every(a=>"string"==typeof a)&&Array.isArray(a.returnPoints)&&Number.isInteger(a.revision)&&a.revision>=0}function t(a=p(),b=new Date){let c,d;try{c=g().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return{schemaVersion:n.yH,revision:0,updatedAt:b.toISOString(),requests:[]};throw new q("could not read attention state",{cause:a})}try{d=JSON.parse(c)}catch(a){throw new q("attention state contains malformed JSON",{cause:a})}if(d.schemaVersion!==n.yH)throw new q(`unsupported attention schema: ${String(d.schemaVersion)}`);if(!Number.isInteger(d.revision)||!Array.isArray(d.requests))throw new q("attention state is not a valid record");if(!d.requests.every(s))throw new q("attention state holds an invalid request");return{schemaVersion:n.yH,revision:d.revision,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:b.toISOString(),requests:d.requests}}function u(a,b={}){let c=b.filePath??p(),d=b.now??new Date;return(0,k.Ol)(c,"attention state is busy",()=>{var b;let f,h,j,k=t(c,d),l=a(k);return l.requests&&function(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`),d=null;try{d=g().openSync(c,"wx",384),g().writeFileSync(d,JSON.stringify(b,null,2)+"\n","utf8"),g().fsyncSync(d),g().closeSync(d),d=null,g().renameSync(c,a)}finally{null!==d&&g().closeSync(d),g().rmSync(c,{force:!0})}}(c,{schemaVersion:n.yH,revision:k.revision+1,updatedAt:d.toISOString(),requests:(f=(b=l.requests).filter(a=>!(0,n.Q0)(a.state)),j=(h=b.filter(a=>(0,n.Q0)(a.state))).length>50?h.slice(h.length-50):h,b.filter(a=>f.includes(a)||j.includes(a)))}),l.result})}function v(a){return a.requests.filter(a=>!(0,n.Q0)(a.state))}function w(a,b={}){if("string"!=typeof a.rootId||0===a.rootId.length)throw new r("INVALID_ROOT","a request must name the root agent by its stable identity");if(!(0,m.Cj)(a.target))throw new r("INVALID_TARGET","invalid focus target");if("show"!==a.intent&&"open"!==a.intent)throw new r("INVALID_INTENT","intent must be show or open");if(!(0,m.Rh)(a.target,a.intent))throw new r("INTENT_NOT_AVAILABLE","a geometric target can only be shown, not opened");if("string"!=typeof a.reason||0===a.reason.trim().length||a.reason.length>n.hl)throw new r("INVALID_REASON",`a request needs one operator-safe sentence of at most ${n.hl} characters`);if(void 0!==a.contextLabel&&("string"!=typeof a.contextLabel||a.contextLabel.length>n.Vw))throw new r("INVALID_CONTEXT_LABEL","invalid context label");if(void 0!==a.candidates&&(!Array.isArray(a.candidates)||a.candidates.length>n.oT))throw new r("INVALID_CANDIDATES","too many journal candidates");if(!a.frameAtCreation||"string"!=typeof a.frameAtCreation.project||0===a.frameAtCreation.project.length)throw new r("INVALID_FRAME","a request must record the frame it was created against");if(void 0!==a.directedAt&&("string"!=typeof a.directedAt||0===a.directedAt.length))throw new r("INVALID_DIRECTED_AT","a directed handoff must name the device it moves");if(void 0!==a.directedAtSession&&("string"!=typeof a.directedAtSession||0===a.directedAtSession.length||void 0===a.directedAt))throw new r("INVALID_DIRECTED_SESSION","a directed session must be a browser session id on a directed handoff");if(void 0!==a.operationKey&&("string"!=typeof a.operationKey||0===a.operationKey.length))throw new r("INVALID_OPERATION_KEY","an operation key must be a non-empty identity");let c=b.now??new Date;return u(d=>{if(void 0!==a.operationKey){let b=d.requests.find(b=>b.operationKey===a.operationKey);if(b)return{requests:void 0,result:{request:b,superseded:[],dropped:[],adopted:!0}}}let f=b.id??`attention_${e().randomUUID()}`,g={id:f,createdAt:c.toISOString(),requestedBy:{rootId:a.rootId},origin:a.origin,...void 0!==a.raisedBy?{raisedBy:a.raisedBy}:{},target:a.target,frameAtCreation:a.frameAtCreation,intent:a.intent,zoom:a.zoom??(0,m.xt)(a.target,a.intent),reason:a.reason.trim(),...void 0!==a.contextLabel?{contextLabel:a.contextLabel}:{},...void 0!==a.candidates?{candidates:a.candidates}:{},state:"operator"===a.origin||void 0!==a.directedAt?"accepted":"pending",stateChangedAt:c.toISOString(),expiresAt:(0,l.KN)(c),offeredTo:void 0!==a.directedAt?[a.directedAt]:a.offeredTo??[],...void 0!==a.directedAt?{acknowledgedBy:a.directedAt,acceptedVia:"operator"===a.origin?"operator":"auto-follow"}:"operator"===a.origin&&a.offeredTo?.length?{acknowledgedBy:a.offeredTo[0],acceptedVia:"operator"}:{},...void 0!==a.directedAtSession?{directedSessionId:a.directedAtSession}:{},...void 0!==a.operationKey?{operationKey:a.operationKey}:{},returnPoints:[],...void 0!==a.desktopTarget?{desktopTarget:a.desktopTarget}:{},revision:0},h=[],i=[],j=d.requests.map(b=>{if("root-agent"!==a.origin||b.requestedBy.rootId!==a.rootId)return b;let d=(0,l.tE)(b,{kind:"supersede",by:f},{now:c});return d.ok?(h.push(b.id),d.request):b}),k=()=>j.filter(a=>o.includes(a.state)&&a.id!==f);for(;k().length>=n.jC;){let a=k(),b=a.find(a=>"root-agent"===a.origin)??a[0];if(!b)break;let d=(0,l.tE)(b,{kind:"expire",cause:"queue-evicted"},{now:c});if(!d.ok)break;i.push(b.id),j=j.map(a=>a.id===b.id?d.request:a)}return{requests:[...j,g],result:{request:g,superseded:h,dropped:i,adopted:!1}}},{filePath:b.filePath,now:c})}function x(a,b,c={}){let d=c.now??new Date;return u(e=>{let f=e.requests.find(b=>b.id===a);if(!f)return{requests:void 0,result:{ok:!1,reason:"not-found"}};let g=(0,l.tE)(f,b,{now:d,expectedRevision:c.expectedRevision});return g.ok&&g.changed?{requests:e.requests.map(b=>b.id===a?g.request:b),result:g}:{requests:void 0,result:g}},{filePath:c.filePath,now:d})}function y(a={}){let b=a.now??new Date;return u(a=>{let c=[],d=a.requests.map(a=>{let d=(0,l.qH)(a,b);if(!d)return a;let e=(0,l.tE)(a,{kind:"expire",cause:d},{now:b});return e.ok?(c.push(a.id),e.request):a});return{requests:c.length?d:void 0,result:c}},{filePath:a.filePath,now:b})}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=2338,exports.ids=[2318,2338,9937],exports.modules={72338:(a,b,c)=>{c.d(b,{ip:()=>A,CX:()=>z});var d=c(73024),e=c.n(d),f=c(74382),g=c(29733),h=c(4837),i=c(89937),j=c(4012),k=c(10167),l=c(50201),m=c(70107),n=c(99411),o=c(21153);let p=`## Initial visible status
2
+ Your first turn after receiving this mandate must produce a visible assistant status in this conversation. When work remains, inventory the mandate missions and state your plan in that status. When every mission is already complete, reply exactly: "all mandate missions are complete; standing by". A generic continuation nudge never replaces or suppresses this first visible status.`;function q(a){return a.includes(p)?a:`${a}
3
+
4
+ ${p}`}var r=c(15408);let s={spawn:async function(a){let{executeSpawnRequest:b}=await c.e(7722).then(c.bind(c,67722)),d={headers:new Headers({host:"127.0.0.1",[j.VIEWER_SPAWN_CAPABILITY_HEADER]:(0,i.ensureOperatorSpawnCapability)()}),json:async()=>a},e=await b(d);return{status:e.status,body:await e.json()}},deliver:async function(a){if((0,l.cM)()){let{enqueueStructuredMessage:b}=await Promise.resolve().then(c.bind(c,2592)),d=await b({path:a.path??"",conversationId:a.conversationId,clientMessageId:a.clientMessageId,text:a.text,images:[]});if(d)return d.ok?{ok:!0,outcome:"outcome"in d&&"string"==typeof d.outcome?d.outcome:"delivered"}:{ok:!1,error:d.error}}let b=await (0,k.Ku)({pid:null,path:a.path??"",conversationId:a.conversationId,clientMessageId:a.clientMessageId,text:a.text,images:[]});return b.ok?{ok:!0,outcome:b.outcome??"delivered"}:{ok:!1,error:b.error}},conversationTarget:a=>{let b=(0,g.agentRegistry)().conversation(a);if(!b)return null;if(b.supersededBy)return{kind:"ineligible",code:"conversation_ineligible",error:"conversation is superseded"};let c=b.generations.at(-1),d=c?.path?.trim();if(!d||!e().existsSync(d))return{kind:"ineligible",code:"missing_transcript",error:"conversation transcript is unavailable"};let f=c?.launchProfile?.cwd?.trim();if(!f||!e().existsSync(f)||!e().statSync(f).isDirectory())return{kind:"ineligible",code:"invalid_cwd",error:"conversation cwd is unavailable"};let h=b.projectOwnership?.project??(0,m.hY)(f);return h?{kind:"eligible",conversationId:b.id,path:d,cwd:f,project:(0,r.ut)(h)}:{kind:"ineligible",code:"missing_project",error:"conversation project is unavailable"}},projectTasks:a=>(0,o.h6)().filter(b=>b.project===a&&"done"!==b.status).map(a=>({id:a.id,status:a.status,text:a.text})),launchSettlement:({launchId:a,clientRequestId:b})=>{let c=(0,g.agentRegistry)().spawnReceiptForClientAttempt(b);return!c||a&&c.launchId!==a?{kind:"unknown"}:c.rejection||"failed"===c.state||"conflicted"===c.state?{kind:"failed",error:c.error??c.rejection?.guidance??`spawn receipt is terminally ${c.state}`}:{kind:"settled",conversationId:c.conversationId,path:"materialized"===c.artifactLifecycle?c.artifactPath:null,launchId:c.launchId}},now:()=>new Date().toISOString()},t=/^[A-Za-z0-9_-]{8,128}$/;function u(a){return"string"==typeof a?a.trim():""}function v(a){let b=null===a.path&&null!==a.intent.launchId;return{status:200,body:{ok:!0,replayed:!0,state:a.path?"settled":b?"accepted":"starting",accepted:b,conversationId:a.conversationId,path:a.path,launchId:a.intent.launchId,seat:a}}}function w(a){return{status:409,body:{error:"an orchestrator seat transition is already in progress for this project",code:"seat_intent_in_progress",seat:a}}}async function x(a,b){let c=(0,r.ho)({project:a.project,clientRequestId:a.clientRequestId,conversationId:a.conversationId,path:a.path,launchId:a.launchId,now:b.now()});return"missing"===c.kind?null:{seat:c.seat}}function y(a,b){let c=(0,r.HS)(a).pending;if(!c||"spawn"!==c.intent.mode||null!==c.intent.error)return null;let d=b.launchSettlement({launchId:c.intent.launchId,clientRequestId:c.intent.clientRequestId});return"settled"===d.kind?x({project:a,clientRequestId:c.intent.clientRequestId,conversationId:d.conversationId,path:d.path,launchId:d.launchId??c.intent.launchId},b):("failed"===d.kind&&(0,r.Cp)(a,c.intent.clientRequestId,d.error),null)}async function z(a,b=s){let c="string"==typeof a.project?(0,f.QK)(a.project):null;if(!c)return{status:400,body:{error:"project must be a valid project key"}};let d=(0,r.ut)(c),i="string"==typeof a.mandate?a.mandate:"";if(!i.trim())return{status:400,body:{error:"mandate is required"}};if(Buffer.byteLength(i,"utf8")>64e3)return{status:413,body:{error:"mandate is too large"}};let j=u(a.clientRequestId);if(!t.test(j))return{status:400,body:{error:"clientRequestId must be 8-128 URL-safe characters"}};let k=u(a.conversationId);if(k&&!k.startsWith("conversation_"))return{status:400,body:{error:"conversationId is invalid"}};let l="number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,m=y(d,b);if(m&&await m,k){let a=b.conversationTarget(k);if(!a)return{status:404,body:{error:"conversation is unknown to the registry"}};if("ineligible"===a.kind)return{status:409,body:{error:a.error,code:a.code}};if(a.project!==d)return{status:409,body:{error:"conversation belongs to a different project",code:"project_mismatch"}};let c=(0,r.$p)({project:d,mandate:i,clientRequestId:j,mode:"existing",conversationId:a.conversationId,promptVersion:l,now:b.now()});if("completed"===c.kind)return v(c.seat);if("in_progress"===c.kind)return w(c.seat);let e="replay"===c.kind?b.conversationTarget(c.seat.conversationId??""):a;if(!e||"ineligible"===e.kind||e.project!==d){let a="the pending adoption target is no longer eligible";return(0,r.Cp)(d,j,a),{status:409,body:{error:a,code:"adoption_target_unavailable",seat:(0,r.HS)(d).pending}}}let f=await b.deliver({conversationId:e.conversationId,path:e.path,clientMessageId:`orchmandate_${j}`,text:q("replay"===c.kind?c.seat.mandate:i)});if(!f.ok){let a=f.error??"mandate delivery failed";return(0,r.Cp)(d,j,a),{status:502,body:{error:a,code:"mandate_delivery_failed",seat:(0,r.HS)(d).pending}}}let g=await x({project:d,clientRequestId:j,conversationId:e.conversationId,path:e.path},b);return g?{status:200,body:{ok:!0,state:"settled",conversationId:e.conversationId,path:e.path,delivery:f.outcome??"delivered",seat:g.seat}}:{status:409,body:{error:"seat intent was superseded by a newer designation"}}}let o=(0,r.HS)(d).active;if(o&&o.intent.clientRequestId!==j&&!0!==a.replaceIncumbent)return{status:409,body:{error:`an orchestrator is already designated for ${d}; use rotate_orchestrator for an explicit handoff, or pass replaceIncumbent: true to replace deliberately`,code:"already_designated",incumbentSeatEpoch:o.seatEpoch}};let p=function(a){let b=u(a.model);if(!b)return null;let c=(0,n.s8)({role:"orchestrator",roleParams:a.roleParams??{mode:"standard"}}),d=null;if("claude"===a.engine||"codex"===a.engine?d=a.engine:c.ok&&c.value&&(d=c.value.config.engine),!d)return null;let e=(0,h.RC)(d,b);return"error"in e?e.error:null}(a);if(p)return{status:400,body:{error:p}};let A=(0,r.$p)({project:d,mandate:i,clientRequestId:j,mode:"spawn",promptVersion:l,now:b.now()});if("completed"===A.kind)return v(A.seat);if("in_progress"===A.kind)return w(A.seat);let B=q("replay"===A.kind?A.seat.mandate:i),C=function(a,b){if("string"==typeof b&&b.trim())return b.trim();let c=process.env.LLV_ORCHESTRATOR_CWD?.trim();if(c)return c;let d=a=>{if(!a)return!1;try{return e().statSync(a).isDirectory()}catch{return!1}};for(let b of Object.values((0,g.agentRegistry)().readOnlySnapshot().conversations).filter(b=>b.projectOwnership?.project===a||b.generations.some(b=>b.launchProfile?.project===a)).sort((a,b)=>(b.updatedAt??"").localeCompare(a.updatedAt??"")))for(let a=b.generations.length-1;a>=0;a-=1){let c=b.generations[a]?.launchProfile?.cwd;if(d(c))return c}return null}(d,a.cwd);if(!C)return(0,r.Cp)(d,j,"orchestrator cwd could not be resolved"),{status:400,body:{error:"orchestrator cwd could not be resolved — pass cwd explicitly or set LLV_ORCHESTRATOR_CWD",code:"cwd_unresolved",seat:(0,r.HS)(d).pending}};let D={...Object.fromEntries(["engine","model","cwd","effort","fast","accountId","images","roleParams","allowSubagents"].flatMap(b=>void 0===a[b]?[]:[[b,a[b]]])),role:"orchestrator",roleParams:a.roleParams??{mode:"standard"},project:d,cwd:C,prompt:B,clientAttemptId:j},E=await b.spawn(D),F=u(E.body.conversationId),G=E.status>=200&&E.status<300&&!1!==E.body.ok,H=u(E.body.launchId),I=G&&202===E.status&&!!F&&!!H;if(!(G&&!1!==E.body.launched&&F)&&!I){let a=u(E.body.error)||(G?F?"spawn did not report an accepted launch":"spawn response omitted conversationId":`spawn was rejected with HTTP status ${E.status}`);return(0,r.Cp)(d,j,a),{status:E.status,body:{...E.body,seat:(0,r.HS)(d).pending}}}let J=await x({project:d,clientRequestId:j,conversationId:F,path:"string"==typeof E.body.path?E.body.path:null,launchId:H||null},b);return J?{status:E.status,body:{...E.body,...I?{accepted:!0,state:"accepted"}:{},seat:J.seat}}:{status:409,body:{error:"seat intent was superseded by a newer designation"}}}async function A(a,b=s){let c="string"==typeof a.project?(0,f.QK)(a.project):null;if(!c)return{status:400,body:{error:"project must be a valid project key"}};let d=(0,r.ut)(c),e=u(a.clientRequestId);if(!t.test(e))return{status:400,body:{error:"clientRequestId must be 8-128 URL-safe characters"}};let g=y(d,b);g&&await g;let h=(0,r.HS)(d).active;if(!h?.conversationId)return{status:409,body:{error:"no orchestrator is designated for this project — use create_orchestrator instead of rotating",code:"no_incumbent"}};let i=b.conversationTarget(h.conversationId),j=i?.kind==="eligible"?i:null,k=b.projectTasks(d).slice(0,12),l=u(a.handoffNotes).slice(0,2e3),m=["## Handoff from your predecessor (rotation)",`You are replacing orchestrator conversation ${h.conversationId} for project ${d}. Its manager authority is revoked; its session and card remain on the board, linked to yours.`,j?.path??h.path?`Your predecessor's full transcript — decisions, blockers, in-flight work — is at: ${j?.path??h.path}. Review its recent turns before acting.`:"Your predecessor's transcript path is not recorded; reconstruct state from the board before acting.",k.length?`Open board tasks for this project:
5
+ ${k.map(a=>`- [${a.status}] ${a.text.slice(0,140)} (${a.id})`).join("\n")}`:"No open board tasks are recorded for this project.",...l?[`Notes from the caller:
6
+ ${l}`]:[]].join("\n\n"),n=u(a.mandate)||h.mandate,o=await z({project:d,mandate:`${n}
7
+
8
+ ${m}`,clientRequestId:e,replaceIncumbent:!0,promptVersion:h.promptVersion,...void 0!==a.engine?{engine:a.engine}:{},...void 0!==a.model?{model:a.model}:{},...void 0!==a.effort?{effort:a.effort}:{},...void 0!==a.fast?{fast:a.fast}:{},...void 0!==a.cwd?{cwd:a.cwd}:j?{cwd:j.cwd}:{},...void 0!==a.accountId?{accountId:a.accountId}:{}},b);return{status:o.status,body:{...o.body,rotatedFrom:{conversationId:h.conversationId,path:j?.path??h.path,seatEpoch:h.seatEpoch}}}}},89937:(a,b,c)=>{c.r(b),c.d(b,{OperatorSpawnCapabilityError:()=>l,ensureOperatorSpawnCapability:()=>p,matchesOperatorSpawnCapability:()=>q,operatorSpawnCapabilityPath:()=>m,rotateOperatorSpawnCapability:()=>o});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724);let k=/^[A-Za-z0-9_-]{43}$/;class l extends Error{constructor(a,b,c){const d="object"==typeof c&&null!==c&&"code"in c&&"string"==typeof c.code?` (${c.code})`:"";super(`Viewer operator spawn capability ${a} failed at ${b}${d}`),this.name="OperatorSpawnCapabilityError"}}function m(){return(0,j.BQ)("operator-spawn-capability")}function n(){let a=m();try{let b=g().lstatSync(a);if(!b.isFile()||b.isSymbolicLink())return null;let c=g().readFileSync(a,"utf8").trim();if(!k.test(c))return null;return(511&b.mode)!=384&&g().chmodSync(a,384),c}catch(b){if("object"==typeof b&&null!==b&&"code"in b&&"ENOENT"===b.code)return null;throw new l("read",a,b)}}function o(){let a=e().randomBytes(32).toString("base64url"),b=m(),c=i().dirname(b),d=null;try{g().mkdirSync(c,{recursive:!0,mode:448}),d=i().join(c,`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(d,`${a}
9
+ `,{encoding:"utf8",flag:"wx",mode:384}),g().chmodSync(d,384),g().renameSync(d,b)}catch(a){throw new l("write",b,a)}finally{if(d)try{g().rmSync(d,{force:!0})}catch(a){throw new l("write",b,a)}}return a}function p(){return n()??o()}function q(a){if(!k.test(a))return!1;let b=n();return!!b&&e().timingSafeEqual(Buffer.from(a),Buffer.from(b))}}};