agent-log-viewer 0.11.7 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/README.md +217 -29
  2. package/bin/cli.mjs +32 -12
  3. package/bin/mcp-server.mjs +129 -0
  4. package/bin/mcp-server.test.ts +264 -0
  5. package/bin/server-runtime.mjs +57 -0
  6. package/bin/server-runtime.test.ts +122 -0
  7. package/bin/tailscale-credential-isolation.test.ts +56 -0
  8. package/bin/tailscale.mjs +6 -4
  9. package/dist/mcp-server.mjs +42361 -0
  10. package/dist/standalone/.next/BUILD_ID +1 -1
  11. package/dist/standalone/.next/app-path-routes-manifest.json +67 -10
  12. package/dist/standalone/.next/build-manifest.json +6 -6
  13. package/dist/standalone/.next/prerender-manifest.json +3 -3
  14. package/dist/standalone/.next/react-loadable-manifest.json +70 -0
  15. package/dist/standalone/.next/required-server-files.json +9 -2
  16. package/dist/standalone/.next/routes-manifest.json +360 -0
  17. package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
  18. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  19. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  20. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  21. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  22. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  23. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  24. package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  25. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  26. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  27. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  28. package/dist/standalone/.next/server/app/_not-found/page.js +2 -2
  29. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  30. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  31. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  32. package/dist/standalone/.next/server/app/_not-found.rsc +3 -3
  33. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  34. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  35. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  36. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  37. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  38. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  39. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  40. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  41. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -0
  42. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -0
  43. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route_client-reference-manifest.js +1 -0
  44. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -0
  45. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -0
  46. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route_client-reference-manifest.js +1 -0
  47. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -0
  48. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -0
  49. package/dist/standalone/.next/server/app/api/accounts/claude/active/route_client-reference-manifest.js +1 -0
  50. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -0
  51. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -0
  52. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route_client-reference-manifest.js +1 -0
  53. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -0
  54. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -0
  55. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route_client-reference-manifest.js +1 -0
  56. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -0
  57. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -0
  58. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route_client-reference-manifest.js +1 -0
  59. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -0
  60. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -0
  61. package/dist/standalone/.next/server/app/api/accounts/claude/route_client-reference-manifest.js +1 -0
  62. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -0
  63. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -0
  64. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route_client-reference-manifest.js +1 -0
  65. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -0
  66. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -0
  67. package/dist/standalone/.next/server/app/api/accounts/codex/active/route_client-reference-manifest.js +1 -0
  68. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -0
  69. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -0
  70. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route_client-reference-manifest.js +1 -0
  71. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -0
  72. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -0
  73. package/dist/standalone/.next/server/app/api/accounts/codex/route_client-reference-manifest.js +1 -0
  74. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -0
  75. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -0
  76. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route_client-reference-manifest.js +1 -0
  77. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -0
  78. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -0
  79. package/dist/standalone/.next/server/app/api/accounts/route_client-reference-manifest.js +1 -0
  80. package/dist/standalone/.next/server/app/api/agent/route.js +1 -0
  81. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -0
  82. package/dist/standalone/.next/server/app/api/agent/route_client-reference-manifest.js +1 -0
  83. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -0
  84. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -0
  85. package/dist/standalone/.next/server/app/api/agent/snapshot/route_client-reference-manifest.js +1 -0
  86. package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
  87. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  88. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -0
  89. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -0
  90. package/dist/standalone/.next/server/app/api/attach-command/route_client-reference-manifest.js +1 -0
  91. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -0
  92. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -0
  93. package/dist/standalone/.next/server/app/api/attention/[id]/route_client-reference-manifest.js +1 -0
  94. package/dist/standalone/.next/server/app/api/attention/route.js +1 -0
  95. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -0
  96. package/dist/standalone/.next/server/app/api/attention/route_client-reference-manifest.js +1 -0
  97. package/dist/standalone/.next/server/app/api/board/route.js +1 -0
  98. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -0
  99. package/dist/standalone/.next/server/app/api/board/route_client-reference-manifest.js +1 -0
  100. package/dist/standalone/.next/server/app/api/bridge/route.js +2 -0
  101. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -0
  102. package/dist/standalone/.next/server/app/api/bridge/route_client-reference-manifest.js +1 -0
  103. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -0
  104. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -0
  105. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route_client-reference-manifest.js +1 -0
  106. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -0
  107. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -0
  108. package/dist/standalone/.next/server/app/api/conversations/route_client-reference-manifest.js +1 -0
  109. package/dist/standalone/.next/server/app/api/files/route.js +2 -1
  110. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  111. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  112. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  113. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  114. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  115. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  116. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  117. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  118. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  119. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -0
  120. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -0
  121. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route_client-reference-manifest.js +1 -0
  122. package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -0
  123. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -0
  124. package/dist/standalone/.next/server/app/api/limits/history/route_client-reference-manifest.js +1 -0
  125. package/dist/standalone/.next/server/app/api/limits/route.js +1 -2
  126. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  127. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -0
  128. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -0
  129. package/dist/standalone/.next/server/app/api/log/preflight/route_client-reference-manifest.js +1 -0
  130. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -0
  131. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -0
  132. package/dist/standalone/.next/server/app/api/log/project-delete/route_client-reference-manifest.js +1 -0
  133. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  134. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  135. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  136. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  137. package/dist/standalone/.next/server/app/api/logs/stream/route.js +4 -4
  138. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  139. package/dist/standalone/.next/server/app/api/monitor/lock/route.js +3 -0
  140. package/dist/standalone/.next/server/app/api/monitor/lock/route.js.nft.json +1 -0
  141. package/dist/standalone/.next/server/app/api/monitor/lock/route_client-reference-manifest.js +1 -0
  142. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -0
  143. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -0
  144. package/dist/standalone/.next/server/app/api/monitor/runs/route_client-reference-manifest.js +1 -0
  145. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -0
  146. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -0
  147. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route_client-reference-manifest.js +1 -0
  148. package/dist/standalone/.next/server/app/api/orchestrator/route.js +1 -0
  149. package/dist/standalone/.next/server/app/api/orchestrator/route.js.nft.json +1 -0
  150. package/dist/standalone/.next/server/app/api/orchestrator/route_client-reference-manifest.js +1 -0
  151. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -0
  152. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -0
  153. package/dist/standalone/.next/server/app/api/orchestrator/seat/route_client-reference-manifest.js +1 -0
  154. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -0
  155. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -0
  156. package/dist/standalone/.next/server/app/api/pipelines/[id]/route_client-reference-manifest.js +1 -0
  157. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -0
  158. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -0
  159. package/dist/standalone/.next/server/app/api/pipelines/preflight/route_client-reference-manifest.js +1 -0
  160. package/dist/standalone/.next/server/app/api/pipelines/route.js +2 -0
  161. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -0
  162. package/dist/standalone/.next/server/app/api/pipelines/route_client-reference-manifest.js +1 -0
  163. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -0
  164. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -0
  165. package/dist/standalone/.next/server/app/api/pipelines/tick/route_client-reference-manifest.js +1 -0
  166. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  167. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  168. package/dist/standalone/.next/server/app/api/push/route.js +2 -1
  169. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  170. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  171. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  172. package/dist/standalone/.next/server/app/api/roles/route.js +2 -0
  173. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -0
  174. package/dist/standalone/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
  175. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -0
  176. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -0
  177. package/dist/standalone/.next/server/app/api/runtime/answer/route_client-reference-manifest.js +1 -0
  178. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -0
  179. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -0
  180. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route_client-reference-manifest.js +1 -0
  181. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -0
  182. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -0
  183. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route_client-reference-manifest.js +1 -0
  184. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -0
  185. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -0
  186. package/dist/standalone/.next/server/app/api/runtime/deployments/route_client-reference-manifest.js +1 -0
  187. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -0
  188. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -0
  189. package/dist/standalone/.next/server/app/api/runtime/interrupt/route_client-reference-manifest.js +1 -0
  190. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -0
  191. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -0
  192. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route_client-reference-manifest.js +1 -0
  193. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -0
  194. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -0
  195. package/dist/standalone/.next/server/app/api/runtime/operations/route_client-reference-manifest.js +1 -0
  196. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -0
  197. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -0
  198. package/dist/standalone/.next/server/app/api/runtime/realtime/route_client-reference-manifest.js +1 -0
  199. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -0
  200. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -0
  201. package/dist/standalone/.next/server/app/api/runtime/send/route_client-reference-manifest.js +1 -0
  202. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -0
  203. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -0
  204. package/dist/standalone/.next/server/app/api/runtime/snapshot/route_client-reference-manifest.js +1 -0
  205. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -0
  206. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -0
  207. package/dist/standalone/.next/server/app/api/runtime/spawn/route_client-reference-manifest.js +1 -0
  208. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -0
  209. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -0
  210. package/dist/standalone/.next/server/app/api/runtime/steer/route_client-reference-manifest.js +1 -0
  211. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +8 -0
  212. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -0
  213. package/dist/standalone/.next/server/app/api/runtime/stream/route_client-reference-manifest.js +1 -0
  214. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  215. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  216. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -0
  217. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -0
  218. package/dist/standalone/.next/server/app/api/session/supersedence/route_client-reference-manifest.js +1 -0
  219. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -0
  220. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -0
  221. package/dist/standalone/.next/server/app/api/session/title/route_client-reference-manifest.js +1 -0
  222. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -0
  223. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -0
  224. package/dist/standalone/.next/server/app/api/spawn/policy/route_client-reference-manifest.js +1 -0
  225. package/dist/standalone/.next/server/app/api/spawn/route.js +2 -1
  226. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  227. package/dist/standalone/.next/server/app/api/staging/route.js +2 -0
  228. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -0
  229. package/dist/standalone/.next/server/app/api/staging/route_client-reference-manifest.js +1 -0
  230. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -0
  231. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -0
  232. package/dist/standalone/.next/server/app/api/task-attachments/route_client-reference-manifest.js +1 -0
  233. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -2
  234. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  235. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -2
  236. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  237. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
  238. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  239. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
  240. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  241. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  242. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  243. package/dist/standalone/.next/server/app/api/tasks/route.js +11 -2
  244. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  245. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  246. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  247. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  248. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  249. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  250. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  251. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  252. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  253. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  254. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  255. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  256. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  257. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -0
  258. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -0
  259. package/dist/standalone/.next/server/app/api/tts/backend/route_client-reference-manifest.js +1 -0
  260. package/dist/standalone/.next/server/app/api/tts/route.js +3 -0
  261. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -0
  262. package/dist/standalone/.next/server/app/api/tts/route_client-reference-manifest.js +1 -0
  263. package/dist/standalone/.next/server/app/api/view/presence/route.js +2 -0
  264. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -0
  265. package/dist/standalone/.next/server/app/api/view/presence/route_client-reference-manifest.js +1 -0
  266. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  267. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  268. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  269. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  270. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  271. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  272. package/dist/standalone/.next/server/app/index.html +1 -1
  273. package/dist/standalone/.next/server/app/index.rsc +4 -4
  274. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  275. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  276. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  277. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  278. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  279. package/dist/standalone/.next/server/app/page.js +57 -3
  280. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  281. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  282. package/dist/standalone/.next/server/app-paths-manifest.json +67 -10
  283. package/dist/standalone/.next/server/chunks/1068.js +1 -0
  284. package/dist/standalone/.next/server/chunks/1097.js +1 -0
  285. package/dist/standalone/.next/server/chunks/156.js +2 -0
  286. package/dist/standalone/.next/server/chunks/1699.js +1 -0
  287. package/dist/standalone/.next/server/chunks/1813.js +1 -0
  288. package/dist/standalone/.next/server/chunks/1911.js +1 -0
  289. package/dist/standalone/.next/server/chunks/1918.js +1 -0
  290. package/dist/standalone/.next/server/chunks/1920.js +27 -0
  291. package/dist/standalone/.next/server/chunks/2190.js +1 -0
  292. package/dist/standalone/.next/server/chunks/2596.js +1 -0
  293. package/dist/standalone/.next/server/chunks/2977.js +1 -0
  294. package/dist/standalone/.next/server/chunks/306.js +3 -0
  295. package/dist/standalone/.next/server/chunks/3313.js +1 -0
  296. package/dist/standalone/.next/server/chunks/3336.js +1 -0
  297. package/dist/standalone/.next/server/chunks/3438.js +2 -0
  298. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  299. package/dist/standalone/.next/server/chunks/3587.js +1 -0
  300. package/dist/standalone/.next/server/chunks/3669.js +1 -0
  301. package/dist/standalone/.next/server/chunks/3817.js +1 -0
  302. package/dist/standalone/.next/server/chunks/3886.js +1 -0
  303. package/dist/standalone/.next/server/chunks/3944.js +1 -0
  304. package/dist/standalone/.next/server/chunks/4012.js +4 -0
  305. package/dist/standalone/.next/server/chunks/4127.js +1 -0
  306. package/dist/standalone/.next/server/chunks/4191.js +1 -0
  307. package/dist/standalone/.next/server/chunks/4260.js +2 -0
  308. package/dist/standalone/.next/server/chunks/4509.js +1 -0
  309. package/dist/standalone/.next/server/chunks/{741.js → 4741.js} +1 -1
  310. package/dist/standalone/.next/server/chunks/4792.js +101 -0
  311. package/dist/standalone/.next/server/chunks/4968.js +1 -0
  312. package/dist/standalone/.next/server/chunks/4972.js +2 -0
  313. package/dist/standalone/.next/server/chunks/5622.js +2 -0
  314. package/dist/standalone/.next/server/chunks/616.js +42 -0
  315. package/dist/standalone/.next/server/chunks/620.js +1 -0
  316. package/dist/standalone/.next/server/chunks/6299.js +4 -0
  317. package/dist/standalone/.next/server/chunks/6389.js +1 -0
  318. package/dist/standalone/.next/server/chunks/640.js +1 -0
  319. package/dist/standalone/.next/server/chunks/6826.js +2 -0
  320. package/dist/standalone/.next/server/chunks/6850.js +1 -0
  321. package/dist/standalone/.next/server/chunks/7471.js +85 -0
  322. package/dist/standalone/.next/server/chunks/7563.js +1 -0
  323. package/dist/standalone/.next/server/chunks/7722.js +1 -0
  324. package/dist/standalone/.next/server/chunks/8140.js +1 -0
  325. package/dist/standalone/.next/server/chunks/8176.js +1 -0
  326. package/dist/standalone/.next/server/chunks/8444.js +1 -0
  327. package/dist/standalone/.next/server/chunks/8576.js +1 -0
  328. package/dist/standalone/.next/server/chunks/8797.js +1 -0
  329. package/dist/standalone/.next/server/chunks/8966.js +2 -0
  330. package/dist/standalone/.next/server/chunks/9411.js +14 -0
  331. package/dist/standalone/.next/server/chunks/9598.js +1 -0
  332. package/dist/standalone/.next/server/chunks/9733.js +39 -0
  333. package/dist/standalone/.next/server/chunks/9936.js +6 -0
  334. package/dist/standalone/.next/server/chunks/9998.js +1 -0
  335. package/dist/standalone/.next/server/file-scanner-worker.js +4 -0
  336. package/dist/standalone/.next/server/files-response-worker.js +13 -0
  337. package/dist/standalone/.next/server/functions-config-manifest.json +57 -0
  338. package/dist/standalone/.next/server/instrumentation.js +1 -0
  339. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  340. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  341. package/dist/standalone/.next/server/middleware.js +2 -2
  342. package/dist/standalone/.next/server/pages/404.html +1 -1
  343. package/dist/standalone/.next/server/pages/500.html +1 -1
  344. package/dist/standalone/.next/server/resource-collector-worker.js +1 -0
  345. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  346. package/dist/standalone/.next/server/webpack-runtime.js +1 -1
  347. package/dist/standalone/.next/static/5aZdjqUDNxpxX8nVsuO2S/_buildManifest.js +1 -0
  348. package/dist/standalone/.next/static/chunks/1783.662e4b7044e5db2f.js +1 -0
  349. package/dist/standalone/.next/static/chunks/2345.c09668c2640f24ad.js +1 -0
  350. package/dist/standalone/.next/static/chunks/2462.217e83e51ac07519.js +1 -0
  351. package/dist/standalone/.next/static/chunks/3015.f61f117dd9ccb747.js +1 -0
  352. package/dist/standalone/.next/static/chunks/{794-0fc36bf1952fbc29.js → 3794-a205959ce301b5c6.js} +1 -1
  353. package/dist/standalone/.next/static/chunks/4bd1b696-c2f6e0877b6c10aa.js +1 -0
  354. package/dist/standalone/.next/static/chunks/6370.4f217a9379f47764.js +1 -0
  355. package/dist/standalone/.next/static/chunks/7067.f02e8d0616800bac.js +1 -0
  356. package/dist/standalone/.next/static/chunks/7297.aaa457b2a2939f7b.js +1 -0
  357. package/dist/standalone/.next/static/chunks/7774.cca1e546ab5623e0.js +1 -0
  358. package/dist/standalone/.next/static/chunks/8327.33abd84515b38836.js +1 -0
  359. package/dist/standalone/.next/static/chunks/858.302d545082b159c6.js +1 -0
  360. package/dist/standalone/.next/static/chunks/9260-0e7e550c65609f11.js +1 -0
  361. package/dist/standalone/.next/static/chunks/9583.b999fb5de3a3494a.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/_global-error/page-483eb859fba02a43.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/_not-found/page-9e7648417ae57bf7.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/access/route-483eb859fba02a43.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-483eb859fba02a43.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-483eb859fba02a43.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-483eb859fba02a43.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-483eb859fba02a43.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-483eb859fba02a43.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-483eb859fba02a43.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-483eb859fba02a43.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-483eb859fba02a43.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-483eb859fba02a43.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-483eb859fba02a43.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-483eb859fba02a43.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-483eb859fba02a43.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/accounts/route-483eb859fba02a43.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/agent/route-483eb859fba02a43.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-483eb859fba02a43.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/answer/route-483eb859fba02a43.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-483eb859fba02a43.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-483eb859fba02a43.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/attention/route-483eb859fba02a43.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/board/route-483eb859fba02a43.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/bridge/route-483eb859fba02a43.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-483eb859fba02a43.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/conversations/route-483eb859fba02a43.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/files/route-483eb859fba02a43.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-483eb859fba02a43.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/flows/route-483eb859fba02a43.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/image/route-483eb859fba02a43.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/inbox/route-483eb859fba02a43.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-483eb859fba02a43.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-483eb859fba02a43.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/limits/route-483eb859fba02a43.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-483eb859fba02a43.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-483eb859fba02a43.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/log/route-483eb859fba02a43.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/logs/route-483eb859fba02a43.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-483eb859fba02a43.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-483eb859fba02a43.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-483eb859fba02a43.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-483eb859fba02a43.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/orchestrator/route-483eb859fba02a43.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-483eb859fba02a43.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-483eb859fba02a43.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-483eb859fba02a43.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-483eb859fba02a43.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-483eb859fba02a43.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/proc/route-483eb859fba02a43.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/push/route-483eb859fba02a43.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/resources/route-483eb859fba02a43.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/roles/route-483eb859fba02a43.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-483eb859fba02a43.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-483eb859fba02a43.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-483eb859fba02a43.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-483eb859fba02a43.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-483eb859fba02a43.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-483eb859fba02a43.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-483eb859fba02a43.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-483eb859fba02a43.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-483eb859fba02a43.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-483eb859fba02a43.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-483eb859fba02a43.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-483eb859fba02a43.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-483eb859fba02a43.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/session/route-483eb859fba02a43.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-483eb859fba02a43.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/session/title/route-483eb859fba02a43.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-483eb859fba02a43.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/spawn/route-483eb859fba02a43.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/staging/route-483eb859fba02a43.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-483eb859fba02a43.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-483eb859fba02a43.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-483eb859fba02a43.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-483eb859fba02a43.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-483eb859fba02a43.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-483eb859fba02a43.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/tasks/route-483eb859fba02a43.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/timeline/route-483eb859fba02a43.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/tmux/route-483eb859fba02a43.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-483eb859fba02a43.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-483eb859fba02a43.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-483eb859fba02a43.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-483eb859fba02a43.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-483eb859fba02a43.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/tts/route-483eb859fba02a43.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-483eb859fba02a43.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-483eb859fba02a43.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/workflows/route-483eb859fba02a43.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/layout-c8390ace9b222dd6.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/page-45fd788b5dbb86eb.js +57 -0
  453. package/dist/standalone/.next/static/chunks/framework-d1de002210ddaaef.js +1 -0
  454. package/dist/standalone/.next/static/chunks/{main-3cec32f88450e0e3.js → main-343fc547124ab6ff.js} +2 -2
  455. package/dist/standalone/.next/static/chunks/main-app-63e09a6ca85925cd.js +1 -0
  456. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-483eb859fba02a43.js +1 -0
  457. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-483eb859fba02a43.js +1 -0
  458. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-a07ea5db82382b93.js +1 -0
  459. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-483eb859fba02a43.js +1 -0
  460. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-483eb859fba02a43.js +1 -0
  461. package/dist/standalone/.next/static/chunks/webpack-46c1a0323c2ca312.js +1 -0
  462. package/dist/standalone/.next/static/css/b5b2fbc52caf460a.css +1 -0
  463. package/dist/standalone/package.json +24 -5
  464. package/dist/standalone/server.js +1 -1
  465. package/package.json +24 -5
  466. package/dist/standalone/.next/server/chunks/628.js +0 -2
  467. package/dist/standalone/.next/server/chunks/747.js +0 -4
  468. package/dist/standalone/.next/server/chunks/813.js +0 -1
  469. package/dist/standalone/.next/server/chunks/918.js +0 -1
  470. package/dist/standalone/.next/server/chunks/998.js +0 -1
  471. package/dist/standalone/.next/static/U4SZ1qekrUMw43qsp4kED/_buildManifest.js +0 -1
  472. package/dist/standalone/.next/static/chunks/4bd1b696-215e5051988c3dde.js +0 -1
  473. package/dist/standalone/.next/static/chunks/647-0b14204033b8658c.js +0 -1
  474. package/dist/standalone/.next/static/chunks/app/_global-error/page-d0de276a8c0b264e.js +0 -1
  475. package/dist/standalone/.next/static/chunks/app/_not-found/page-811f7dc4ec7ef451.js +0 -1
  476. package/dist/standalone/.next/static/chunks/app/api/access/route-d0de276a8c0b264e.js +0 -1
  477. package/dist/standalone/.next/static/chunks/app/api/answer/route-d0de276a8c0b264e.js +0 -1
  478. package/dist/standalone/.next/static/chunks/app/api/files/route-d0de276a8c0b264e.js +0 -1
  479. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-d0de276a8c0b264e.js +0 -1
  480. package/dist/standalone/.next/static/chunks/app/api/flows/route-d0de276a8c0b264e.js +0 -1
  481. package/dist/standalone/.next/static/chunks/app/api/image/route-d0de276a8c0b264e.js +0 -1
  482. package/dist/standalone/.next/static/chunks/app/api/inbox/route-d0de276a8c0b264e.js +0 -1
  483. package/dist/standalone/.next/static/chunks/app/api/limits/route-d0de276a8c0b264e.js +0 -1
  484. package/dist/standalone/.next/static/chunks/app/api/log/route-d0de276a8c0b264e.js +0 -1
  485. package/dist/standalone/.next/static/chunks/app/api/logs/route-d0de276a8c0b264e.js +0 -1
  486. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-d0de276a8c0b264e.js +0 -1
  487. package/dist/standalone/.next/static/chunks/app/api/proc/route-d0de276a8c0b264e.js +0 -1
  488. package/dist/standalone/.next/static/chunks/app/api/push/route-d0de276a8c0b264e.js +0 -1
  489. package/dist/standalone/.next/static/chunks/app/api/resources/route-d0de276a8c0b264e.js +0 -1
  490. package/dist/standalone/.next/static/chunks/app/api/session/route-d0de276a8c0b264e.js +0 -1
  491. package/dist/standalone/.next/static/chunks/app/api/spawn/route-d0de276a8c0b264e.js +0 -1
  492. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-d0de276a8c0b264e.js +0 -1
  493. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-d0de276a8c0b264e.js +0 -1
  494. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-d0de276a8c0b264e.js +0 -1
  495. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-d0de276a8c0b264e.js +0 -1
  496. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-d0de276a8c0b264e.js +0 -1
  497. package/dist/standalone/.next/static/chunks/app/api/tasks/route-d0de276a8c0b264e.js +0 -1
  498. package/dist/standalone/.next/static/chunks/app/api/timeline/route-d0de276a8c0b264e.js +0 -1
  499. package/dist/standalone/.next/static/chunks/app/api/tmux/route-d0de276a8c0b264e.js +0 -1
  500. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-d0de276a8c0b264e.js +0 -1
  501. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-d0de276a8c0b264e.js +0 -1
  502. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-d0de276a8c0b264e.js +0 -1
  503. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-d0de276a8c0b264e.js +0 -1
  504. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-d0de276a8c0b264e.js +0 -1
  505. package/dist/standalone/.next/static/chunks/app/api/workflows/route-d0de276a8c0b264e.js +0 -1
  506. package/dist/standalone/.next/static/chunks/app/layout-22e93960d4e3259a.js +0 -1
  507. package/dist/standalone/.next/static/chunks/app/page-6c0325e2d49a521e.js +0 -2
  508. package/dist/standalone/.next/static/chunks/framework-93cda6578f6c76ec.js +0 -1
  509. package/dist/standalone/.next/static/chunks/main-app-e6ff5fbff7d5b38f.js +0 -1
  510. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-d0de276a8c0b264e.js +0 -1
  511. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-d0de276a8c0b264e.js +0 -1
  512. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-2b3b5eea82b805ca.js +0 -1
  513. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-d0de276a8c0b264e.js +0 -1
  514. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d0de276a8c0b264e.js +0 -1
  515. package/dist/standalone/.next/static/chunks/webpack-7dc14fd5ff1227ce.js +0 -1
  516. package/dist/standalone/.next/static/css/b9bc533a63013ced.css +0 -1
  517. /package/dist/standalone/.next/static/{U4SZ1qekrUMw43qsp4kED → 5aZdjqUDNxpxX8nVsuO2S}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7563,exports.ids=[7563],exports.modules={57563:(a,b,c)=>{c.r(b),c.d(b,{default:()=>i});let d=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],e=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),f=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),g=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),h=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function i(a){let b=a.regex,c={IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:a.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:a.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}},i=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[c.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},c.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+f.join("|")+")"},{begin:":(:)?("+g.join("|")+")"}]},c.CSS_VARIABLE,{className:"attribute",begin:"\\b("+h.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[c.BLOCK_COMMENT,c.HEXCOLOR,c.IMPORTANT,c.CSS_NUMBER_MODE,...i,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...i,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},c.FUNCTION_DISPATCH]},{begin:b.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:e.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...i,c.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+d.join("|")+")\\b"}]}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7722,exports.ids=[7722],exports.modules={3359:(a,b,c)=>{c.d(b,{HJ:()=>h,QD:()=>k,X0:()=>l,qe:()=>i,s0:()=>j});var d=c(77598),e=c.n(d),f=c(89937),g=c(4012);let h=`Agent-initiated spawns require role; reviewer spawns also require reviews (the implementer conversation or transcript). The parent is inferred from the authenticated caller conversation; src stays optional verification. POST ${g.nP} with {engine, model, cwd, prompt, role, src?, reviews?}.`;function i(a,b){return a?.kind==="agent"?{parentConversationId:a.conversationId,role:b.role,reviews:b.reviews}:a?.kind==="operator"?{src:b.src,role:b.role,reviews:b.reviews}:b}function j(a){if("same-origin"!==a.headers.get("sec-fetch-site"))return!0;let b=a.headers.get("origin"),c=a.headers.get("host");if(!b||!c)return!0;try{return new URL(b).host!==c}catch{return!0}}function k(a,b){return j(a)?(void 0===b.src||"string"==typeof b.src&&b.src.trim())&&"string"==typeof b.role&&b.role.trim()&&("reviewer"!==b.role.trim()||"string"==typeof b.reviews&&b.reviews.trim())?null:h:null}function l(a,b,c){let d=a.headers.get(g.ab)?.trim()??"",h=d&&/^[A-Za-z0-9_-]{43}$/.test(d)?e().createHash("sha256").update(d).digest("hex"):"",i=c.conversationIdForSpawnCapabilityDigest(h);if(i){if(null!=b){let a="string"==typeof b?c.conversationForPath(b.trim()):null;if(!a||a.id!==i)return{error:"src must identify the authenticated caller conversation"}}return{kind:"agent",conversationId:i,liveChildrenCap:20}}try{if((0,f.jU)(d))return{kind:"operator",conversationId:null,liveChildrenCap:void 0}}catch(a){if(a instanceof f.Ib)return{error:a.message,status:503};throw a}return{error:`Agent spawn requests require ${g.ab}: $LLV_SPAWN_CAPABILITY from the caller launch.`}}},11831:(a,b,c)=>{function d(a){return{error:a.rejection.guidance,code:a.rejection.code,launchId:a.receipt.launchId,conversationId:a.receipt.conversationId,rejection:a.rejection}}function e(a,b){return"starting"===a.state||b&&"path-pending"===a.state?202:200}function f(a,b=a.artifactPath,c={}){let d="structured"===a.transport||null===a.transport&&!0===c.structured,e=(null!==a.verifiedHost||!0===c.structured&&"completed"===a.state)&&"failed"!==a.state&&"conflicted"!==a.state;return{ok:!0,target:a.pane?.paneId??a.target??null,path:b,...d&&"claude"===a.engine?{effectivePermissionMode:a.launchProfile.permissionMode??"default"}:{},launchId:a.launchId,conversationId:a.conversationId,parent:a.parentConversationId?{conversationId:a.parentConversationId,source:a.parentSource}:null,launched:e,retrySafe:"failed"===a.state,initialMessage:c.initialMessage??("failed"===a.state||"conflicted"===a.state?"failed":"completed"===a.state||"prompt-delivered"===a.state?"delivered":d&&"path-pending"===a.state?"queued":"pending"),...a.error?{error:a.error}:{},state:"conflicted"===a.state?"conflict":"failed"===a.state?"failed":"starting"===a.state||"pane-bound"===a.state?"starting":"host-verified"===a.state||"prompt-delivered"===a.state||"path-pending"===a.state?"path-pending":"settled"}}c.d(b,{AU:()=>f,UH:()=>d,Xl:()=>e})},67722:(a,b,c)=>{c.d(b,{executeSpawnRequest:()=>ab,b:()=>$,r:()=>aa});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(23211),k=c(41617),l=c(78966),m=c(86850),n=c(74382),o=c(14509),p=c(29733),q=c(58152),r=c(10230),s=c(61971),t=c(4837),u=c(99411),v=c(21241),w=c(77598),x=c.n(w);function y(a){return x().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function z(a){return"string"==typeof a.parentConversationId?{conversationId:a.parentConversationId}:"string"==typeof a.parent?{path:a.parent}:"string"==typeof a.src?{path:a.src}:null}var A=c(48892),B=c(94896),C=c(79511),D=c(11831),E=c(4012),F=c(42087),G=c(16089),H=c(26474),I=c(35961),J=c(3127),K=c(63629),L=c(68512),M=c(50201),N=c(32372),O=c(41022),P=c(45656),Q=c(43384),R=c(73984),S=c(33282),T=c(70107),U=c(92094),V=c(27471);let W={transcriptAllowed:B.FK,readCwd:a=>(0,G.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var X=c(3359),Y=c(5602);class Z extends Error{}let $={registry:p.tk,resolveHealthySpawnAccount:m.ax,resolveSpawnAccount:(a,b)=>m.lD.resolveSpawn(a,b),runtimeHostClient:J.sS,publishFilesRevision:L.G,spawnStructuredConversation:P.sh,assertStructuredRuntime:v.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,N.PF)().putMany(a),adoptPipelineAttemptFromSource:R.F_,pipelineAttemptTargetForSource:R.RO};function _(a,b,c){!b||a.includes(b)||c&&(0,T.hY)(b)!==c||a.push(b)}async function aa(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=W){if(!a||!b.transcriptAllowed(a))return{cwd:null,cwdExists:!1};let c=b.readCwd(a);return{cwd:c,cwdExists:!!(c&&b.isDirectory(c))}}(a.nextUrl.searchParams.get("src")),e=(await (0,S.CS)()).filter(a=>a.path.endsWith(".jsonl")&&("claude-projects"===a.root||"codex-sessions"===a.root)).filter(a=>!a.path.includes(i().sep+"subagents"+i().sep)).sort((a,c)=>Number(c.project===b)-Number(a.project===b)||c.mtime-a.mtime).slice(0,80),f=c?[c]:[];if(!c)for(let a of(0,U.Xi)(b,10))_(f,a,b);for(let a of e){if(f.length>=10)break;b&&a.project!==b||_(f,(0,G.tX)(a.path,{requireDir:!0}),b)}f.length||f.push(g().homedir());let h=(0,Q.l)();return j.NextResponse.json({dirs:f,cwd:c,cwdExists:d,spawnTransport:h,imageInput:{claude:(0,N.ki)("claude","structured"===h),codex:(0,N.ki)("codex","structured"===h&&(0,t.JL)(null))}})}async function ab(a,b=$){var c;let d,f,h,m=(0,I.W)(a);if(m)return m;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let v=(0,r.t3)(d.mcpServers);if(!v.ok)return j.NextResponse.json({error:v.error},{status:400});let w=void 0===d.mcpServers?null:v.value,x=(0,s.jh)(d.plugins);if(!x.ok)return j.NextResponse.json({error:x.error},{status:400});let G=(0,X.QD)(a,d);if(G)return j.NextResponse.json({error:G},{status:400});let L=(0,X.s0)(a);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let N=(0,u.s8)(d);if(!N.ok)return j.NextResponse.json({error:N.error},{status:400});if(N.value?.role==="reviewer"&&("string"!=typeof d.reviews||!d.reviews.trim()))return j.NextResponse.json({error:"reviewer requires reviews"},{status:400});if(N.value?.role!=="reviewer"&&void 0!==d.reviews)return j.NextResponse.json({error:"reviews requires role: reviewer"},{status:400});if(N.value&&(0,C.n4)(N.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${N.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let R="claude"===d.engine||"codex"===d.engine?d.engine:N.value?.config.engine??null;if(!R)return j.NextResponse.json({error:"engine must be claude or codex"},{status:400});if(void 0!==d.accountId&&"string"!=typeof d.accountId)return j.NextResponse.json({error:"accountId must be a string"},{status:400});if(void 0!==d.clientAttemptId&&("string"!=typeof d.clientAttemptId||!/^[A-Za-z0-9_-]{8,128}$/.test(d.clientAttemptId)))return j.NextResponse.json({error:"clientAttemptId must be 8-128 URL-safe characters"},{status:400});let S=(0,q.BL)(R,{...d,effort:void 0===d.effort?N.value?.config.effort:d.effort});if(S.error)return j.NextResponse.json({error:S.error},{status:400});let T=(0,t.wi)({model:void 0===d.model?N.value?.config.model:d.model});if(T.error)return j.NextResponse.json({error:T.error},{status:400});let U="string"==typeof d.prompt?d.prompt.trim():"",W=N.value?[N.value.scaffold,U].filter(Boolean).join("\n\n"):U,{images:_,error:aa}=(0,V.Fu)(d);if(aa)return j.NextResponse.json({error:aa.error},{status:aa.status});try{f=(0,Q.l)()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}if("structured"===f){try{b.assertStructuredRuntime()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:503})}let a=(0,Q.H)({engine:R,model:T.model,hasImages:_.length>0,fast:S.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,O.h1)(W)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let ac=b.registry(),ad=null;if(L){let b=(0,X.X0)(a,d.src,ac);if("error"in b)return j.NextResponse.json({error:b.error},{status:b.status??403});ad=b}if(L&&!0===d.allowSubagents&&ad?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let ae=null;if(void 0!==d.project&&null!==d.project){if(!(ae="string"==typeof d.project?(0,n.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(L&&ad?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let af=null;if(void 0!==d.supersedes&&null!==d.supersedes){if("string"!=typeof d.supersedes||!d.supersedes.trim())return j.NextResponse.json({error:"supersedes must name a conversation id or transcript path"},{status:400});let a=d.supersedes.trim(),b=a.startsWith("conversation_")?ac.conversation(a):ac.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=ac.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});af=b.id}let ag="string"==typeof d.cwd?d.cwd.trim():"";if(!ag)return j.NextResponse.json({error:"working directory is required"},{status:400});let ah=i().resolve("~"===ag||ag.startsWith("~/")?i().join(g().homedir(),ag.slice(1)):ag);try{h=e().statSync(ah)}catch{return j.NextResponse.json({error:`directory does not exist: ${ah}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${ah}`},{status:400});let ai=[],aj=null;try{let a="string"==typeof d.clientAttemptId?d.clientAttemptId:null,g=a?ac.spawnReceiptForClientAttempt(a):null,h=g&&void 0===d.accountId&&null!==g.accountId?b.resolveSpawnAccount(g.engine,g.accountId):await b.resolveHealthySpawnAccount(R,d.accountId),k=(0,B.bs)((0,X.qe)(ad,{...d,role:N.value?.role}),ac),m=k.parent,q=k.reviewed?.conversationId??null;if(L&&ad?.kind==="agent"&&!m)return j.NextResponse.json({error:X.HJ},{status:400});let t=ad?.kind==="agent"?"string"==typeof d.src&&!!d.src.trim():"string"==typeof d.src&&!!d.src.trim()||"string"==typeof d.parent&&!!d.parent.trim()||void 0!==d.parentConversationId||"string"==typeof d.reviews&&!!d.reviews.trim(),u=m?t?"explicit":"inferred-caller":null,v=m?.conversationId??null,C="string"==typeof d.src&&d.src.trim()?v:null,G=m?.sessionKey??null,I=m?.artifactPath??null,O=(0,s.GU)({origin:{kind:ad?.kind==="agent"?"agent":"operator"},parentConversationId:v,agentRole:N.value?.role??null}),Q=(0,s.wE)({engine:R,origin:O,requested:x.value}),Y=(0,r.Mt)({origin:O,requested:w}),$=(c={engine:R,cwd:ah,model:T.model,effort:S.effort,fast:S.fast,accountId:h.accountId,role:N.value?.role??null,mcpServers:Y,...Q.length?{plugins:Q}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...ae?{project:ae}:{},parent:z({parentConversationId:v??void 0}),...q?{reviews:z({parentConversationId:q})}:{},...af?{supersedes:z({parentConversationId:af})}:{},prompt:W,images:_.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},y(b))}})},y(c)),aa=C&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(C):null,ab=(0,o.lV)(R,ah,{model:T.model,effort:S.effort,fast:S.fast,codexHome:"codex"===R?h.home:null,claudeConfigDir:"claude"===R?h.home:null,claudeProjectsDir:"claude"===R?h.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:Y,deferClaudeSpawnPolicy:!0}),ag="claude"===R&&"structured"===f?(0,P.eK)(ab.launchProfile?.permissionMode,{agentInitiated:L,operatorAuthenticated:ad?.kind==="operator",roleSpawn:!!N.value}):ab.launchProfile?.permissionMode,ak={...ab,launchProfile:(0,n.Ui)({...ab.launchProfile??{},cwd:ah,parentConversationId:v,allowSubagents:!0===d.allowSubagents,mcpServers:Y,plugins:Q,permissionMode:ag,...ae?{project:ae}:{}})},al=ac.beginSpawnRequest({engine:R,cwd:ah,transport:f,accountId:h.accountId,parentConversationId:v,parentSource:u,parentSessionKey:G,parentArtifactPath:I,role:N.value?.role??null,reviewsConversationId:q,explicitProject:ae,supersedes:af,supersedesReason:"recovery-spawn",liveChildrenCap:ad?.liveChildrenCap,origin:ad?.kind==="agent"?{kind:"agent",conversationId:ad.conversationId}:{kind:"operator"},launchProfile:ak.launchProfile,clientAttemptId:a,requestDigest:$,launchDisplay:U.trim()||_.length?{prompt:U,images:_.length,echo:W}:null,memberships:aa&&C?[{kind:"pipeline",containerId:aa.pipelineId,role:aa.role,slot:`adopt:${aa.stageId}:${$.slice(0,24)}`,stageId:aa.stageId,stageOrder:aa.stageOrder,round:null,parentConversationId:C,runtime:{engine:R,model:ak.launchProfile.model,effort:ak.launchProfile.effort}}]:[]});if("conflict"===al.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});let am=async(a,c)=>{if(!C||!b.adoptPipelineAttemptFromSource)return;let d=ac.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(C,{launchId:d.launchId,conversationId:d.conversationId,sessionId:d.key?.sessionId??null,agentPath:c,paneId:d.verifiedHost?.paneId??d.pane?.paneId??null,startedAt:d.createdAt,runtime:{engine:d.engine,model:d.launchProfile.model,effort:d.launchProfile.effort}})}catch(a){console.error("[spawn] pipeline attempt adoption failed",{launchId:d.launchId,conversationId:d.conversationId,sourceConversationId:C,error:a})}},an=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:R,receipt:a,spec:ak,account:h,prompt:W,imageRefs:d,registry:ac,client:c})}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof J.Hr&&ac.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(I&&f.path)try{(0,H.A6)(f.path,I),(0,H.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:I,error:b})}if(f.path&&await am(a,f.path),f.path&&e().existsSync(f.path))try{await b.publishFilesRevision?.(c)}catch(b){console.error("[spawn] transcript materialization refresh failed",{launchId:a.launchId,conversationId:a.conversationId,artifactPath:f.path,error:b})}})};if("replay"===al.kind){let a,c="structured"===al.receipt.transport||null===al.receipt.transport&&!!(al.receipt.key&&ac.readOnlySnapshot().entries[(0,A.pp)(al.receipt.key)]?.structuredHost),d=al.receipt,e=c?b.runtimeHostClient():null;if(e){try{let b=await (0,P.reconcileStructuredSpawnReplay)(d.launchId,ac,e);d=b,a=b.initialMessage}catch{}let c=ac.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages(_)}catch(a){throw c.receipt.admissionOwner&&ac.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new Z(a instanceof Error?a.message:String(a))}an(d,e,a)}}d.artifactPath&&await am(d,d.artifactPath);let f=(0,D.AU)(d,d.artifactPath,{structured:c,initialMessage:a});return j.NextResponse.json(f,{status:(0,D.Xl)(f,c)})}if(aj=al.receipt.launchId,"claude"===R&&"tmux"===f){let a=i().basename(ak.transcript??"",".jsonl");(0,l.fg)(h.home)&&(0,E.DV)(h.home,ah),(0,E.UI)(h.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(h.home)?(0,l.ZK)():null,profileId:a,cwd:ah,mcpServers:Y,mcpStatePath:"managed"===h.kind?i().join(h.home,".claude.json"):i().join(i().dirname(h.home),".claude.json")})}if("structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages(_)}catch(a){throw new Z(a instanceof Error?a.message:String(a))}return an(al.receipt,c,a),j.NextResponse.json((0,D.AU)(al.receipt,al.receipt.artifactPath,{structured:!0}),{status:202})}let ao=(0,V.Am)(W,_);ai=ao.imagePaths;let ap=(0,M.Zn)()?b.runtimeHostClient():null,aq=ap?al.receipt.launchId:null;if(ap&&aq)try{await ap.operation({scope:(0,K.zV)("operation",aq),kind:"spawn.intent",operationId:aq,producerKey:`viewer-spawn:${aq}`,payload:{engine:R,cwd:ah,accountId:h.accountId,parentConversationId:v}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),ap=null}let ar=Date.now(),as=await (0,V.Tk)(ak,ao.payload,al.receipt),at=await (0,F.s)({engine:R,knownTranscript:ak.transcript??null,panePid:as.panePid??null,cwd:ah,startedAtMs:ar,codexSessionsDir:"codex"===R?h.transcriptRoot:null}),au=at?(0,A.sz)(R,at):null;if(!as.host||!await (0,V.PB)(as.host)){(0,p.tk)().invalidateSpawnHost(al.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,p.tk)().readOnlySnapshot().receipts[al.receipt.launchId];return j.NextResponse.json((0,D.AU)(a,at))}if(!at||!au||!as.receipt){let a=(0,p.tk)().markSpawnPathPending(al.receipt.launchId);return j.NextResponse.json((0,D.AU)(a,null))}let av=(0,p.tk)().settleSpawn(as.receipt.launchId,{key:au,artifactPath:at,cwd:ah,accountId:h.accountId,status:"starting",host:as.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===av.kind)return j.NextResponse.json((0,D.AU)(av.receipt));if(await am(av.receipt,at),ap&&aq)try{await ap.append({scope:(0,K.zV)("edge",aq),kind:"edge.created",producerKey:`viewer-spawn-edge:${aq}`,payload:{edge:"viewer_spawn",childConversationId:av.conversation.id,parentConversationId:v,operationId:aq}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(I&&(at&&(0,H.A6)(at,I),(0,H.OA)()),!await (0,V.PB)(as.host)){(0,p.tk)().invalidateSpawnHost(al.receipt.launchId,"spawn host disappeared before API response");let a=(0,p.tk)().readOnlySnapshot().receipts[al.receipt.launchId];return j.NextResponse.json((0,D.AU)(a,at))}return j.NextResponse.json((0,D.AU)(av.receipt,at))}catch(c){let a=aj?(0,p.tk)().readOnlySnapshot().receipts[aj]:null;if(a&&null!==a.pane||(a&&(0,p.tk)().failSpawn(a.launchId,"spawn failed before pane binding"),(0,V.IJ)(ai)),c instanceof B.eX)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof C.Jc)return j.NextResponse.json((0,D.UH)(c),{status:403});if(c instanceof p.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof Z)return j.NextResponse.json({error:c.message},{status:503});if(c instanceof k.m1||c instanceof l.UV)return j.NextResponse.json({error:c.message},{status:400});let b=c instanceof Y.KP?j.NextResponse.json({error:c.message,retrySafe:!0},{status:503}):null;if(b)return b;if(a?.pane){("prompt-delivered"===a.state||"host-verified"===a.state)&&(0,p.tk)().markSpawnPathPending(a.launchId);let b=(0,p.tk)().readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json((0,D.AU)(b,b.artifactPath))}return j.NextResponse.json({error:c instanceof Error?c.message:String(c)},{status:500})}}},92094:(a,b,c)=>{c.d(b,{Qf:()=>q,Xi:()=>p});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(52509),j=c(70107);let k=["project-catalog.json","flows.json","pipelines.json","workflows.json","worktree-map.json"],l=(0,i.E)("project-directories-v2");function m(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function n(a,b,c){if(!(!a||"object"!=typeof a||Array.isArray(a)))for(let d of b){let b=a[d];"string"==typeof b&&b.trim()&&c.add(b)}}function o(){let a=(0,h.Pn)(),b=k.map(b=>{let c=g().join(a,b);try{let a=e().statSync(c);return`${b}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`}catch{return`${b}:missing`}}).join("|"),c=l.get(a);if(c&&c.expiresAt>Date.now()&&c.stateIdentity===b)return c.directories;let d=[],f=new Set;for(let b of function(a){let b=new Set,c=m(g().join(a,"project-catalog.json"))?.files;if(c&&"object"==typeof c&&!Array.isArray(c))for(let a of Object.values(c))n(a,["cwd","projectRoot"],b);for(let[c,d,e]of[["flows.json","flows",["cwd"]],["pipelines.json","pipelines",["repoDir","worktreeDir"]],["workflows.json","workflows",["repoDir","worktreeDir"]]]){let f=m(g().join(a,c))?.[d];if(Array.isArray(f))for(let a of f)n(a,e,b)}let d=m(g().join(a,"worktree-map.json"));if(d)for(let[a,c]of Object.entries(d))b.add(a),n(c,["repo"],b);return[...b]}(a)){try{if(!e().statSync(b).isDirectory())continue}catch{continue}let a=(0,j.hY)(b),c=(0,j.D$)(b),g=a?`${a}\0${b}`:"";!a||!c||f.has(g)||(f.add(g),d.push({cwd:b,project:a,projectRoot:c}))}return l.set(a,{directories:d,expiresAt:Date.now()+1e4,stateIdentity:b}),d}function p(a,b=10){return a?o().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}function q(a){let b=new Set([...a].filter(Boolean)),c={};for(let a of o())b.has(a.project)&&!c[a.project]&&(c[a.project]=a.projectRoot);return c}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8140,exports.ids=[8140],exports.modules={78140:(a,b,c)=>{function d(a){let b=a.regex,c=/[\p{XID_Start}_]\p{XID_Continue}*/u,d=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],e={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:d,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},g={className:"subst",begin:/\{/,end:/\}/,keywords:e,illegal:/#/},h={begin:/\{\{/,relevance:0},i={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[a.BACKSLASH_ESCAPE,f,h,g]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[a.BACKSLASH_ESCAPE,h,g]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[a.BACKSLASH_ESCAPE,h,g]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE]},j="[0-9](_?[0-9])*",k=`(\\b(${j}))?\\.(${j})|\\b(${j})\\.`,l=`\\b|${d.join("|")}`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${j})|(${k}))[eE][+-]?(${j})[jJ]?(?=${l})`},{begin:`(${k})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${l})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${l})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${l})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${l})`},{begin:`\\b(${j})[jJ](?=${l})`}]},n={className:"comment",begin:b.lookahead(/# type:/),end:/$/,keywords:e,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},o={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,contains:["self",f,m,i,a.HASH_COMMENT_MODE]}]};return g.contains=[i,m,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:e,illegal:/(<\/|\?)|=>/,contains:[f,m,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},i,n,a.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,c],scope:{1:"keyword",3:"title.function"},contains:[o]},{variants:[{match:[/\bclass/,/\s+/,c,/\s*/,/\(\s*/,c,/\s*\)/]},{match:[/\bclass/,/\s+/,c]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,o,i]}]}}c.r(b),c.d(b,{default:()=>d})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8176,exports.ids=[8176],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)}}},21153:(a,b,c)=>{c.d(b,{Pf:()=>x,h6:()=>u,z4:()=>w});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(2033),m=c(49729);let n=(0,j.BQ)("tasks.json");function o(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,JSON.stringify(b,null,2)+"\n","utf8"),g().renameSync(c,a)}function p(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)}function q(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&(void 0===a.launchId||"string"==typeof a.launchId||null===a.launchId)&&(void 0===a.clientAttemptId||"string"==typeof a.clientAttemptId||null===a.clientAttemptId)&&(void 0===a.conversationId||"string"==typeof a.conversationId||null===a.conversationId)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b||"handoff"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function r(a){return"pinned"===a||"unplaced"===a||"auto"===a}function s(a){var b,c,d;let e,f;if(!a||"object"!=typeof a||Array.isArray(a)||!("string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&(void 0===a.placement||r(a.placement))&&(void 0===a.pos||p(a.pos))&&(e=void 0!==a.dueAt,f=void 0!==a.dueTz,!e&&!f||"string"==typeof a.dueAt&&"string"==typeof a.dueTz)&&(void 0===(c=a.attachments)||Array.isArray(c)&&c.every(m.tK))&&Array.isArray(a.assignments)&&a.assignments.every(q)&&(void 0===a.source||!(!(d=a.source)||"object"!=typeof d||Array.isArray(d))&&"string"==typeof d.path&&("string"==typeof d.ts||null===d.ts)&&"string"==typeof d.text&&"string"==typeof d.fingerprint&&("claude"===d.engine||"codex"===d.engine))&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt))return null;let g=p(a.pos),h=r(a.placement)?a.placement:g?"pinned":"unplaced";return{id:a.id,project:(0,k.G$)(a.project),status:a.status,text:a.text,placement:"pinned"!==h||g?h:"unplaced",..."pinned"===h&&g?{pos:a.pos}:{},...void 0!==a.dueAt?{dueAt:a.dueAt,dueTz:a.dueTz}:{},...void 0!==a.attachments?{attachments:a.attachments}:{},assignments:a.assignments,...void 0!==a.source?{source:a.source}:{},createdAt:a.createdAt,updatedAt:a.updatedAt}}function t(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.clientRequestId&&"string"==typeof a.taskId}function u(a=n){return v(a).tasks}function v(a=n){let b=function(a){try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{return null}}(a);return{tasks:Array.isArray(b?.tasks)?b.tasks.map(s).filter(a=>null!==a):[],recentCreates:Array.isArray(b?.recentCreates)?b.recentCreates.filter(t):[]}}function w(a,b=n){return(0,l.Ol)(b,"task state is busy",()=>{let c=v(b),d=a(c.tasks);return d.tasks&&o(b,c.recentCreates.length?{tasks:d.tasks,recentCreates:c.recentCreates}:{tasks:d.tasks}),d.result})}function x(a,b=n){return(0,l.Ol)(b,"task state is busy",()=>{let c=a(v(b));return c.state&&o(b,c.state.recentCreates.length?{tasks:c.state.tasks,recentCreates:c.state.recentCreates}:{tasks:c.state.tasks}),c.result})}},49729:(a,b,c)=>{c.d(b,{L0:()=>p,tK:()=>n,Gm:()=>q,nw:()=>r,Bx:()=>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(91724),k=c(99410);let l=new Set(["png","jpg","gif","webp"]),m={png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp"};function n(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&a.id.length>0&&"string"==typeof a.sha256&&/^[0-9a-f]{64}$/.test(a.sha256)&&"string"==typeof a.ext&&l.has(a.ext)&&"string"==typeof a.mime&&null!==(0,k.PG)(a.mime)&&"number"==typeof a.bytes&&Number.isFinite(a.bytes)&&a.bytes>0&&"string"==typeof a.createdAt}function o(){return(0,j.BQ)("attachments","tasks")}function p(a){return i().join(o(),`${a.sha256}.${a.ext}`)}function q(a,b){if(!/^[0-9a-f]{64}$/.test(a)||!l.has(b))return null;let c=p({sha256:a,ext:b});try{return{data:g().readFileSync(c),mime:m[b]}}catch{return null}}function r(a,b,c,d=e().randomUUID()){let f=(0,k.PG)(b);if(null===f||!l.has(f))return{ok:!1,error:"unsupported image type",status:400};if(0===a.length)return{ok:!1,error:"empty image",status:400};if(a.length>k.YP)return{ok:!1,error:"image is too large",status:413};let h={id:d,sha256:e().createHash("sha256").update(a).digest("hex"),ext:f,mime:b,bytes:a.length,createdAt:c},j=p(h);if(!g().existsSync(j)){g().mkdirSync(i().dirname(j),{recursive:!0});let b=`${j}.${process.pid}.${e().randomUUID()}.tmp`;g().writeFileSync(b,a),g().renameSync(b,j)}return{ok:!0,attachment:h}}function s(a,b,c=o()){try{let d=function(a){let b=new Set;for(let c of a)for(let a of c.attachments??[])b.add(a.sha256);return b}(a);for(let a of g().readdirSync(c)){let e=a.replace(/\.[^.]+$/,"");if(d.has(e))continue;let f=i().join(c,a);try{let a=g().statSync(f);if(b-a.mtimeMs<6048e5)continue;g().unlinkSync(f)}catch{}}}catch{}}},60641:(a,b,c)=>{function d(){return new Date().toISOString()}function e(a){return(a.split(/\r?\n/,1)[0]?.trim()??"")||"Untitled"}function f(a,b){return`Task #${a.slice(0,8)}: ${b}`}c.d(b,{Ec:()=>d,F7:()=>f,bO:()=>e})},90748:(a,b,c)=>{c.d(b,{O6:()=>s,UT:()=>m,Xb:()=>p,fW:()=>r,mQ:()=>n,vq:()=>o,yy:()=>q});var d=c(77598),e=c.n(d),f=c(49729),g=c(60641);function h(a){return"string"!=typeof a?null:a.trim()||null}function i(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)?{x:a.x,y:a.y}:null}function j(a){return"pinned"===a||"unplaced"===a?a:null}function k(a,b){let c=null!=a,d=null!=b;if(!c&&!d)return{ok:!0};if(c!==d)return{ok:!1,error:"dueAt and dueTz must be set together"};if("string"!=typeof a||"string"!=typeof b)return{ok:!1,error:"invalid deadline"};let e=Date.parse(a);return Number.isFinite(e)?!function(a){try{return new Intl.DateTimeFormat(void 0,{timeZone:a}),!0}catch{return!1}}(b)?{ok:!1,error:"invalid dueTz"}:{ok:!0,dueAt:new Date(e).toISOString(),dueTz:b}:{ok:!1,error:"invalid dueAt"}}function l(){return{ok:!1,error:"Task text must be no longer than 6000 characters",status:400}}function m(a,b,c=[],d={}){var n,o;let p="string"!=typeof(o=b.project)?null:o.trim()||null;if(!p)return{ok:!1,error:"project is required",status:400};let q=h(b.text);if(!q)return{ok:!1,error:"task text is required",status:400};if(q.length>6e3)return l();let r="string"==typeof b.clientRequestId&&b.clientRequestId.trim()?b.clientRequestId.trim():null;if(r){let b=c.find(a=>a.clientRequestId===r);if(b){let d=a.find(a=>a.id===b.taskId);if(d)return{ok:!0,tasks:a,task:d,recentCreates:c,replay:!0}}}let s=i(b.pos);if(void 0!==b.pos&&null!==b.pos&&!s)return{ok:!1,error:"invalid task position",status:400};let t=j(b.placement)??(s?"pinned":null);if(void 0!==b.placement&&null===t)return{ok:!1,error:"invalid placement",status:400};if("pinned"===t&&!s)return{ok:!1,error:"task position is required",status:400};if("unplaced"===t&&s)return{ok:!1,error:"unplaced task must not carry a position",status:400};if(null===t)return{ok:!1,error:"task position is required",status:400};let u=k(b.dueAt,b.dueTz);if(!u.ok)return{ok:!1,error:u.error,status:400};let v=function(a,b){if(null==a)return{ok:!0};if(!Array.isArray(a))return{ok:!1,error:"invalid attachments",status:400};if(0===a.length)return{ok:!0};let c=[];for(let d of a){if(!(0,f.tK)(d))return{ok:!1,error:"invalid attachment ref",status:400};if(!b(d))return{ok:!1,error:"attachment not found in store",status:400};c.push(d)}return{ok:!0,attachments:c}}(b.attachments,d.attachmentExists??(()=>!0));if(!v.ok)return v;let w=void 0===(n=b.source)?void 0:!n||"object"!=typeof n||Array.isArray(n)?null:"string"==typeof n.path&&n.path.trim()&&(null===n.ts||"string"==typeof n.ts)&&"string"==typeof n.text&&n.text.trim()&&"string"==typeof n.fingerprint&&n.fingerprint.trim()&&("claude"===n.engine||"codex"===n.engine)?{path:n.path,ts:n.ts,text:n.text,fingerprint:n.fingerprint,engine:n.engine}:null;if(null===w)return{ok:!1,error:"invalid task source",status:400};if(a.filter(a=>a.project===p).length>=300)return{ok:!1,error:"The project already has 300 tasks. Close or delete extra tasks.",status:409};let x=d.now?.()??(0,g.Ec)(),y=d.id?.()??e().randomUUID(),z={id:y,project:p,status:"inbox",text:q,placement:t,..."pinned"===t&&s?{pos:s}:{},...u.dueAt?{dueAt:u.dueAt,dueTz:u.dueTz}:{},...v.attachments?{attachments:v.attachments}:{},...w?{source:w}:{},assignments:[],createdAt:x,updatedAt:x};return{ok:!0,tasks:[...a,z],task:z,recentCreates:r?[...c,{clientRequestId:r,taskId:y}].slice(-100):c,replay:!1}}function n(a,b,c,d=(0,g.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"task not found",status:404};let f=a[e],m={};if(Object.hasOwn(c,"text")){let a=h(c.text);if(!a)return{ok:!1,error:"task text is required",status:400};if(a.length>6e3)return l();m.text=a}if(Object.hasOwn(c,"status")){var o;let a="inbox"===(o=c.status)||"assigned"===o||"blocked"===o||"done"===o?o:null;if(!a)return{ok:!1,error:"invalid task status",status:400};m.status=a}if(Object.hasOwn(c,"pos")){let a=i(c.pos);if(!a)return{ok:!1,error:"invalid task position",status:400};m.pos=a,m.placement="pinned"}if(Object.hasOwn(c,"placement")){let a=j(c.placement);if(!a)return{ok:!1,error:"invalid placement",status:400};if("pinned"===a&&!m.pos&&!f.pos)return{ok:!1,error:"task position is required",status:400};m.placement=a}if(Object.hasOwn(c,"dueAt")||Object.hasOwn(c,"dueTz"))if(null===c.dueAt&&void 0===c.dueTz)m.dueAt=void 0,m.dueTz=void 0;else{let a=k(c.dueAt,c.dueTz);if(!a.ok)return{ok:!1,error:a.error,status:400};m.dueAt=a.dueAt,m.dueTz=a.dueTz}let p={...f,...m,updatedAt:d};Object.hasOwn(m,"dueAt")&&void 0===m.dueAt&&(delete p.dueAt,delete p.dueTz),"unplaced"===p.placement&&delete p.pos;let q=a.slice();return q[e]=p,{ok:!0,tasks:q,task:p}}function o(a,b){let c=a.filter(a=>a.id!==b);return c.length===a.length?{ok:!1,error:"task not found",status:404}:{ok:!0,tasks:c}}function p(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={};return"string"==typeof a.launchId&&a.launchId.trim()&&(b.launchId=a.launchId.trim()),"string"==typeof a.path&&a.path.trim()&&(b.path=a.path.trim()),"string"==typeof a.conversationId&&a.conversationId.trim()&&(b.conversationId=a.conversationId.trim()),"number"==typeof a.panePid&&Number.isInteger(a.panePid)&&a.panePid>0&&(b.panePid=a.panePid),null!=b.launchId||null!=b.conversationId||null!=b.path||null!=b.panePid?b:null}function q(a,b,c,d=(0,g.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"task not found",status:404};let f="string"==typeof c?{path:c}:c,h=a[e],i=h.assignments.filter(a=>null!=f.launchId?a.launchId!==f.launchId:null!=f.conversationId?a.conversationId!==f.conversationId:null!=f.path?a.path!==f.path:null==f.panePid||a.panePid!==f.panePid);if(i.length===h.assignments.length)return{ok:!0,tasks:a,task:h};let j={...h,assignments:i,updatedAt:d},k=a.slice();return k[e]=j,{ok:!0,tasks:k,task:j}}function r(a,b){return a.find(a=>a.engine===b&&"string"==typeof a.accountId)?.accountId??null}function s(a,b,c,d=(0,g.Ec)()){let e=a.findIndex(a=>a.id===b);if(e<0)return{ok:!1,error:"task not found",status:404};let f=a[e],h=function(a,b){let c=a.slice();for(let a of b){let b=c.findIndex(b=>a.launchId&&b.launchId?b.launchId===a.launchId:null!==a.path&&b.path===a.path||null===a.path&&null!==a.panePid&&null===b.path&&b.panePid===a.panePid),d=b>=0?c[b]:void 0,e=void 0!==a.launchId?a.launchId:d?.launchId,f=void 0!==a.clientAttemptId?a.clientAttemptId:d?.clientAttemptId,g=void 0!==a.conversationId?a.conversationId:d?.conversationId,h={...void 0!==e?{launchId:e}:{},...void 0!==f?{clientAttemptId:f}:{},path:a.path,...void 0!==g?{conversationId:g}:{},panePid:a.panePid,state:a.state,error:a.error,at:a.at,...void 0!==a.accountId?{accountId:a.accountId}:{},...void 0!==a.engine?{engine:a.engine}:{}};c=b>=0?[...c.slice(0,b),h,...c.slice(b+1)]:[...c,h]}return c}(f.assignments,c),i=h.some(a=>"delivered"===a.state||"spawning"===a.state||"handoff"===a.state),j=f.status;("inbox"===j||"assigned"===j)&&(j=i?"assigned":"inbox");let k={...f,status:j,assignments:h,updatedAt:d},l=a.slice();return l[e]=k,{ok:!0,tasks:l,task:k}}},99410:(a,b,c)=>{c.d(b,{PG:()=>f,YP:()=>e});let d={"image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/webp":"webp"},e=0xa00000;function f(a){return d[a]??null}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8444,exports.ids=[8444],exports.modules={20208:(a,b,c)=>{c.d(b,{wj:()=>t,uh:()=>s,KZ:()=>o});var d=c(38349),e=c(31421),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var k=c(65281);function l(){return new DOMException("file scan cancelled","AbortError")}function m(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let n=globalThis;function o(a,b={},c=new AbortController().signal){let f={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(q(c.reason));if(!function(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}())return(0,d.SW)(void 0,{...f,signal:c}).then(a=>{if(c.aborted)throw q(c.reason);return a});let{onResourceSnapshot:h,...n}=f;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(l());let d=c.launch??function(a=process.cwd()){let b=i().join(a,"src/lib/fileScanner.worker.ts"),c=i().join(a,".next/server/file-scanner-worker.js");return g().existsSync(b)&&g().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:g().existsSync(c)?{executable:process.execPath,workerPath:c}:{executable:process.execPath,workerPath:b}}(c.cwd),f=void 0===c.launch&&g().existsSync("/usr/bin/nice"),h=(0,e.spawn)(f?"/usr/bin/nice":d.executable,[...f?["-n","10",d.executable]:[],d.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,k.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let f,g=c.scheduler??j,i=!1,k=!1,n="",o="",p=0,q=null,r=null,s=(a,b)=>{i||(i=!0,void 0!==f&&(g.clearTimeout(f),f=void 0),k&&(c.signal?.removeEventListener("abort",v),k=!1),a?e(a):d(b))},t=a=>{if(!i&&!r){r=a;try{h.kill("SIGKILL")}catch{}(null!==h.exitCode||null!==h.signalCode)&&s(a)}},u=a=>{t(Error(a))},v=()=>t(l()),w=()=>{for(;;){let a,c=n.indexOf("\n");if(c<0)return;let d=n.slice(0,c);if(n=n.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{u("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return m(a)&&("resource"===a.type||"complete"===a.type)&&m(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void u("file scanner worker emitted an invalid message");"resource"===e.type?b?.(e.snapshot):q=e.snapshot}};f=g.setTimeout(()=>{f=void 0,u("file scanner worker timed out")},c.timeoutMs??3e5),h.once("error",a=>s(a)),h.stdout.setEncoding("utf8"),h.stdout.on("data",a=>{(p+=Buffer.byteLength(a))>0x2000000?u("file scanner worker exceeded output limit"):(n+=a,w())}),h.stderr.setEncoding("utf8"),h.stderr.on("data",a=>{o=`${o}${a}`,Buffer.byteLength(o)>4096&&(o=Buffer.from(o).subarray(-4096).toString("utf8"))}),h.once("close",(a,b)=>{if(!i){if(r)return void s(r);if(w(),0!==a||!q){let c=o.trim();s(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}s(void 0,q)}}),h.stdin.once("error",a=>{r||s(a)}),c.signal&&(c.signal.addEventListener("abort",v,{once:!0}),k=!0,c.signal.aborted&&v()),h.stdin.end(JSON.stringify({type:"scan",options:a}))})}(n,h,{signal:c})}let p=(a,b)=>o(a,{},b);function q(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function r(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(q()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(q())}async function s(a={},b=p){var c,d;let e=n.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw q(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,i=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(r(e,i),Promise.reject(q(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,r(e,i))},g=()=>{f(),b(q(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function t(){return s({persist:!0})}},58444:(a,b,c)=>{c.d(b,{Nm:()=>D,TF:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(842),l=c(28976),m=c(88430),n=c(90136),o=c(20208);let p="files-scan-snapshot.json",q=-1/0,r=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||!!s(b=a.authoritativeTurn)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(p),"utf8"));if(!s(a)||1!==a.version||9!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){return s(a)&&"promise"in a?w(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function x(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function y(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}async function z(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function A(a,b,c,d,f){let h=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,k="ordinary"===c||"cold"===c;return z(a,b,c,async()=>{let c=await (0,o.uh)({fresh:h,join:k,signal:f},(b,c)=>(0,o.KZ)(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&function(a){let b,c="create state directory",d=(0,j.BQ)(p);try{let f=(0,j.BQ)(p);d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary snapshot",d=b,g().writeFileSync(b,JSON.stringify({version:1,schemaVersion:9,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=f,g().renameSync(b,f)}catch(e){if(void 0!==b)try{g().unlinkSync(b)}catch{}let a=Date.now();if(a-q>=6e4){q=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,h&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function B(a,b,c,d){let e=performance.now(),f=b?function(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function C(a){return a.requestedGeneration+=1,a.requestedGeneration}async function D({revalidate:a=!0,signal:b}={}){let c,d,e=function(){let a=(r.__llvFilesRouteScans??=new Map,r.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let b of((0,m.X)(a.files),a.files)){let a;if(!0!==b.derivationComplete)continue;try{a=g().statSync(b.path)}catch{continue}if(a.size!==b.size||a.mtimeMs/1e3!==b.mtime)continue;let c=1e3*b.mtime,d=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(b);void 0!==d&&b.path.endsWith(".jsonl")&&("claude"===b.engine||"codex"===b.engine)&&((0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{authoritative:!1,composerReleased:"pane_at_composer"===b.activityReason}),b.authoritativeTurn?(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,b.authoritativeTurn,{composerReleased:"pane_at_composer"===b.activityReason}):("codex"===b.engine||"terminal"!==d.state)&&(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{composerReleased:"pane_at_composer"===b.activityReason})),"claude-projects"===b.root&&b.path.includes(`${i().sep}subagents${i().sep}`)||(0,l.E)("model").set(b.path,[b.size,c,{display:b.model,launch:b.launchModel??null}]),Object.hasOwn(b,"effort")&&("claude"!==b.engine||"running"!==b.proc)&&(0,l.E)("effort").set(b.path,[b.size,c,b.effort??null]),Object.hasOwn(b,"plan")&&(0,l.E)("plan-v2").set(b.path,[b.size,c,b.plan]),Object.hasOwn(b,"goal")&&(0,l.E)("goal-v2").set(b.path,[b.size,c,b.goal]),Object.hasOwn(b,"ctx")&&(0,l.E)("ctx-v2").set(b.path,[b.size,c,b.ctx]),Object.hasOwn(b,"lastTurn")&&(0,l.E)("last-turn-v5").set(b.path,[b.size,c,b.lastTurn]),Object.hasOwn(b,"pendingWakeup")&&(0,l.E)("wakeup-v2").set(b.path,[b.size,c,b.pendingWakeup]),"claude-projects"===b.root&&b.path.endsWith(".jsonl")&&(0,l.E)(n.oS).set(b.path,[b.size,c,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(b)])}}(b);let c={schemaVersion:9,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return g().statSync((0,j.BQ)(p)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&9===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=w(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||x(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:9,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=w(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});x(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}();if(e.requestCount=(e.requestCount??0)+1,e.snapshot){let b=Date.now();if(a&&!e.refresh&&b-Math.max(e.refreshedAt,e.ordinaryRefreshRequestedAt??0)>=3e5){let a,c,d,f,g=C(e);e.ordinaryRefreshRequestedAt=b,a=!1,c=!1,d=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(a=!0,d.signal.aborted)throw y(d.signal.reason);if(c){if(!e.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return e.snapshot}return A(e,g,"ordinary",void 0,d.signal)}),x(e,g,f,f,d).cancelBeforeStart=()=>!a&&(c=!0,!0)}return B(e,void 0,e.snapshotGeneration)}let f=e.refresh?.generation??C(e),h=e.refresh??(d=A(e,f,"cold",void 0,(c=new AbortController).signal),x(e,f,d,d,c));return await (b?.aborted?Promise.reject(y(b.reason)):(h.subscribers+=1,new Promise((a,c)=>{let d=!0,e=()=>{d&&(d=!1,b?.removeEventListener("abort",f),h.subscribers-=1,0!==h.subscribers||h.settled||h.controller.abort(y()))},f=()=>{e(),c(y(b?.reason))};b?.addEventListener("abort",f,{once:!0}),h.promise.then(b=>{d&&(e(),a(b))},a=>{d&&(e(),c(a))})}))),B(e,void 0,f,"miss")}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8576,exports.ids=[8576],exports.modules={38576:(a,b,c)=>{function d(a){let b=["true","false","null"],c={scope:"literal",beginKeywords:b.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:b},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},a.QUOTE_STRING_MODE,c,a.C_NUMBER_MODE,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}c.r(b),c.d(b,{default:()=>d})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8797,exports.ids=[8797],exports.modules={3253:(a,b,c)=>{c.d(b,{Fp:()=>j,XR:()=>e,qN:()=>d});class d extends Error{constructor(a){super(`Codex app-server protocol error: ${e(a)}`),this.name="CodexAppServerProtocolError"}}function e(a){return a.replace(/(bearer\s+)[^\s,;]+/gi,"$1[REDACTED]").replace(/(["']?(?:access|refresh|id)[_-]?token["']?\s*[:=]\s*["']?)[^\s,"'}]+/gi,"$1[REDACTED]").replace(/(["']?(?:api[_-]?key|authorization)["']?\s*[:=]\s*["']?)[^\s,"'}]+/gi,"$1[REDACTED]").slice(0,500)}function f(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function g(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function h(a){return"string"==typeof a&&a.length>0&&a.length<=512||"number"==typeof a&&Number.isSafeInteger(a)}function i(a){throw new d(a)}function j(a){var b;f(a)||i("message must be an object"),g(a,"jsonrpc")&&"2.0"!==a.jsonrpc&&i("jsonrpc must be 2.0 when present");let c=g(a,"jsonrpc")?"jsonrpc-2.0":"headerless",d=g(a,"id"),e=g(a,"method"),j=g(a,"result"),k=g(a,"error");return j||k?((e||!d||j===k)&&i("response shape is invalid"),h(a.id)||i("response id is invalid"),k)?(f(a.error)&&"number"==typeof a.error.code&&Number.isSafeInteger(a.error.code)&&"string"==typeof a.error.message&&!(a.error.message.length>2e3)||i("response error is invalid"),{kind:"response",envelope:c,id:a.id,error:{code:a.error.code,message:a.error.message}}):{kind:"response",envelope:c,id:a.id,result:a.result}:(e&&"string"==typeof(b=a.method)&&b.length>0&&b.length<=256||i("method is invalid"),d)?(h(a.id)||i(`server request ${a.method} has an invalid id`),{kind:"request",envelope:c,id:a.id,method:a.method,params:a.params}):{kind:"notification",envelope:c,method:a.method,params:a.params}}},22025:(a,b,c)=>{c.d(b,{yj:()=>k,zC:()=>p});var d=c(31421),e=c(3253),f=c(64253),g=c(94595),h=c(92806);let i=["-c","cli_auth_credentials_store=file","-c","mcp_servers={}","app-server"],j={now:()=>Date.now(),setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>clearTimeout(a)};class k extends Error{constructor(a,b="definite"){super((0,e.XR)(a)),this.outcome=b,this.name="CodexAppServerError"}}function l(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function m(a){return new k(`Codex app-server protocol error: ${a}`,"unknown")}function n(a,b,c){if("string"!=typeof a[b]||!a[b])throw m(`${c} response is missing ${b}`);return a[b]}function o(a,b){if(null==a)return null;if(!l(a)||"number"!=typeof a.usedPercent||!Number.isFinite(a.usedPercent)||a.usedPercent<0||a.usedPercent>100)throw m(`${b} response has an invalid rate-limit window`);let c=a.resetsAt,d=a.windowDurationMins;if(null!=c&&("number"!=typeof c||!Number.isInteger(c)||c<0))throw m(`${b} response has an invalid reset timestamp`);if(null!=d&&("number"!=typeof d||!Number.isInteger(d)||d<0))throw m(`${b} response has an invalid window duration`);return{usedPercent:a.usedPercent,resetsAt:"number"==typeof c?c:null,windowDurationMins:"number"==typeof d?d:null}}class p{constructor(a,b,c,d,f,g){this.child=a,this.clock=b,this.requestTimeoutMs=c,this.shutdownGraceMs=d,this.maxStdoutBufferBytes=f,this.signalProcess=g,this.pending=new Map,this.notificationListeners=new Set,this.requestListeners=new Set,this.lifecycleListeners=new Set,this.nextId=1,this.stdoutChunks=[],this.stdoutBufferBytes=0,this.stderrTail="",this.lastInboundEnvelope=null,this.closed=!1,this.reaped=!1,this.shutdownTimer=null,a.stdout.on("data",a=>this.acceptStdout(String(a))),a.stderr?.on("data",a=>{this.stderrTail=(0,e.XR)((this.stderrTail+String(a)).slice(-2e3))}),a.on("error",a=>this.fail(new k(`Codex app-server child error: ${a.message}`,"unknown"))),a.on("close",(a,b)=>{this.reaped=!0,this.emitLifecycle({type:"reaped"});let c=this.stderrTail?`: ${this.stderrTail}`:"";this.closed||this.fail(new k(`Codex app-server exited (code ${a??"none"}, signal ${b??"none"})${c}`,"unknown"))})}static async start(a){let b=new p((a.spawn??function(a,b){return(0,d.spawn)(process.env.LLV_CODEX_BINARY||"codex",[...b],{env:{...(0,h.Fd)(process.env),CODEX_HOME:a},stdio:["pipe","pipe","pipe"],detached:!0})})(a.home,i),a.clock??j,a.requestTimeoutMs??1e4,a.shutdownGraceMs??1e3,a.maxStdoutBufferBytes??0x4000000,a.signalProcess??process.kill);try{let a=await b.request("initialize",{clientInfo:{name:"agent-log-viewer",version:"0.11.7"},capabilities:{experimentalApi:!0}});if(!l(a))throw m("initialize response must be an object");return b.notify("initialized"),b}catch(a){throw b.close(),a}}onNotification(a){return this.notificationListeners.add(a),()=>this.notificationListeners.delete(a)}onRequest(a){return this.requestListeners.add(a),()=>this.requestListeners.delete(a)}onLifecycle(a){return this.lifecycleListeners.add(a),()=>this.lifecycleListeners.delete(a)}inboundEnvelope(){return this.lastInboundEnvelope}async readAccount(){let a=await this.request("account/read",{});if(!l(a)||"boolean"!=typeof a.requiresOpenaiAuth)throw m("account/read response is malformed");if(null!==a.account&&void 0!==a.account&&!l(a.account))throw m("account/read response has an invalid account");return{account:l(a.account)?{..."string"==typeof a.account.type?{type:a.account.type}:{},..."string"==typeof a.account.email||null===a.account.email?{email:a.account.email}:{},..."string"==typeof a.account.planType||null===a.account.planType?{planType:a.account.planType}:{}}:null,requiresOpenaiAuth:a.requiresOpenaiAuth}}async startDeviceLogin(){let a=await this.request("account/login/start",{type:"chatgptDeviceCode"});if(!l(a)||"chatgptDeviceCode"!==a.type)throw m("account/login/start response has an unexpected type");return{loginId:n(a,"loginId","account/login/start"),verificationUrl:n(a,"verificationUrl","account/login/start"),userCode:n(a,"userCode","account/login/start")}}async cancelLogin(a){let b=await this.request("account/login/cancel",{loginId:a});if(!l(b)||"canceled"!==b.status&&"notFound"!==b.status)throw m("account/login/cancel response is malformed");return b.status}async readRateLimits(){let a=await this.request("account/rateLimits/read");if(!l(a)||!l(a.rateLimits))throw m("account/rateLimits/read response is malformed");let b=a.rateLimits;return{rateLimits:{primary:o(b.primary,"account/rateLimits/read"),secondary:o(b.secondary,"account/rateLimits/read"),planType:"string"==typeof b.planType?b.planType:null}}}async forkThread(a){let b=await this.request("thread/fork",{threadId:a}),c=l(b)&&l(b.thread)?b.thread:b;if(!l(c))throw m("thread/fork response is malformed");return{id:n(c,"id","thread/fork"),path:"string"==typeof c.path?c.path:null}}async resumeThread(a,b={}){let c=await this.request("config/read",{...b.cwd?{cwd:b.cwd}:{},includeLayers:!1}),d={...(0,g.v)(c),...b.effort?{model_reasoning_effort:b.effort}:{}},e=await this.request("thread/resume",{threadId:a,...b.path?{path:b.path}:{},...b.cwd?{cwd:b.cwd}:{},...b.model?{model:b.model}:{},...null!=b.fast?{serviceTier:b.fast?"priority":"standard"}:{},...b.approvalPolicy?{approvalPolicy:b.approvalPolicy}:{},...b.sandbox?{sandbox:b.sandbox}:{},config:d}),f=l(e)&&l(e.thread)?e.thread:e;if(!l(f))throw m("thread/resume response is malformed");return{id:n(f,"id","thread/resume"),path:"string"==typeof f.path?f.path:null}}async readThread(a){let b=await this.request("thread/read",{threadId:a,includeTurns:!0}),c=l(b)&&l(b.thread)?b.thread:b;if(!l(c))throw m("thread/read response is malformed");return{id:n(c,"id","thread/read"),path:"string"==typeof c.path?c.path:null}}async setThreadName(a,b){await this.request("thread/name/set",{threadId:a,name:b})}async setThreadGoal(a,b,c){await this.request("thread/goal/set",{threadId:a,objective:b,...c?{status:c}:{}})}close(){if(!this.closed){for(let a of(this.closed=!0,this.stdoutChunks=[],this.stdoutBufferBytes=0,this.pending.values()))this.clock.clearTimeout(a.timeout),a.reject(new k("Codex app-server client closed","unknown"));this.pending.clear(),this.beginShutdown(),this.emitLifecycle({type:"closed"})}}notify(a,b){this.write({jsonrpc:"2.0",method:a,...b?{params:b}:{}})}request(a,b){if(this.closed)return Promise.reject(new k("Codex app-server client is closed"));let c=this.nextId++;return new Promise((d,e)=>{let f=this.clock.setTimeout(()=>{if(!this.pending.has(c))return;this.pending.delete(c);let b=new k(`Codex app-server request timed out: ${a}`,"unknown");e(b),this.fail(b)},this.requestTimeoutMs);this.pending.set(c,{method:a,resolve:d,reject:e,timeout:f});try{this.write({jsonrpc:"2.0",id:c,method:a,...b?{params:b}:{}})}catch(a){this.pending.delete(c),this.clock.clearTimeout(f),e(a instanceof Error?a:new k(String(a)))}})}write(a){try{this.child.stdin.write(JSON.stringify(a)+"\n")}catch(a){throw new k(`could not write to Codex app-server: ${a instanceof Error?a.message:String(a)}`)}}acceptStdout(a){if(this.closed)return;let b=0,c=a.indexOf("\n",b);for(;c>=0;){let d=a.slice(b,c);if(this.stdoutBufferBytes+Buffer.byteLength(d,"utf8")>this.maxStdoutBufferBytes)return void this.fail(m("received an oversized JSONL line"));let e=this.stdoutChunks.length>0?this.stdoutChunks.join("")+d:d;this.stdoutChunks=[],this.stdoutBufferBytes=0;let f=e.trim();if(f&&this.acceptMessage(f),this.closed)return;b=c+1,c=a.indexOf("\n",b)}let d=a.slice(b);if(!d)return;let e=Buffer.byteLength(d,"utf8");this.stdoutBufferBytes+e>this.maxStdoutBufferBytes?this.fail(m("received an oversized unterminated JSONL line")):(this.stdoutChunks.push(d),this.stdoutBufferBytes+=e)}acceptMessage(a){let b,c;try{b=JSON.parse(a)}catch{this.fail(m("received malformed JSON"));return}try{c=(0,e.Fp)(b)}catch(b){let a=b instanceof e.qN?b.message:"received malformed JSON-RPC";this.fail(new k(a,"unknown"));return}if(this.lastInboundEnvelope=c.envelope,"request"===c.kind){let a=this.requestListeners.values().next().value;if(!a){console.warn(`[codex app-server] rejected unhandled server request ${c.method}`),this.write({jsonrpc:"2.0",id:c.id,error:{code:-32601,message:"Viewer has no handler for this request"}});return}Promise.resolve(a({id:c.id,method:c.method,params:c.params})).then(a=>this.write({jsonrpc:"2.0",id:c.id,result:a??{}})).catch(a=>this.write({jsonrpc:"2.0",id:c.id,error:{code:-32e3,message:(0,e.XR)(a instanceof Error?a.message:"request handler failed")}}));return}if("notification"===c.kind){let a={method:c.method,params:c.params};for(let b of this.notificationListeners)try{b(a)}catch{}return}let d=c.id;if("number"!=typeof d)return void this.fail(m("response has an invalid id"));let f=this.pending.get(d);if(!f)return void this.fail(m(`response id ${d} has no matching request`));if(this.pending.delete(d),this.clock.clearTimeout(f.timeout),c.error){let a;f.reject((a=c.error.message,new k(`Codex app-server request failed: ${a}`)))}else f.resolve(c.result)}fail(a){if(!this.closed){for(let b of(this.closed=!0,this.stdoutChunks=[],this.stdoutBufferBytes=0,this.pending.values()))this.clock.clearTimeout(b.timeout),b.reject(a);this.pending.clear(),this.beginShutdown(),this.emitLifecycle({type:"failed",error:a})}}beginShutdown(){try{this.child.stdin.end()}catch{}this.reaped?(0,f.v)(this.child.pid,"SIGTERM",this.signalProcess):(0,f.f)(this.child,"SIGTERM",this.signalProcess),this.shutdownTimer||(this.shutdownTimer=this.clock.setTimeout(()=>{this.shutdownTimer=null,this.reaped?(0,f.v)(this.child.pid,"SIGKILL",this.signalProcess):(0,f.f)(this.child,"SIGKILL",this.signalProcess)},this.shutdownGraceMs))}emitLifecycle(a){for(let b of this.lifecycleListeners)try{b(a)}catch{}}}},64253:(a,b,c)=>{function d(a,b,c=process.kill){if(!a||!Number.isInteger(a)||a<=0)return!1;try{return c(-a,b),!0}catch{return!1}}function e(a,b,c=process.kill){if(d(a.pid,b,c))return!0;try{return a.kill(b)}catch{return!1}}c.d(b,{f:()=>e,v:()=>d})},68797:(a,b,c)=>{c.d(b,{VD:()=>p});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(22962),i=c(91724),j=c(22025);function k(a){let b=g().resolve(a);try{return e().realpathSync(b)}catch{return b}}function l(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));if(1!==b.version||!b.attempts||"object"!=typeof b.attempts)return new Map;return new Map(Object.entries(b.attempts).filter(a=>{var b;return!!(b=a[1])&&"object"==typeof b&&"string"==typeof b.accountId&&"number"==typeof b.generation&&"number"==typeof b.startedAt&&"number"==typeof b.updatedAt&&("pending"===b.state||"completed"===b.state||"failed"===b.state||"stale"===b.state||"cancelled"===b.state)&&(null===b.reason||"child-died"===b.reason||"login-unsuccessful"===b.reason||"cancelled"===b.reason||"viewer-restarted"===b.reason||"account-read-failed"===b.reason||"start-failed"===b.reason)}))}catch{return new Map}}class m{constructor(a={}){this.active=new Map,this.pendingRecords=new Map,this.recordDrain=null,this.recordRetryTimer=null,this.recordRetryAttempt=0,this.startClient=a.startClient??(a=>j.zC.start({home:a})),this.now=a.now??(()=>Date.now()),this.stateFile=a.stateFile??(0,i.BQ)("codex-login-attempts.json"),this.records=l(this.stateFile)}async startLogin(a){return this.beginLogin(a,!1)}async retryLogin(a){return this.beginLogin(a,!0)}beginLogin(a,b){if("managed"!==a.kind)return Promise.reject(Error("only managed Codex accounts can start an app-server login"));this.records=l(this.stateFile);let c=k(a.home),d=this.active.get(c);if(d&&!b)return d.startPromise;let e=d??null,f=this.records.get(c),g=this.now(),h=Math.max(f?.generation??0,e?.generation??0)+1,i={accountId:a.id,generation:h,state:"pending",startedAt:g,updatedAt:g,reason:null,home:c,client:null,loginId:null,verificationUrl:null,userCode:null,startPromise:null};return this.active.set(c,i),this.record(c,i),i.startPromise=this.launch(a,i,e),i.startPromise}async launch(a,b,c){c&&await this.stopSuperseded(c);try{let c=await this.startClient(a.home);if(!this.owns(b))throw c.close(),Error("a newer managed login owns this Codex home");b.client=c,c.onLifecycle(a=>{"failed"===a.type&&this.settle(b,"failed","child-died",!1)}),c.onNotification(a=>{var c,d;"account/login/completed"===a.method&&(c=a.params,d=b.loginId,c&&"object"==typeof c&&d&&c.loginId===d&&"boolean"==typeof c.success)&&this.settle(b,a.params.success?"completed":"failed",a.params.success?null:"login-unsuccessful",!0)});let d=await c.startDeviceLogin();if(!this.owns(b))throw c.close(),Error("a newer managed login owns this Codex home");return b.loginId=d.loginId,b.verificationUrl=d.verificationUrl,b.userCode=d.userCode,function(a){if(!a.loginId||!a.verificationUrl||!a.userCode)throw Error("managed login challenge is incomplete");return{accountId:a.accountId,loginId:a.loginId,verificationUrl:a.verificationUrl,userCode:a.userCode,startedAt:a.startedAt}}(b)}catch(a){throw this.settle(b,"failed","start-failed",!0),a}}async cancelLogin(a){let b=[...this.active.values()].find(b=>b.accountId===a);if(b)return await this.cancelAttempt(b,"cancelled"),!0;this.records=l(this.stateFile);let c=[...this.records.entries()].find(([,b])=>b.accountId===a);return!!c&&(this.record(c[0],{...c[1],state:"cancelled",updatedAt:this.now(),reason:"cancelled"}),!0)}async cancelAttempt(a,b){if(!this.owns(a))return;let c=a.client;if(this.settle(a,"cancelled",b,!1),!c)return void await a.startPromise.catch(()=>void 0);if(!a.loginId){c.close(),await a.startPromise.catch(()=>void 0);return}try{await c.cancelLogin(a.loginId)}catch{}finally{c.close()}}async stopSuperseded(a){let b=a.client;if(!b||!a.loginId)return void b?.close();try{await b.cancelLogin(a.loginId)}catch{}finally{b.close()}}async loginSnapshot(a){if("managed"!==a.kind)return{state:a.authPresent?"authenticated":"idle",attemptState:null,deviceAuth:null};let b=k(a.home),c=this.active.get(b),d=l(this.stateFile).get(b);try{let e=await this.readAccount(c?.client??null,a.home);if(n(e))return c?this.settle(c,"completed",null,!0):d&&this.record(b,{...d,state:"completed",updatedAt:this.now(),reason:null}),{state:"authenticated",attemptState:"completed",deviceAuth:null};if(c?.state==="pending"&&c.verificationUrl&&c.userCode)return{state:"pending",attemptState:"pending",deviceAuth:{url:c.verificationUrl,code:c.userCode}};if(d?.state==="pending"){let a={...d,state:"stale",updatedAt:this.now(),reason:"viewer-restarted"};return this.record(b,a),{state:"stale",attemptState:"stale",deviceAuth:null}}return d?{state:d.state,attemptState:d.state,deviceAuth:null}:{state:"idle",attemptState:null,deviceAuth:null}}catch{let a=d??c;if(a){let d={...a,state:"stale",updatedAt:this.now(),reason:"account-read-failed"};this.settle(c??null,"stale","account-read-failed",!0),c||this.record(b,d)}return{state:"stale",attemptState:"stale",deviceAuth:null}}}peekLogin(a){return this.peekLoginFrom(a,l(this.stateFile))}peekLogins(a){let b=l(this.stateFile);return new Map(a.map(a=>[a.id,this.peekLoginFrom(a,b)]))}peekLoginFrom(a,b){if("managed"!==a.kind)return{state:a.authPresent?"authenticated":"idle",attemptState:null,deviceAuth:null};let c=k(a.home),d=this.active.get(c),e=b.get(c);return e?.state==="pending"&&d?.state==="pending"&&d.verificationUrl&&d.userCode?{state:"pending",attemptState:"pending",deviceAuth:{url:d.verificationUrl,code:d.userCode}}:e?{state:e.state,attemptState:e.state,deviceAuth:null}:d?.state==="pending"?{state:"pending",attemptState:"pending",deviceAuth:null}:{state:"idle",attemptState:null,deviceAuth:null}}async readRateLimits(a){return(await this.probeQuota(a)).rateLimits}async verifyAuthentication(a){return(await this.probeQuota(a)).authenticated}async probeQuota(a){let b=this.active.get(k(a.home));if(b?.client)return this.probeQuotaFrom(b.client);let c=await this.startClient(a.home);try{return await this.probeQuotaFrom(c)}finally{c.close()}}async readAccount(a,b){if(a)return a.readAccount();let c=await this.startClient(b);try{return await c.readAccount()}finally{c.close()}}async probeQuotaFrom(a){let b=await a.readAccount();return{account:b,rateLimits:(await a.readRateLimits()).rateLimits,authenticated:n(b),envelope:a.inboundEnvelope()}}owns(a){return this.active.get(a.home)?.generation===a.generation}settle(a,b,c,d){if(!a||!this.owns(a))return;this.active.delete(a.home);let e={...a,state:b,updatedAt:this.now(),reason:c};try{this.record(a.home,e)}catch{this.queueRecord(a.home,e)}finally{d&&a.client?.close()}}record(a,b){try{(0,h.oV)(()=>this.writeRecords(new Map([[a,b]])))}catch(c){if(!(c instanceof h.gB))throw c;this.queueRecord(a,b)}}writeRecords(a){this.records=l(this.stateFile);let b=!1;for(let[c,d]of a){let a=this.records.get(c);a&&a.generation>d.generation||(this.records.set(c,{accountId:d.accountId,generation:d.generation,state:d.state,startedAt:d.startedAt,updatedAt:d.updatedAt,reason:d.reason}),b=!0)}if(!b)return;let c={version:1,attempts:Object.fromEntries(this.records)},d=g().dirname(this.stateFile),f=g().join(d,`.${g().basename(this.stateFile)}.${process.pid}.${Date.now()}.tmp`);try{e().mkdirSync(d,{recursive:!0,mode:448}),e().writeFileSync(f,JSON.stringify(c,null,2)+"\n",{mode:384}),e().renameSync(f,this.stateFile)}finally{e().rmSync(f,{force:!0})}}queueRecord(a,b){let c=this.pendingRecords.get(a);(!c||c.generation<=b.generation)&&this.pendingRecords.set(a,b),this.startRecordDrain()}startRecordDrain(){if(this.recordDrain||this.recordRetryTimer)return;let a=(async()=>{for(;this.pendingRecords.size>0;){let a=new Map(this.pendingRecords);for(let[b,c]of(await (0,h.Cu)(async()=>this.writeRecords(a)),a))this.pendingRecords.get(b)===c&&this.pendingRecords.delete(b)}})();this.recordDrain=a,a.then(()=>{this.recordDrain=null,this.recordRetryAttempt=0,this.pendingRecords.size>0&&this.startRecordDrain()},()=>{this.recordDrain=null,this.recordRetryAttempt+=1;let a=Math.min(100*2**Math.min(this.recordRetryAttempt-1,8),3e4);(1===this.recordRetryAttempt||(this.recordRetryAttempt&this.recordRetryAttempt-1)==0)&&console.error(`[codex accounts] Codex login outcome persistence failed; retry ${this.recordRetryAttempt} in ${a}ms`),this.recordRetryTimer=setTimeout(()=>{this.recordRetryTimer=null,this.startRecordDrain()},a),this.recordRetryTimer.unref?.()})}}function n(a){return a.account?.type==="chatgpt"}let o=null;function p(){return o??=new m}},94595:(a,b,c)=>{c.d(b,{v:()=>i});var d=c(4012),e=c(10230),f=c(61971);let g=new Set(["auto","prompt","writes","approve"]);function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function i(a,b=!1,c,j){let k=h(h(a)?.config),l=h(k?.mcp_servers);if(!k||!l)throw Error("config/read returned no MCP server table");let m=new Set((0,e.c1)(c)),n=(0,f.sJ)(j);return{mcp_servers:Object.fromEntries(Object.entries(l).map(([a,b])=>{let c=h(b)?.default_tools_approval_mode,d="viewer"===a?"approve":"string"==typeof c&&g.has(c)?c:null;return[a,{enabled:m.has(a),...d?{default_tools_approval_mode:d}:{}}]})),features:{...d.Jj,plugins:n.length>0,multi_agent:b,realtime_conversation:!0},...n.length>0?{plugins:function(a,b){let c=new Set(Object.keys(h(a.plugins)??{}));for(let a of b)[...c].some(b=>b.split("@")[0]===a)||c.add(a);return Object.fromEntries([...c].map(a=>[a,{enabled:b.includes(a.split("@")[0])}]))}(k,n)}:{},include_apps_instructions:!1}}}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=8966,exports.ids=[8966],exports.modules={78966:(a,b,c)=>{c.d(b,{F$:()=>T,Fn:()=>J,Hy:()=>w,No:()=>K,OL:()=>u,UV:()=>s,Xx:()=>t,Yb:()=>H,ZK:()=>Q,fM:()=>R,fg:()=>X,k8:()=>U,kK:()=>L,o3:()=>v,ob:()=>M,pW:()=>O,ss:()=>N,x0:()=>W,y3:()=>P});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(92806),l=c(22962);let m=/^[a-z0-9][a-z0-9-]{0,31}$/,n="default",o=["skills","commands","agents"],p=["settings.json"],q=new Set([".credentials.json",".claude.json","projects","history.jsonl","session-env","shell-snapshots","file-history","todos","cache","debug","backups","paste-cache","plugins","mcp.json","settings.local.json"]),r=null;class s extends Error{constructor(a){super(`unknown Claude account: ${a}`),this.name="UnknownClaudeAccountError"}}class t extends Error{constructor(){super("account label must contain visible text and be at most 80 characters"),this.name="InvalidClaudeAccountLabelError"}}class u extends Error{constructor(){super("Claude account registry is corrupt; repair or remove it before changing accounts"),this.name="CorruptClaudeAccountsError"}}class v extends Error{constructor(){super("managed Claude home failed safety checks"),this.name="UnsafeClaudeHomeError"}}function w(){return i().resolve(process.env.LLV_CLAUDE_HOME||i().join(g().homedir(),".claude"))}function x(){return i().join(i().dirname((0,j.Pn)()),"accounts","claude")}function y(){return(0,j.BQ)("claude-accounts.json")}function z(){return i().join(i().dirname((0,j.Pn)()),"shared","claude")}function A(a){return i().join(x(),a)}function B(){return{version:1,active:n,accounts:[],retired:[]}}function C(a,b=!1){if(!m.test(a)||a===n)return!1;let c=i().resolve(x()),d=i().resolve(A(a));if(i().dirname(d)!==c)return!1;try{var f;let a=e().lstatSync(c),b=e().lstatSync(d);if(!a.isDirectory()||a.isSymbolicLink()||!b.isDirectory()||b.isSymbolicLink()||(f=b.mode,(63&f)!=0||(511&f)!=448))return!1;return i().dirname(e().realpathSync(d))===e().realpathSync(c)}catch{return!b}}function D(){let a,b=y(),c=`${b}:${function(a){try{let b=e().statSync(a);return`${b.mtimeMs}:${b.size}`}catch{return"missing"}}(b)}`;if(r?.key===c)return r.loaded;try{a=e().existsSync(b)?function(a){if(!a||"object"!=typeof a||1!==a.version||"string"!=typeof a.active||!Array.isArray(a.accounts)||void 0!==a.retired&&!Array.isArray(a.retired))return{registry:B(),corrupt:!0};let b=new Set,c=!1,d=[];for(let e of a.accounts){if(!(e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.label&&"managed"===e.kind&&"number"==typeof e.createdAt&&C(e.id))||b.has(e.id)){c=!0;continue}b.add(e.id),d.push(e)}let e=[];for(let d of a.retired??[]){if(!(d&&"object"==typeof d&&"string"==typeof d.id&&"string"==typeof d.label&&"number"==typeof d.retiredAt&&C(d.id))||b.has(d.id)){c=!0;continue}b.add(d.id),e.push(d)}return{registry:{version:1,active:a.active,accounts:d,retired:e},corrupt:c}}(JSON.parse(e().readFileSync(b,"utf8"))):{registry:B(),corrupt:!1}}catch{a={registry:B(),corrupt:!0}}return r={key:c,loaded:a},a}function E(){let a=D();if(a.corrupt)throw new u;return a.registry}function F(a){return(0,l.oV)(()=>{let b=`${y()}.lock`,c=Date.now();for(e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});;)try{let c=e().openSync(b,"wx",384);try{return e().writeFileSync(c,`${process.pid}
2
+ `,"utf8"),a()}finally{e().closeSync(c),e().rmSync(b,{force:!0})}}catch(a){if("EEXIST"!==a.code)throw a;try{if(Date.now()-e().statSync(b).mtimeMs>3e4){e().rmSync(b,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("Claude account registry is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}})}function G(a){let b=y();e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${Date.now()}.tmp`);try{e().writeFileSync(c,JSON.stringify(a,null,2)+"\n",{mode:384});let d=e().openSync(c,"r");try{e().fsyncSync(d)}finally{e().closeSync(d)}e().renameSync(c,b);let f=e().openSync(i().dirname(b),"r");try{e().fsyncSync(f)}finally{e().closeSync(f)}r=null}finally{e().rmSync(c,{force:!0})}}function H(a,b=!1){let c=i().join(a,".credentials.json");try{let a=e().lstatSync(c);return a.isFile()&&!a.isSymbolicLink()&&a.uid===(process.getuid?.()??a.uid)&&(63&a.mode)==0}catch{return!b}}function I(a){let b=A(a.id);return{...a,home:b,projectsDir:i().join(b,"projects"),authPresent:H(b,!0)}}function J(){let a;return[{id:n,label:"Main",kind:"legacy",home:a=w(),projectsDir:i().join(a,"projects"),authPresent:H(a,!0),createdAt:0},...D().registry.accounts.map(I)]}function K(){let a=D().registry.active;return J().some(b=>b.id===a)?a:n}function L(){return D().corrupt}function M(a){let b=J().find(b=>b.id===(a??K()));if(!b)throw new s(a??"");if("managed"===b.kind&&(!C(b.id,!0)||!H(b.home)))throw new v;return{id:b.id,kind:b.kind,home:b.home,projectsDir:b.projectsDir}}function N(a){F(()=>{r=null;let b=E();if(!J().some(b=>b.id===a))throw new s(a);G({...b,active:a})})}function O(){return[...new Set([...J().map(a=>a.projectsDir),...D().registry.retired.map(a=>i().join(A(a.id),"projects"))])]}function P(a){let b;try{b=e().realpathSync(a)}catch{return null}for(let a of J())try{let c=e().realpathSync(a.projectsDir);if(b.startsWith(c+i().sep))return a.home}catch{}return null}function Q(){let a=i().join(z(),"settings.json");return e().existsSync(a)?a:null}function R(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new t;return F(()=>{r=null;let a=E(),c=function(a,b){let c=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)||"account";for(let a=0;;a+=1){let d=a?`-${a}`:"",f=`${c.slice(0,32-d.length)}${d}`;if(m.test(f)&&f!==n&&!b.has(f)&&!e().existsSync(A(f)))return f}}(b,new Set([...J().map(a=>a.id),...a.retired.map(a=>a.id)])),d=A(c),f=!1;try{e().mkdirSync(i().dirname(d),{recursive:!0,mode:448}),e().chmodSync(i().dirname(d),448),e().mkdirSync(d,{mode:448}),e().chmodSync(d,448),f=!0;let g=function(){let a=z(),b=`${a}.tmp-${process.pid}-${Date.now()}`,c={files:0,bytes:0};e().rmSync(b,{recursive:!0,force:!0}),e().mkdirSync(b,{recursive:!0,mode:448});try{for(let a of[...o,...p]){let d=i().join(w(),a);e().existsSync(d)&&function a(b,c,d){let f=e().lstatSync(b);if(!f.isSymbolicLink()&&(f.isDirectory()||f.isFile())){if(f.isFile()){if(++d.files>2e3||(d.bytes+=f.size)>0x1000000)throw Error("Claude capability snapshot exceeds safety limit");e().mkdirSync(i().dirname(c),{recursive:!0,mode:448}),e().copyFileSync(b,c),e().chmodSync(c,384);return}for(let f of(e().mkdirSync(c,{recursive:!0,mode:448}),e().readdirSync(b,{withFileTypes:!0})))q.has(f.name)||a(i().join(b,f.name),i().join(c,f.name),d)}}(d,i().join(b,a),c)}return e().mkdirSync(i().dirname(a),{recursive:!0,mode:448}),e().chmodSync(i().dirname(a),448),e().rmSync(a,{recursive:!0,force:!0}),e().renameSync(b,a),e().chmodSync(a,448),a}catch(a){throw e().rmSync(b,{recursive:!0,force:!0}),a}}();for(let a of o){let b=i().join(g,a);e().existsSync(b)&&e().symlinkSync(b,i().join(d,a))}e().mkdirSync(i().join(d,"projects"),{mode:448});let h={id:c,label:b,kind:"managed",createdAt:Date.now()};return G({...a,accounts:[...a.accounts,h]}),I(h)}catch(a){throw f&&e().rmSync(d,{recursive:!0,force:!0}),a}})}function S(a){let b;try{b=e().readdirSync(a,{withFileTypes:!0})}catch{return{stripped:[],complete:!1}}let c=[],d=!0;for(let f of b)if("projects"!==f.name)try{e().rmSync(i().join(a,f.name),{recursive:!0,force:!0}),c.push(f.name)}catch{d=!1}return{stripped:c,complete:d}}function T(a){return F(()=>{r=null;let b=E(),c=b.accounts.find(b=>b.id===a);if(!c)throw new s(a);let d=A(a),f=e().existsSync(d);if(f&&!C(a,!0))throw new v;let g=f&&function(a){try{return e().readdirSync(i().join(a,"projects")).length>0}catch{return!1}}(d),h=b.retired.filter(b=>b.id!==a);if(G({...b,active:b.active===a?n:b.active,accounts:b.accounts.filter(b=>b.id!==a),retired:g?[...h,{id:a,label:c.label,retiredAt:Date.now()}]:h}),!f)return{cleanupPending:!1};if(g)return{cleanupPending:!S(d).complete};try{e().rmSync(d,{recursive:!0,force:!0})}catch{return{cleanupPending:!0}}return{cleanupPending:!1}})}function U(){return F(()=>{let a;r=null;let b=E(),c=new Set(b.accounts.map(a=>a.id)),d=new Set(b.retired.map(a=>a.id));try{a=e().readdirSync(x(),{withFileTypes:!0})}catch(a){if("ENOENT"===a.code)return{removed:[],unresolved:[]};throw a}let f=[],g=[];for(let b of a)if(!c.has(b.name)){if(!b.isDirectory()||!C(b.name,!0)){g.push(b.name);continue}if(d.has(b.name)){let a=S(A(b.name));a.complete?a.stripped.length>0&&f.push(b.name):g.push(b.name);continue}try{e().rmSync(A(b.name),{recursive:!0,force:!0}),f.push(b.name)}catch{g.push(b.name)}}return{removed:f.sort(),unresolved:g.sort()}})}let V=["ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","ANTHROPIC_BASE_URL","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","GOOGLE_APPLICATION_CREDENTIALS","VERTEXAI_PROJECT","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX"];function W(a,b=process.env){let c={...(0,k.Fd)(b),CLAUDE_CONFIG_DIR:a};for(let a of V)delete c[a];return c}function X(a){return J().some(b=>"managed"===b.kind&&b.home===a&&C(b.id,!0))}}};
@@ -0,0 +1,14 @@
1
+ "use strict";exports.id=9411,exports.ids=[9411],exports.modules={18797:(a,b,c)=>{c.d(b,{W:()=>f});var d=c(4837);let e=["Read-only mode: edits, staging, commits, pushes, service restarts, and GitHub comments are prohibited.","Every finding carries file:line evidence. Clean work earns a clear NO FINDINGS verdict."],f=[{id:"orchestrator",name:"Orchestrator",description:"Coordinates fresh agents through the Viewer control plane.",config:{engine:"claude",model:"opus",effort:"high"},parameters:[{key:"mode",label:"Mode",description:"Operating mode for the coordination run.",kind:"select",options:["standard","plan-tickets","wayfind","backlog-campaign"]},{key:"repo",label:"Repository",description:"Repository for backlog-campaign mode.",kind:"text"},{key:"issueQuery",label:"Issue query",description:"GitHub issue query for backlog-campaign mode.",kind:"text"},{key:"urgent",label:"Urgent list",description:"Comma-separated urgent issue ids.",kind:"text"},{key:"maxWorkers",label:"Maximum workers",description:"Worker cap for backlog-campaign mode.",kind:"integer",default:3,min:1,max:20},{key:"mergePolicy",label:"Merge policy",description:"Delivery policy for backlog-campaign mode.",kind:"select",options:["pr","merge"]},{key:"completionPolicy",label:"Completion policy",description:"Terminal policy for backlog-campaign mode.",kind:"select",options:["pr-opened","merged","released"]}],promptScaffold:`You are the Orchestrator. Drive work through the production Viewer API at http://127.0.0.1:8898. Use fresh empty sessions with src lineage; forks are disabled. Keep every worker visible and controllable in the Viewer.
2
+
3
+ Mode: {{mode}}
4
+ Repository: {{repo}}
5
+ Issue query: {{issueQuery}}
6
+ Urgent list: {{urgent}}
7
+ Maximum workers: {{maxWorkers}}
8
+ Merge policy: {{mergePolicy}}
9
+ Completion policy: {{completionPolicy}}
10
+
11
+ For backlog-campaign mode, inventory dependencies before assignment, use Opus/Sol gates, route backend work to Terra and frontend work to Opus, complete one review round, and require root release checks. Before a Viewer replacement, preserve the external-worker deployment barrier.`,safetyFences:["Viewer control uses http://127.0.0.1:8898 with src lineage.","Fresh empty sessions only; forks are disabled.","One owner holds a file at a time across active worktrees."],capabilities:["spawn"]},{id:"reviewer",name:"Reviewer",description:"Reviews a code diff and returns severity-ranked evidence-backed findings.",config:{engine:"codex",model:d.je,effort:"xhigh"},parameters:[{key:"diffSource",label:"Diff source",description:"Diff or pull request reference to inspect.",kind:"text",required:!0},{key:"lens",label:"Lens",description:"Review lens.",kind:"select",options:["correctness","over-engineering","silent-failure","test-coverage","scope","prod-ops","standards+spec","code-smells","all"]},{key:"mode",label:"Mode",description:"Reviewer context mode.",kind:"select",options:["fresh"]},{key:"parallelN",label:"Parallel passes",description:"Independent review passes.",kind:"integer",min:1,max:8}],promptScaffold:"You are a fresh-context Reviewer. Inspect {{diffSource}} with lens {{lens}}. Run {{parallelN}} independent pass(es), preserving their axes. Return severity-ranked findings with file:line evidence, or exactly NO FINDINGS when the diff is clean. Every finding is an actionable fix plan: clear problem statement, fix intent, constraints, and acceptance criteria. No copy-paste code unless absolutely necessary.",safetyFences:e,capabilities:["read-only"]},{id:"verifier",name:"Verifier",description:"Tests supplied hypotheses and returns a per-claim evidence verdict.",config:{engine:"codex",model:d.je,effort:"high"},parameters:[{key:"claims",label:"Claims",description:"Hypotheses to confirm or refute.",kind:"text",required:!0}],promptScaffold:"You are a Verifier. Evaluate these supplied claims: {{claims}}. Rank falsifiable hypotheses before testing. Return CONFIRMED or WRONG for every claim with exact evidence and identify missing evidence.",safetyFences:e,capabilities:["read-only"]},{id:"builder",name:"Builder",description:"Writes product code for a scoped directive.",config:{engine:"codex",model:d.je,effort:"medium"},parameters:[{key:"mode",label:"Mode",description:"Implementation discipline.",kind:"select",options:["plain","apply-fixes","tdd","diagnose","prototype","merge-resolve"]},{key:"domain",label:"Domain",description:"Product domain for the implementation.",kind:"select",options:["general","frontend"]}],promptScaffold:"You are a Builder in {{mode}} mode. Implement the scoped product directive with focused checks. Keep changes within the assigned file ownership, run a self-review, and report the verification evidence.",safetyFences:["Product source changes stay inside the assigned scope.","A deployment requires a Deployer role and explicit operator approval."],capabilities:[]},{id:"architect",name:"Architect",description:"Produces an evidence-grounded design without product edits.",config:{engine:"claude",model:"opus",effort:"high"},parameters:[{key:"mode",label:"Mode",description:"Architecture output mode.",kind:"select",options:["design","spec","architecture-audit"]}],promptScaffold:"You are an Architect in {{mode}} mode. Ground the design in current code, state options and trade-offs, then deliver a design document. Product-source edits are prohibited.",safetyFences:["Product-source edits, staging, commits, pushes, and service restarts are prohibited.","Capture an ADR only for a hard-to-reverse decision with a material trade-off."],capabilities:["read-only"]},{id:"cleaner",name:"Cleaner",description:"Safely recovers a dirty checkout under a backup contract.",config:{engine:"codex",model:d.fC,effort:"low"},parameters:[],promptScaffold:"You are a Cleaner. Classify the dirty checkout, preserve recoverable evidence before each destructive operation, and keep sibling worktrees untouched. Report the exact recovery actions and resulting git status.",safetyFences:["Create a backup before each destructive operation.","Sibling worktrees and user data remain untouched without explicit operator approval."],capabilities:[]},{id:"prod-auditor",name:"Prod-auditor",description:"Performs a read-only evidence-backed production investigation.",config:{engine:"codex",model:d.je,effort:"xhigh"},parameters:[{key:"questions",label:"Questions",description:"Production questions to investigate.",kind:"text",required:!0}],promptScaffold:"You are a Prod-auditor. Investigate {{questions}} through the production read wrapper only. Cite every finding with the exact command or SQL and UTC time bounds. Return evidence with no runtime mutation.",safetyFences:["Use the production read wrapper only.","Writes, restarts, deploys, and credential disclosure are prohibited."],capabilities:["read-only","production-read"]},{id:"deployer",name:"Deployer",description:"Plans a blue/green production deployment and stops for approval before mutation.",config:{engine:"codex",model:d.fC,effort:"medium"},parameters:[{key:"sha",label:"Merged SHA",description:"Merged commit SHA to deploy.",kind:"text",required:!0},{key:"pr",label:"Pull request",description:"Optional pull request reference.",kind:"text"}],promptScaffold:"You are a Deployer. Plan the blue/green deployment for merged SHA {{sha}} (PR {{pr}}). Validate the inactive color, present each mutating step for explicit operator approval, then stop. Preserve the external-worker deployment barrier.",safetyFences:["Every mutating production step waits for explicit operator approval.","Rebuild or restart only the inactive color after its validation."],capabilities:["production-write"]}]},79247:(a,b,c)=>{c.d(b,{y:()=>d});function d(a){return void 0!==a.default?a.default:"integer"===a.kind?a.min??1:"select"===a.kind?a.options?.[0]??"":""}},89822:(a,b,c)=>{c.d(b,{le:()=>l,gP:()=>k,pQ:()=>p,e3:()=>q});var d=c(73024),e=c.n(d);c(76760);var f=c(91724),g=c(58152),h=c(4837),i=c(18797);let j=["orchestrator","reviewer","verifier","builder","architect","cleaner","prod-auditor","deployer"],k=1,l=12e3;class m extends Error{constructor(a,b){super(a,b),this.name="RoleStoreError"}}let n=()=>(0,f.BQ)("role-presets.json");function o(a){return i.W.map(b=>{let c=a[b.id];return{...b,config:{...b.config,...c?.config},promptScaffold:c?.promptScaffold??b.promptScaffold}})}function p(){return o(function(){let a,b;try{a=e().readFileSync(n(),"utf8")}catch(a){if("ENOENT"===a.code)return{schemaVersion:k,overrides:{}};throw new m(`could not read role override registry: ${n()}`,{cause:a})}try{b=JSON.parse(a)}catch(a){throw new m("role override registry contains malformed JSON",{cause:a})}if(b.schemaVersion!==k)throw new m(`unsupported role override schema: ${String(b.schemaVersion)}`);if(!b.overrides||"object"!=typeof b.overrides||Array.isArray(b.overrides))throw new m("role override registry must contain an overrides object");let c={};for(let[a,d]of Object.entries(b.overrides)){if(!("string"==typeof a&&j.includes(a))||!function(a){if(!a||"object"!=typeof a||Array.isArray(a)||Object.keys(a).some(a=>"config"!==a&&"promptScaffold"!==a)||void 0!==a.promptScaffold&&("string"!=typeof a.promptScaffold||a.promptScaffold.length>l))return!1;if(void 0!==a.config){if(!a.config||"object"!=typeof a.config||Array.isArray(a.config)||Object.keys(a.config).some(a=>"engine"!==a&&"model"!==a&&"effort"!==a))return!1;let{engine:b,model:c,effort:d}=a.config;if(void 0!==b&&"claude"!==b&&"codex"!==b||void 0!==c&&("string"!=typeof c||c.length>128)||void 0!==d&&("string"!=typeof d||d.length>32))return!1}return!0}(d)||!function(a,b){let c={...i.W.find(b=>b.id===a).config,...b.config};return!(c.model.length>128||/[\u0000-\u001f\u007f]/.test(c.model))&&("claude"!==c.engine||!!(0,h.OV)(c.model))&&("codex"!==c.engine||!!c.model.startsWith("gpt-"))&&(0,g.z9)(c.engine,c.effort)}(a,d))throw new m(`invalid role override: ${a}`);c[a]=d}return{schemaVersion:k,overrides:c}}().overrides)}function q(){try{return p()}catch(a){return console.warn("[roles] override registry unreadable; falling back to built-in defaults",a),o({})}}},99411:(a,b,c)=>{c.d(b,{aW:()=>m,OH:()=>o,fy:()=>n,s8:()=>p,X2:()=>l,hB:()=>k,$d:()=>j});var d=c(58152),e=c(4837);let f={engine:"claude",model:"opus",effort:"high"},g={engine:"codex",model:"gpt-5.6-terra",effort:"low"};var h=c(79247),i=c(89822);function j(a,b,{requireRequired:c=!0}={}){if(void 0!==b&&(!b||"object"!=typeof b||Array.isArray(b)))return{ok:!1,error:"roleParams must be an object"};let d=b??{},e=new Map(a.parameters.map(a=>[a.key,a]));for(let b of Object.keys(d))if(!e.has(b)){let c=a.parameters.map(a=>a.key).join(", ")||"none";return{ok:!1,error:`unknown role parameter: ${b} (${a.id} accepts: ${c})`}}let f={};for(let b of a.parameters){let a=d[b.key];if(void 0===a||""===a){if(b.required&&c)return{ok:!1,error:`missing required role parameter: ${b.key}`};f[b.key]=(0,h.y)(b);continue}if("integer"===b.kind){if(!Number.isInteger(a)||"number"!=typeof a||void 0!==b.min&&a<b.min||void 0!==b.max&&a>b.max)return{ok:!1,error:`invalid role parameter: ${b.key}`};f[b.key]=a;continue}let e=function(a){if("string"!=typeof a)return null;let b=a.trim();return b&&b.length<=2e3?b:null}(a);if(!e||"select"===b.kind&&!b.options?.includes(e))return{ok:!1,error:`invalid role parameter: ${b.key}`};f[b.key]=e}return{ok:!0,value:f}}function k(a,b){var c;let d="builder"===a.id&&"frontend"===b.domain?"\n\nUI/frontend implementation guidance: follow the approved interaction and visual contract, preserve accessible semantics, responsive behavior, and English/Ukrainian parity.":"";return c=a.promptScaffold,c.replace(/\{\{([A-Za-z][A-Za-z0-9]*)\}\}/g,(a,c)=>String(b[c]??""))+d}function l(a){return a.safetyFences.length?`
12
+
13
+ Safety fences:
14
+ ${a.safetyFences.map(a=>`- ${a}`).join("\n")}`:""}function m(a,b){return"builder"!==a.id?a.config:"frontend"===b.domain?f:"apply-fixes"===b.mode?g:a.config}function n(a,b={},c={},f=(0,i.pQ)()){var g;let h,o=f.find(b=>b.id===a);if(!o)return{ok:!1,error:`unknown role: ${a} (allowed: ${f.map(a=>a.id).join(", ")})`};let p=j(o,b);if(!p.ok)return p;let q=(g=p.value,"claude"!==(h={...m(o,g),...c}).engine&&"codex"!==h.engine?{ok:!1,error:"engine must be claude or codex"}:!h.model||h.model.length>128?{ok:!1,error:"model must be a printable id up to 128 characters"}:"claude"!==h.engine||(0,e.OV)(h.model)?"codex"!==h.engine||h.model.startsWith("gpt-")?(0,d.z9)(h.engine,h.effort)?{ok:!0,value:h}:{ok:!1,error:`effort for ${h.engine} must be one of: ${"codex"===h.engine?"low, medium, high, xhigh":"low, medium, high, xhigh, max"}`}:{ok:!1,error:"model is not supported by codex"}:{ok:!1,error:"model is not supported by claude"});return q.ok?{ok:!0,value:{definition:o,config:q.value,params:p.value,prompt:k(o,p.value)+l(o),requiresDeploymentConfirmation:"deployer"===o.id}}:q}function o(){return(0,i.pQ)()}function p(a){if(void 0===a.role||null===a.role||""===a.role)return{ok:!0,value:null};if("string"!=typeof a.role)return{ok:!1,error:"role must be a string"};let b=n(a.role,a.roleParams);if(!b.ok)return b;let c={};if(void 0!==a.engine){if("claude"!==a.engine&&"codex"!==a.engine)return{ok:!1,error:"engine must be claude or codex"};if(a.engine!==b.value.config.engine&&void 0===a.model)return{ok:!1,error:"model is required when overriding a role engine"};c.engine=a.engine}"string"==typeof a.model&&a.model.trim()&&(c.model=a.model.trim()),"string"==typeof a.effort&&a.effort.trim()&&(c.effort=a.effort.trim());let d=n(a.role,a.roleParams,c);return d.ok?d.value.requiresDeploymentConfirmation&&"deploy"!==a.confirm?{ok:!1,error:"deployer requires confirm: deploy"}:{ok:!0,value:{config:d.value.config,scaffold:d.value.prompt,role:d.value.definition.id}}:d}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9598,exports.ids=[9598],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:()=>B,gB:()=>p,oV:()=>A});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}function s(a){try{let b=JSON.parse(h().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){if(!l.B.pidAlive(b.pid))return!0;if("string"!=typeof b.startIdentity)return!1;let a=l.B.processIdentity(b.pid);return null!==a&&a!==b.startIdentity}return Date.now()-h().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-h().statSync(a).mtimeMs>3e4}catch{return!1}}}function t(a,b){try{JSON.parse(h().readFileSync(a,"utf8")).token===b&&h().rmSync(a,{force:!0})}catch{}}function u(){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 v(){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),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 w(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(s(d)){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 s(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:u()};return{context:d,release(){d.active=!1,h().closeSync(b),t(a.lock,a.owner.token),t(a.ticket,a.owner.token)}}}function x(a,b){return{context:a.context,release(){try{a.release()}finally{b()}}}}async function y(){let a=await r(),b=null;try{b=v();for(let c=0;c<2e3;c+=1){let c=w(b);if(c)return x(c,a);await new Promise(a=>setTimeout(a,5))}throw Error("account mutation is busy; retry shortly")}catch(c){throw b&&t(b.ticket,b.owner.token),a(),c}}function z(a){!function(a){let b=(0,k.BQ)("account-mutation-revision.json");if(u()!==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 A(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=v();for(let c=0;c<2;c+=1){let c=w(b);if(c)return x(c,a)}throw new p}catch(c){throw b&&t(b.ticket,b.owner.token),a(),c}}();try{return z(c.context),n.run(c.context,a)}finally{c.release()}}async function B(a){let b=n.getStore();if(b?.active)return a();let c=await y();try{return z(c.context),await n.run(c.context,a)}finally{c.release()}}},27832:(a,b,c)=>{c.d(b,{MO:()=>k,Mv:()=>j,V5:()=>n,im:()=>o,rj:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j="project_unresolved",k="Unresolved project";function l(a){return a===j?k:a}function m(a){let b=i().join(a,".git");try{let c=g().lstatSync(b);if(c.isDirectory())return b;if(!c.isFile())return null;let d=g().readFileSync(b,"utf8").slice(0,4096),e=/^gitdir:\s*(.+?)\s*$/im.exec(d)?.[1];return e?i().resolve(a,e):null}catch{return null}}function n(a){let b=i().resolve(a);for(;;){if(m(b))return b;let a=i().dirname(b);if(a===b)return null;b=a}}function o(a){let b,c=m(a);if(!c)return null;try{b=g().readFileSync(i().join(function(a){try{let b=g().readFileSync(i().join(a,"commondir"),"utf8").trim();return b?i().resolve(a,b):a}catch{return a}}(c),"config"),"utf8")}catch{return null}let d=function(a){let b=!1;for(let c of a.split(/\r?\n/)){let a=/^\s*\[\s*remote\s+"([^"]+)"\s*\]\s*$/i.exec(c);if(a){b="origin"===a[1];continue}if(/^\s*\[/.test(c)){b=!1;continue}if(!b)continue;let d=/^\s*url\s*=\s*(.*?)\s*$/i.exec(c)?.[1],e=d?.replace(/\s+[;#].*$/,"").trim();if(e)return e}return null}(b),f=(()=>{try{return g().realpathSync.native(a)}catch{return i().resolve(a)}})(),h=d?function(a,b){let c=/^[a-z][a-z0-9+.-]*:\/\//i.test(a)?null:/^(?:[^@\s]+@)?([^:/\s]+):(.+)$/.exec(a);if(c){let a=c[1].toLowerCase(),b=c[2].replace(/^\/+|\/+$/g,"").replace(/\.git$/i,"");return b?`${a}/${b}`:null}try{let b=new URL(a);if("file:"===b.protocol){let a=i().resolve(b.pathname).replace(/\.git$/i,"");return`file:${a}`}let c=b.hostname.toLowerCase(),d=b.port?`:${b.port}`:"",e=b.pathname.replace(/^\/+|\/+$/g,"").replace(/\.git$/i,"");return c&&e?`${c}${d}/${e}`:null}catch{let c=i().resolve(b,a).replace(/\.git$/i,"");return`file:${c}`}}(d,a):`local:${f}`,j=h&&h.replace(/^file:/,"").split("/").filter(Boolean).at(-1)?.trim()||null;if(!h||!j)return null;let k=e().createHash("sha256").update(h).digest("hex").slice(0,32);return{project:`repo-${k}`,displayName:j,canonicalRemote:h}}},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})},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})}},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");let c=b.now??new Date;return u(d=>{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?"accepted":"pending",stateChangedAt:c.toISOString(),expiresAt:(0,l.KN)(c),offeredTo:a.offeredTo??[],..."operator"===a.origin&&a.offeredTo?.length?{acknowledgedBy:a.offeredTo[0],acceptedVia:"operator"}:{},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}}},{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})}},65699:(a,b,c)=>{c.d(b,{S5:()=>j,ao:()=>m,wd:()=>k});var d=c(29733),e=c(33017),f=c(42713),g=c(54873),h=c(59117);function i(a,b){return Date.parse(a.createdAt)-Date.parse(b.createdAt)||a.id.localeCompare(b.id)}function j(a,b={}){let c=b.now??new Date,d=(0,h.m9)({filePath:b.filePath,now:c}),f=(0,h.$C)(b.filePath,c),k=(0,h.D3)(f).sort(i).map(b=>({request:b,status:(0,g.kt)(b,a),returnAvailable:(0,g.Qo)(b,a,c)})),l=k.filter(a=>"actionable"===a.status||"following"===a.status),m=l.find(a=>(0,g.H2)(a.request,c))??l[0]??null;return{rootId:(0,e.ng)(),offer:m,live:k,expired:d}}function k(a,b={}){return(0,h.eL)({...a,offeredTo:a.offeredTo??("root-agent"===a.origin?function(a=new Date){let b=a.getTime(),c=[];for(let a of(0,f.uA)(b))if("mobile"!==a.device.kind&&l.has(a.mode)){var d;d={visibility:a.visibility,freshness:(0,f.I9)(a,b)},d?.visibility==="visible"&&"active"===d.freshness&&(c.includes(a.deviceId)||c.push(a.deviceId))}return c}(b.now):void 0),target:function(a,b){if("conversation"!==a.kind)return a;let c=b??(0,d.tk)(),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)}let l=new Set(["overview","scheme","mobile-focus","mobile-map"]);function m(a,b,c={}){return(0,h.d4)(a,b,c)}},89940:(a,b,c)=>{c.d(b,{E2:()=>r,G$:()=>q,JC:()=>u,YX:()=>w,oh:()=>x});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(27832);let l=null;function m(){return(0,j.BQ)("project-aliases.json")}function n(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=Object.entries(a);return b.every(([a,b])=>!!a.trim()&&"string"==typeof b&&!!b.trim())?Object.fromEntries(b):null}function o(){let a,b=m();try{a=g().statSync(b)}catch{return(l={file:b,mtimeMs:-1,size:-1,snapshot:{aliases:{},displayNames:{}}}).snapshot}if(l&&l.file===b&&l.mtimeMs===a.mtimeMs&&l.size===a.size)return l.snapshot;try{let c=JSON.parse(g().readFileSync(b,"utf8")),d=1===c.schemaVersion?n(c.aliases):null,e=1===c.schemaVersion?n(c.displayNames):null,f=d&&e?{aliases:d,displayNames:e}:{aliases:{},displayNames:{}};return l={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:f},f}catch{let c={aliases:{},displayNames:{}};return l={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:c},c}}function p(a,b){let c=a,d=new Set;for(;b[c]&&!d.has(c);)d.add(c),c=b[c];return d.has(c)?a:c}function q(a){return p(a,o().aliases)}function r(){let a=o();return{aliases:{...a.aliases},displayNames:{...a.displayNames}}}function s(a){try{let b=JSON.parse(g().readFileSync((0,j.BQ)(a),"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function t(a,b,c){let d=s(a)?.[b];if(!Array.isArray(d))return[];let e=[];for(let a of d)!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.project&&a.project.trim()&&"string"==typeof a[c]&&a[c].trim()&&e.push([a.project,a[c]]);return e}function u(){let a=function(){let a=s("worktree-map.json");if(!a)return new Map;let b=new Map;for(let[c,d]of Object.entries(a)){if(!d||"object"!=typeof d||Array.isArray(d))continue;let a=d.repo;"string"==typeof a&&a.trim()&&b.set(c,a)}return b}(),b=[...t("flows.json","flows","cwd"),...t("pipelines.json","pipelines","repoDir"),...t("workflows.json","workflows","repoDir")],c=new Map;for(let[d,e]of b){let b=(0,k.V5)(e)??a.get(e),f=b?(0,k.im)(b):null;if(!f)continue;let g=c.get(d)??new Map,h=g.get(f.project)??{registration:{source:d,target:f.project,displayName:f.displayName},records:0};h.records+=1,g.set(f.project,h),c.set(d,g)}let d=[],e=[];for(let[a,b]of c){if(b.has(a)){b.size>1&&e.push(a);continue}let c=[...b.values()].sort((a,b)=>b.records-a.records),f=c.reduce((a,b)=>a+b.records,0),g=c[0];2*g.records>f?d.push(g.registration):e.push(a)}let f=function(a){let b=new Map(a.map(a=>[a.source,a.target])),c=new Set,d=new Set;for(let[a,e]of[["tasks.json","tasks"],["flows.json","flows"],["pipelines.json","pipelines"],["workflows.json","workflows"]]){let f=new Map;for(let g of function(a,b){let c=s(a)?.[b];return Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[]}(a,e)){if("string"!=typeof g.id||!g.id.trim()||"string"!=typeof g.project||!g.project.trim())continue;let a=q(g.project),h=b.get(a)??a,i=`${h}\0${g.id}`,j=f.get(i);j&&j!==a?(c.add(`${e} id collision`),b.has(j)&&d.add(j),b.has(a)&&d.add(a)):f.set(i,a)}}return{labels:[...c],sources:d}}(d);return e.push(...f.labels),{registrations:d.filter(a=>!f.sources.has(a.source)),conflicts:e}}function v(a){let b=o(),c={...b.aliases},d={...b.displayNames};for(let b of a){let a=b.source.trim(),e=p(b.target.trim(),c),f=b.displayName.trim();if(!a||!e||!f)return null;let g=c[a]?p(c[a],c):null;if(g&&g!==e)return null;a!==e&&(c[a]=e),d[e]=f}return{aliases:c,displayNames:d}}function w(a){return null!==v(a)}function x(a){if(0===a.length)return!0;let b=v(a);if(!b)return!1;let c=m(),d=i().join(i().dirname(c),`.${i().basename(c)}.${process.pid}.${e().randomUUID()}.tmp`);try{return g().mkdirSync(i().dirname(c),{recursive:!0,mode:448}),g().writeFileSync(d,JSON.stringify({schemaVersion:1,...b},null,2)+"\n",{encoding:"utf8",mode:384}),g().renameSync(d,c),l=null,o(),!0}catch{try{g().rmSync(d,{force:!0})}catch{}return!1}}}};