agent-log-viewer 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/bin/cli.mjs +4 -0
  2. package/bin/server-runtime.test.ts +63 -12
  3. package/dist/mcp-server.mjs +14033 -7722
  4. package/dist/runtime-host.mjs +17096 -7307
  5. package/dist/standalone/.next/BUILD_ID +1 -1
  6. package/dist/standalone/.next/app-path-routes-manifest.json +24 -19
  7. package/dist/standalone/.next/build-manifest.json +3 -3
  8. package/dist/standalone/.next/prerender-manifest.json +4 -4
  9. package/dist/standalone/.next/react-loadable-manifest.json +1 -1
  10. package/dist/standalone/.next/required-server-files.json +1 -1
  11. package/dist/standalone/.next/routes-manifest.json +30 -0
  12. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
  13. package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
  14. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  15. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  17. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  19. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  20. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  25. package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
  26. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  27. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  30. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  31. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
  32. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
  33. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
  34. package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
  35. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
  36. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
  37. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
  38. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
  39. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
  40. package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
  41. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
  42. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
  43. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
  44. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
  45. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
  48. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
  49. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
  50. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
  51. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
  52. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
  53. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
  54. package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
  55. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
  56. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
  57. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
  58. package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
  59. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
  60. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
  61. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
  62. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
  63. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
  64. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
  65. package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
  66. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
  67. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
  68. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
  69. package/dist/standalone/.next/server/app/api/answer/route.js +1 -2
  70. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  71. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
  72. package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
  73. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
  74. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
  75. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
  76. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
  77. package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
  78. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
  79. package/dist/standalone/.next/server/app/api/board/route.js +1 -1
  80. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
  81. package/dist/standalone/.next/server/app/api/bridge/route.js +1 -2
  82. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
  83. package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
  84. package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
  85. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
  86. package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
  87. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
  88. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
  89. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
  90. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
  91. package/dist/standalone/.next/server/app/api/files/route.js +3 -2
  92. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  93. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  94. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  95. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  96. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  97. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  98. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  99. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  100. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  101. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
  102. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
  103. package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
  104. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
  105. package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
  106. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  107. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
  108. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
  109. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
  110. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
  111. package/dist/standalone/.next/server/app/api/log/provenance/route.js +107 -1
  112. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
  113. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  114. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  115. package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -4
  116. package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
  117. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  118. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  119. package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  120. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  121. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -3
  122. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
  123. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +23 -0
  124. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
  125. package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
  126. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
  127. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
  128. package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route_client-reference-manifest.js +1 -0
  129. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
  130. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
  131. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
  132. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
  133. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -3
  134. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
  135. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
  136. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
  137. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
  138. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
  139. package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -2
  140. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
  141. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
  142. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
  143. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  144. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  145. package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
  146. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
  147. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
  148. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
  149. package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
  150. package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
  151. package/dist/standalone/.next/server/app/api/push/route.js +2 -2
  152. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  153. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  154. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  155. package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
  156. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
  157. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
  158. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
  159. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
  160. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
  161. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
  162. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
  163. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
  164. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
  165. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
  166. package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
  167. package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -0
  168. package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
  169. package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
  170. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
  171. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
  172. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
  173. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
  174. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
  175. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
  176. package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -0
  177. package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
  178. package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
  179. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
  180. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
  181. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
  182. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
  183. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
  184. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
  185. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
  186. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
  187. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
  188. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
  189. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
  190. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
  191. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -2
  192. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
  193. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  194. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  195. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
  196. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
  197. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
  198. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
  199. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -3
  200. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
  201. package/dist/standalone/.next/server/app/api/spawn/route.js +1 -2
  202. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  203. package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -0
  204. package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
  205. package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
  206. package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
  207. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
  208. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
  209. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
  210. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
  211. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  212. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  213. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  214. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -2
  215. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  216. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -2
  217. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  218. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  219. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  220. package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
  221. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  222. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
  223. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
  224. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
  225. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
  226. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  227. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  228. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  229. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  230. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  231. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  232. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  233. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  234. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  235. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  236. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  237. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  238. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
  239. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
  240. package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
  241. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
  242. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -1
  243. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
  244. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  245. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  246. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  247. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  249. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  250. package/dist/standalone/.next/server/app/index.html +1 -1
  251. package/dist/standalone/.next/server/app/index.rsc +3 -3
  252. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  253. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  254. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  255. package/dist/standalone/.next/server/app/page.js +59 -30
  256. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  257. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  258. package/dist/standalone/.next/server/app-paths-manifest.json +24 -19
  259. package/dist/standalone/.next/server/chunks/107.js +1 -1
  260. package/dist/standalone/.next/server/chunks/1100.js +29 -10
  261. package/dist/standalone/.next/server/chunks/1406.js +399 -0
  262. package/dist/standalone/.next/server/chunks/1585.js +108 -0
  263. package/dist/standalone/.next/server/chunks/160.js +4 -4
  264. package/dist/standalone/.next/server/chunks/1617.js +2 -2
  265. package/dist/standalone/.next/server/chunks/1849.js +1 -0
  266. package/dist/standalone/.next/server/chunks/1888.js +1 -1
  267. package/dist/standalone/.next/server/chunks/193.js +1 -0
  268. package/dist/standalone/.next/server/chunks/1952.js +1 -0
  269. package/dist/standalone/.next/server/chunks/2150.js +1 -1
  270. package/dist/standalone/.next/server/chunks/2549.js +1 -1
  271. package/dist/standalone/.next/server/chunks/2555.js +1 -0
  272. package/dist/standalone/.next/server/chunks/2647.js +1 -1
  273. package/dist/standalone/.next/server/chunks/2744.js +3 -0
  274. package/dist/standalone/.next/server/chunks/2857.js +1 -0
  275. package/dist/standalone/.next/server/chunks/286.js +22 -0
  276. package/dist/standalone/.next/server/chunks/2914.js +24 -0
  277. package/dist/standalone/.next/server/chunks/3034.js +1 -0
  278. package/dist/standalone/.next/server/chunks/3086.js +1 -1
  279. package/dist/standalone/.next/server/chunks/3131.js +1 -0
  280. package/dist/standalone/.next/server/chunks/3214.js +1 -1
  281. package/dist/standalone/.next/server/chunks/3302.js +1 -2
  282. package/dist/standalone/.next/server/chunks/3407.js +1 -0
  283. package/dist/standalone/.next/server/chunks/3422.js +1 -0
  284. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  285. package/dist/standalone/.next/server/chunks/3570.js +81 -0
  286. package/dist/standalone/.next/server/chunks/3587.js +1 -1
  287. package/dist/standalone/.next/server/chunks/3743.js +76 -24
  288. package/dist/standalone/.next/server/chunks/3830.js +1 -1
  289. package/dist/standalone/.next/server/chunks/3896.js +1 -0
  290. package/dist/standalone/.next/server/chunks/4037.js +1 -0
  291. package/dist/standalone/.next/server/chunks/4127.js +1 -1
  292. package/dist/standalone/.next/server/chunks/4509.js +1 -1
  293. package/dist/standalone/.next/server/chunks/4637.js +62 -0
  294. package/dist/standalone/.next/server/chunks/4651.js +1 -1
  295. package/dist/standalone/.next/server/chunks/4783.js +1 -0
  296. package/dist/standalone/.next/server/chunks/4972.js +3 -3
  297. package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
  298. package/dist/standalone/.next/server/chunks/5408.js +1 -1
  299. package/dist/standalone/.next/server/chunks/5480.js +1 -1
  300. package/dist/standalone/.next/server/chunks/5545.js +1 -1
  301. package/dist/standalone/.next/server/chunks/568.js +1 -2
  302. package/dist/standalone/.next/server/chunks/5682.js +1 -0
  303. package/dist/standalone/.next/server/chunks/5771.js +1 -0
  304. package/dist/standalone/.next/server/chunks/5847.js +1 -0
  305. package/dist/standalone/.next/server/chunks/6023.js +1 -0
  306. package/dist/standalone/.next/server/chunks/606.js +126 -0
  307. package/dist/standalone/.next/server/chunks/6277.js +81 -0
  308. package/dist/standalone/.next/server/chunks/6289.js +2 -0
  309. package/dist/standalone/.next/server/chunks/644.js +81 -0
  310. package/dist/standalone/.next/server/chunks/6453.js +1 -0
  311. package/dist/standalone/.next/server/chunks/6522.js +1 -0
  312. package/dist/standalone/.next/server/chunks/6665.js +1 -1
  313. package/dist/standalone/.next/server/chunks/6809.js +3 -0
  314. package/dist/standalone/.next/server/chunks/6826.js +1 -1
  315. package/dist/standalone/.next/server/chunks/6926.js +1 -1
  316. package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
  317. package/dist/standalone/.next/server/chunks/6978.js +1 -0
  318. package/dist/standalone/.next/server/chunks/7008.js +114 -9
  319. package/dist/standalone/.next/server/chunks/7192.js +1 -0
  320. package/dist/standalone/.next/server/chunks/7238.js +2 -0
  321. package/dist/standalone/.next/server/chunks/7644.js +3 -3
  322. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  323. package/dist/standalone/.next/server/chunks/781.js +55 -0
  324. package/dist/standalone/.next/server/chunks/7826.js +62 -0
  325. package/dist/standalone/.next/server/chunks/8027.js +11 -1
  326. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  327. package/dist/standalone/.next/server/chunks/8465.js +2 -2
  328. package/dist/standalone/.next/server/chunks/8512.js +1 -0
  329. package/dist/standalone/.next/server/chunks/8513.js +2 -0
  330. package/dist/standalone/.next/server/chunks/8617.js +1 -1
  331. package/dist/standalone/.next/server/chunks/8817.js +1 -1
  332. package/dist/standalone/.next/server/chunks/8966.js +2 -2
  333. package/dist/standalone/.next/server/chunks/8991.js +1 -1
  334. package/dist/standalone/.next/server/chunks/8996.js +1 -1
  335. package/dist/standalone/.next/server/chunks/9296.js +104 -0
  336. package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
  337. package/dist/standalone/.next/server/chunks/9307.js +1 -1
  338. package/dist/standalone/.next/server/chunks/9360.js +199 -0
  339. package/dist/standalone/.next/server/chunks/9403.js +1 -1
  340. package/dist/standalone/.next/server/chunks/9517.js +1 -1
  341. package/dist/standalone/.next/server/chunks/9554.js +47 -0
  342. package/dist/standalone/.next/server/chunks/9676.js +1 -62
  343. package/dist/standalone/.next/server/chunks/9822.js +11 -1
  344. package/dist/standalone/.next/server/chunks/9901.js +1 -62
  345. package/dist/standalone/.next/server/chunks/9940.js +3 -3
  346. package/dist/standalone/.next/server/chunks/9998.js +1 -1
  347. package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
  348. package/dist/standalone/.next/server/files-response-worker.js +6 -6
  349. package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
  350. package/dist/standalone/.next/server/instrumentation.js +1 -1
  351. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  352. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  353. package/dist/standalone/.next/server/middleware.js +4 -4
  354. package/dist/standalone/.next/server/pages/404.html +1 -1
  355. package/dist/standalone/.next/server/pages/500.html +1 -1
  356. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  357. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  358. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
  359. package/dist/standalone/.next/static/836HTp-5V8cZC5YWFVOCk/_buildManifest.js +1 -0
  360. package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
  361. package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
  464. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
  465. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
  466. package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
  467. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
  468. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
  469. package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
  470. package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +125 -0
  471. package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
  472. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
  473. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
  474. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
  475. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
  476. package/dist/standalone/.next/static/css/b25c03e915fd256b.css +1 -0
  477. package/dist/standalone/AGENTS.md +30 -0
  478. package/dist/standalone/node_modules/@next/env/package.json +1 -1
  479. package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  480. package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  481. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
  482. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  483. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  484. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
  485. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
  486. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
  487. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
  488. package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  489. package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
  490. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  491. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  492. package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
  493. package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  494. package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
  495. package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  496. package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
  497. package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  498. package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  499. package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  500. package/dist/standalone/node_modules/next/package.json +10 -10
  501. package/dist/standalone/package.json +5 -5
  502. package/dist/standalone/server.bun.js +1 -1
  503. package/dist/standalone/src/lib/viewerInstrumentation.ts +824 -0
  504. package/package.json +5 -5
  505. package/dist/standalone/.next/server/chunks/112.js +0 -1
  506. package/dist/standalone/.next/server/chunks/2190.js +0 -1
  507. package/dist/standalone/.next/server/chunks/2318.js +0 -2
  508. package/dist/standalone/.next/server/chunks/2371.js +0 -1
  509. package/dist/standalone/.next/server/chunks/2500.js +0 -55
  510. package/dist/standalone/.next/server/chunks/2799.js +0 -1
  511. package/dist/standalone/.next/server/chunks/2870.js +0 -104
  512. package/dist/standalone/.next/server/chunks/3598.js +0 -81
  513. package/dist/standalone/.next/server/chunks/3740.js +0 -126
  514. package/dist/standalone/.next/server/chunks/3953.js +0 -1
  515. package/dist/standalone/.next/server/chunks/411.js +0 -1
  516. package/dist/standalone/.next/server/chunks/4191.js +0 -1
  517. package/dist/standalone/.next/server/chunks/461.js +0 -1
  518. package/dist/standalone/.next/server/chunks/4968.js +0 -2
  519. package/dist/standalone/.next/server/chunks/6333.js +0 -47
  520. package/dist/standalone/.next/server/chunks/6839.js +0 -81
  521. package/dist/standalone/.next/server/chunks/7045.js +0 -319
  522. package/dist/standalone/.next/server/chunks/7159.js +0 -1
  523. package/dist/standalone/.next/server/chunks/8176.js +0 -1
  524. package/dist/standalone/.next/server/chunks/8263.js +0 -81
  525. package/dist/standalone/.next/server/chunks/8392.js +0 -126
  526. package/dist/standalone/.next/server/chunks/9120.js +0 -78
  527. package/dist/standalone/.next/server/chunks/9507.js +0 -1
  528. package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
  529. package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
  610. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
  611. package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
  612. package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
  615. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
  618. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
  619. package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
  620. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
  621. package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
  622. package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
  623. package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
  624. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
  625. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
  626. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
  627. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
  628. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
  629. package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
  630. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
  631. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
  632. package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
  633. package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
  634. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
  635. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
  636. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
  637. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
  638. package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
  639. package/dist/standalone/src/lib/inboxFiles.ts +0 -203
  640. /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → 836HTp-5V8cZC5YWFVOCk}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  "use strict";exports.id=8465,exports.ids=[8465],exports.modules={30737:(a,b,c)=>{c.d(b,{Pb:()=>s,TK:()=>r,vt:()=>p});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k);let m={platform:process.platform,security:(a,b)=>{let c=(0,d.spawnSync)("/usr/bin/security",a,{input:b,encoding:"utf8",timeout:2e3,maxBuffer:1048576,stdio:[void 0===b?"ignore":"pipe","pipe","pipe"]});return{status:c.error?null:c.status,stdout:c.stdout??""}}};function n(a){let b=process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL?"-custom-oauth":"",c=f().createHash("sha256").update(a.normalize("NFC")).digest("hex").slice(0,8);return`Claude Code${b}-credentials-${c}`}function o(){let a;try{a=process.env.USER||j().userInfo().username}catch{a="claude-code-user"}return/^[a-zA-Z0-9._-]+$/.test(a)?a:"claude-code-user"}function p(a){try{let b=h().lstatSync(l().join(a,".credentials.json"));return b.isFile()&&!b.isSymbolicLink()&&b.uid===(process.getuid?.()??b.uid)&&(63&b.mode)==0?"safe":"unsafe"}catch(a){return"ENOENT"===a.code?"absent":"unknown"}}function q(a,b){try{let c=JSON.parse(a);if(!c||"object"!=typeof c||Array.isArray(c)||"keychain"===b&&("string"!=typeof c.claudeAiOauth?.accessToken||!c.claudeAiOauth.accessToken))return{state:"unknown"};return{state:"present",source:b,document:c}}catch{return{state:"unknown"}}}function r(a,b=m){let c,d=p(a);if("unsafe"===d||"unknown"===d)return{state:d};if("darwin"===b.platform){let c=b.security(["find-generic-password","-a",o(),"-w","-s",n(a)]);if(0===c.status)return q(c.stdout.trim(),"keychain");if(44!==c.status)return{state:"unknown"}}if("absent"===d)return{state:"absent"};try{c=h().openSync(l().join(a,".credentials.json"),h().constants.O_RDONLY|h().constants.O_NOFOLLOW);let b=h().fstatSync(c);if(!b.isFile()||b.uid!==(process.getuid?.()??b.uid)||(63&b.mode)!=0)return{state:"unsafe"};return q(h().readFileSync(c,"utf8"),"file")}catch{return{state:"unknown"}}finally{void 0!==c&&h().closeSync(c)}}function s(a,b,c,d=m){let e=r(a,d);if("present"!==e.state||e.source!==b.source||JSON.stringify(e.document)!==JSON.stringify(b.document))return!1;let g=JSON.stringify(c);if("keychain"===b.source){let b=`add-generic-password -U -a "${o()}" -s "${n(a)}" -X "${Buffer.from(g).toString("hex")}"
2
- `;if(Buffer.byteLength(b)>4032||0!==d.security(["-i"],b).status)return!1;let c=r(a,d);return"present"===c.state&&"keychain"===c.source&&JSON.stringify(c.document)===g}let i=l().join(a,".credentials.json"),j=l().join(a,`.credentials.${f().randomUUID()}.tmp`);try{let b=h().openSync(j,"wx",384);try{h().writeFileSync(b,g),h().fsyncSync(b)}finally{h().closeSync(b)}if("safe"!==p(a))return!1;h().renameSync(j,i);let c=h().openSync(a,"r");try{h().fsyncSync(c)}finally{h().closeSync(c)}return!0}catch{return!1}finally{h().rmSync(j,{force:!0})}}},39137:(a,b,c)=>{c.d(b,{jK:()=>w,s4:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);c(77598),c(65972);var h=c(70160);class i extends Error{constructor(a){super("account history inventory blocked removal"),this.report=a,this.name="AccountHistoryInventoryBlockedError"}}let j={claude:new Set(["projects","file-history","session-env","shell-snapshots","todos","debug","backups","paste-cache"]),codex:new Set(["sessions","archived_sessions","log","shell_snapshots"])},k={claude:new Set([".credentials.json",".claude.json"]),codex:new Set(["auth.json"])},l={claude:new Set(["skills","commands","agents"]),codex:new Set(["skills","prompts","config.toml","AGENTS.md","memories","rules",g().join("plugins","cache")])},m={claude:new Set(["cache","plugins"]),codex:new Set([".tmp","mcp-oauth",g().join("plugins","data")])};function n(a,b){let c=new Set;for(let d of Object.values((0,h.agentRegistry)().readOnlySnapshot().conversations)){if(d.engine!==a)continue;let e=d.generations.filter(a=>a.accountId===b);for(let a of e)c.add(g().resolve(a.path));if(0!==e.length)for(let a of[...d.continuityPaths,...d.abandonedContinuityPaths,...d.providerForkPaths,...d.migration?.pendingContinuityPaths??[],...d.migration?.providerReceipt?.continuityPaths??[],...d.migration?.providerReceipt?[d.migration.providerReceipt.path]:[]])c.add(g().resolve(a))}return c}function o(a,b){return a===b||a.startsWith(`${b}${g().sep}`)}function p(a,b){if("claude"===a&&o(b,g().join("plugins","data")))return!1;for(let c of m[a])if(o(b,c))return!0;return!1}function q(a,b,c,d,e){let f,h,i=(f=b.split(g().sep)[0],h=g().basename(b),j[a].has(f)||"history.jsonl"===f||h.endsWith(".jsonl")||"codex"===a&&/\.sqlite3?(?:-(?:shm|wal))?$/.test(h));return d.isSymbolicLink()?l[a].has(b)?{path:b,classification:"owned",history:!1}:i?{path:b,classification:"history",history:!0}:{path:b,classification:"unknown",history:!1}:d.isDirectory()?function(a,b){for(let c of j[a])if(o(b,c))return!0;return!1}(a,b)||p(a,b)||"codex"===a&&"plugins"===b?{path:b,classification:"owned",history:!1}:{path:b,classification:"unknown",history:!1}:d.isFile()&&e.has(g().resolve(c))?{path:b,classification:"owned",history:!0}:i?{path:b,classification:"history",history:!0}:d.isFile()&&(k[a].has(b)||p(a,b))?{path:b,classification:"owned",history:!1}:{path:b,classification:"unknown",history:!1}}function r(a){return a instanceof Error?a.message:"filesystem inventory failed"}function s(){if("linux"!==process.platform)return new Set;let a=new Set;for(let b of e().readFileSync("/proc/self/mountinfo","utf8").split("\n")){if(!b)continue;let c=b.split(" ")[4];if(!c)throw Error("filesystem mount inventory is malformed");a.add(g().resolve(c.replace(/\\([0-7]{3})/g,(a,b)=>String.fromCharCode(Number.parseInt(b,8)))))}return a}function t(a,b,c){let d=g().resolve(c),f=[],h=".";try{let c=e().lstatSync(d);if(!c.isDirectory()||c.isSymbolicLink())throw Error("managed account home is not a safe directory");let i=process.getuid?.()??c.uid;if(c.uid!==i||(18&c.mode)!=0)throw Error("managed account home has unsafe ownership or permissions");let j=s();if(j.has(d))throw Error("managed account home is an external mount");let k=n(a,b),l=(b,d)=>{for(let m of(h=d||".",e().readdirSync(b,{withFileTypes:!0}))){let n=g().join(b,m.name),o=d?g().join(d,m.name):m.name;h=o;let p=e().lstatSync(n);if(j.has(g().resolve(n)))throw Error(`history inventory reached an external mount at ${o}`);if(p.dev!==c.dev)throw Error(`history inventory crossed a filesystem boundary at ${o}`);if(p.uid!==i||!p.isSymbolicLink()&&(18&p.mode)!=0)throw Error(`history inventory found unsafe ownership or permissions at ${o}`);if(f.push(q(a,o,n,p,k)),!p.isSymbolicLink()&&p.isDirectory()){l(n,o);continue}}};l(d,"")}catch(a){throw new i({home:d,artifacts:f,error:{path:h,message:r(a)}})}let j={home:d,artifacts:f.sort((a,b)=>a.path.localeCompare(b.path))};if(j.artifacts.some(a=>"owned"!==a.classification))throw new i(j);return j}function u(a,b,c){return new i({...a,error:{path:b,message:c}})}function v(a,b,c){return!a.mounts.has(g().resolve(c))&&b.dev===a.stat.dev&&b.uid===a.uid&&(b.isSymbolicLink()||(18&b.mode)==0)}function w(a,b,c){let d,f=t(a,b,c);if(f.artifacts.some(a=>a.history))throw new i(f);if("linux"!==process.platform)return!1;try{d=function(a,b,c){let d=g().resolve(c),f=e().lstatSync(d),h=process.getuid?.()??f.uid;if(!f.isDirectory()||f.isSymbolicLink()||f.uid!==h||(18&f.mode)!=0)throw Error("managed account home is not a safe directory");let i=s();if(i.has(d))throw Error("managed account home is an external mount");return{root:d,stat:f,uid:h,mounts:i,ownedPaths:n(a,b)}}(a,b,c)}catch(a){throw u(f,".",r(a))}let h=function a(b,c,d,f,h,i,j,k){let l;if("linux"!==process.platform)return{complete:!1,changed:!1};try{l=e().openSync(h,e().constants.O_RDONLY|e().constants.O_DIRECTORY|e().constants.O_NOFOLLOW)}catch(a){throw u(t(b,c,d),i||".",r(a))}try{let h=e().fstatSync(l),m=i?g().join(f.root,i):f.root;if(h.dev!==j.dev||h.ino!==j.ino||!v(f,h,m)){let a=t(b,c,d);throw u(a,i||".","account-home directory identity changed during removal")}let n=`/proc/self/fd/${l}`,o=!0,p=!1;for(let h of e().readdirSync(n,{withFileTypes:!0})){let j;if(!i&&k===h.name)continue;let l=g().join(n,h.name),m=i?g().join(i,h.name):h.name;try{j=e().lstatSync(l)}catch(e){let a=t(b,c,d);throw u(a,m,r(e))}if(!v(f,j,g().join(f.root,m))){let a=t(b,c,d);throw u(a,m,"account-home entry failed removal safety checks")}let s=q(b,m,g().join(f.root,m),j,f.ownedPaths);if("owned"!==s.classification||s.history){let a=t(b,c,d);throw u(a,m,"account-home entry is outside deletion ownership")}if(j.isSymbolicLink()){try{e().rmSync(l,{force:!0}),p=!0}catch{o=!1}continue}if(j.isDirectory()){let h=a(b,c,d,f,l,m,j,k);h.complete||(o=!1),h.changed&&(p=!0);try{e().rmdirSync(l),p=!0}catch(e){let a=t(b,c,d);if(a.artifacts.some(a=>a.history&&(a.path===m||a.path.startsWith(`${m}${g().sep}`))))throw u(a,m,"history appeared during account-home removal");"ENOENT"!==e.code&&(o=!1)}continue}try{e().rmSync(l,{force:!0}),p=!0}catch{o=!1}}return{complete:o,changed:p}}finally{e().closeSync(l)}}(a,b,c,d,d.root,"",d.stat,null);try{e().rmdirSync(d.root)}catch(d){if("ENOENT"!==d.code){let d=t(a,b,c);if(d.artifacts.some(a=>a.history))throw u(d,".","history appeared during account-home removal");return!1}}try{return h.complete&&!function(a){let b=g().resolve(a);try{return e().lstatSync(b),!0}catch(a){if("ENOENT"===a.code)return!1;throw new i({home:b,artifacts:[],error:{path:".",message:r(a)}})}}(d.root)}catch{return!1}}},68465:(a,b,c)=>{c.d(b,{Fn:()=>N,Hy:()=>y,No:()=>O,OL:()=>w,UV:()=>u,ZK:()=>V,fM:()=>W,fg:()=>Z,kK:()=>P,o1:()=>C,ob:()=>Q,pW:()=>S,qX:()=>T,ss:()=>R,x0:()=>Y,y3:()=>U});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(30737),l=c(65281),m=c(63685),n=c(39137);let o=/^[a-z0-9][a-z0-9-]{0,31}$/,p="default",q=["skills","commands","agents"],r=["settings.json"],s=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"]),t=null;class u extends Error{constructor(a){super(`unknown Claude account: ${a}`),this.name="UnknownClaudeAccountError"}}class v extends Error{constructor(){super("account label must contain visible text and be at most 80 characters"),this.name="InvalidClaudeAccountLabelError"}}class w extends Error{constructor(){super("Claude account registry is corrupt; repair or remove it before changing accounts"),this.name="CorruptClaudeAccountsError"}}class x extends Error{constructor(){super("managed Claude home failed safety checks"),this.name="UnsafeClaudeHomeError"}}function y(){return i().resolve(process.env.LLV_CLAUDE_HOME||i().join(g().homedir(),".claude"))}function z(){return i().join(i().dirname((0,j.Pn)()),"accounts","claude")}function A(){return(0,j.BQ)("claude-accounts.json")}function B(){return i().join(i().dirname((0,j.Pn)()),"shared","claude")}function C(){return i().join(B(),"projects")}function D(a){let b=i().join(a,"projects");try{if(!e().lstatSync(b).isSymbolicLink())return b;let a=C();if(e().realpathSync(b)===e().realpathSync(a))return a}catch{}return b}function E(a){return i().join(z(),a)}function F(){return{version:1,active:p,accounts:[],retired:[]}}function G(a,b=!1){if(!o.test(a)||a===p)return!1;let c=i().resolve(z()),d=i().resolve(E(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 H(){let a,b=A(),c=`${b}:${function(a){try{let b=e().statSync(a);return`${b.mtimeMs}:${b.size}`}catch{return"missing"}}(b)}`;if(t?.key===c)return t.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:F(),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&&G(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&&G(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:F(),corrupt:!1}}catch{a={registry:F(),corrupt:!0}}return t={key:c,loaded:a},a}function I(){let a=H();if(a.corrupt)throw new w;return a.registry}function J(a){return(0,m.oV)(()=>{let b=`${A()}.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}
3
- `,"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 K(a){let b=A();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)}t=null}finally{e().rmSync(c,{force:!0})}}function L(a){let b=(0,k.TK)(a);return{authPresent:"present"===b.state,credentialState:b.state}}function M(a){let b=E(a.id);return{...a,home:b,projectsDir:D(b),...L(b)}}function N(){let a;return[{id:p,label:"Main",kind:"legacy",home:a=y(),projectsDir:D(a),...L(a),createdAt:0},...H().registry.accounts.map(M)]}function O(){let a=H().registry.active;return N().some(b=>b.id===a)?a:p}function P(){return H().corrupt}function Q(a){let b=N().find(b=>b.id===(a??O()));if(!b)throw new u(a??"");if("managed"===b.kind&&(!G(b.id,!0)||!function(a,b=!1){let c=(0,k.vt)(a);return"safe"===c||!b&&"absent"===c}(b.home)))throw new x;return{id:b.id,kind:b.kind,home:b.home,projectsDir:b.projectsDir}}function R(a){J(()=>{t=null;let b=I();if(!N().some(b=>b.id===a))throw new u(a);K({...b,active:a})})}function S(){return[...new Set([...N().map(a=>a.projectsDir),...H().registry.retired.map(a=>D(E(a.id)))])]}function T(a,b){let c;try{c=e().realpathSync(a)}catch{return{kind:"unreadable"}}let d=N(),f=null;try{f=e().realpathSync(C())}catch{}for(let a of d)try{let b=e().realpathSync(a.projectsDir);if(null!==f&&b===f)continue;if(c.startsWith(b+i().sep))return{kind:"owned",accountId:a.id,home:a.home,source:"path"}}catch{}let g=b?d.find(a=>a.id===b):void 0;if(g)return{kind:"owned",accountId:g.id,home:g.home,source:"recorded"};if(null!==f&&c.startsWith(f+i().sep)){let a=O(),b=d.find(b=>b.id===a)??d[0];if(b)return{kind:"owned",accountId:b.id,home:b.home,source:"shared-store"}}return{kind:"foreign"}}function U(a){let b=T(a);return"owned"===b.kind&&"path"===b.source?b.home:null}function V(){let a=i().join(B(),"settings.json");return e().existsSync(a)?a:null}function W(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new v;return J(()=>{t=null;let a=I(),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(o.test(f)&&f!==p&&!b.has(f)&&!e().existsSync(E(f)))return f}}(b,new Set([...N().map(a=>a.id),...a.retired.map(a=>a.id)])),d=E(c),f=!1;if("absent"!==(0,k.TK)(d).state)throw new x;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=B(),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[...q,...r]){let d=i().join(y(),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})))s.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 q){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 K({...a,accounts:[...a.accounts,h]}),M(h)}catch(a){if(f)try{(0,n.jK)("claude",c,d)||console.warn("[claude accounts] failed-account home cleanup is incomplete")}catch(a){if(console.warn("[claude accounts] preserving failed-account home after history cleanup refusal"),a instanceof n.s4)throw a}throw a}})}let X=["CLAUDE_SECURESTORAGE_CONFIG_DIR","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 Y(a,b=process.env){let c={...(0,l.Fd)(b),CLAUDE_CONFIG_DIR:a};for(let a of X)delete c[a];return c}function Z(a){return N().some(b=>"managed"===b.kind&&b.home===a&&G(b.id,!0))}}};
2
+ `;if(Buffer.byteLength(b)>4032||0!==d.security(["-i"],b).status)return!1;let c=r(a,d);return"present"===c.state&&"keychain"===c.source&&JSON.stringify(c.document)===g}let i=l().join(a,".credentials.json"),j=l().join(a,`.credentials.${f().randomUUID()}.tmp`);try{let b=h().openSync(j,"wx",384);try{h().writeFileSync(b,g),h().fsyncSync(b)}finally{h().closeSync(b)}if("safe"!==p(a))return!1;h().renameSync(j,i);let c=h().openSync(a,"r");try{h().fsyncSync(c)}finally{h().closeSync(c)}return!0}catch{return!1}finally{h().rmSync(j,{force:!0})}}},39137:(a,b,c)=>{c.d(b,{N5:()=>z,XU:()=>K,Zi:()=>E,jK:()=>y,nH:()=>I,nr:()=>D,s4:()=>j,yK:()=>J});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(27146);c(65972);var i=c(70160);class j extends Error{constructor(a){super("account history inventory blocked removal"),this.report=a,this.name="AccountHistoryInventoryBlockedError"}}let k={claude:new Set(["projects","file-history","session-env","shell-snapshots","todos","debug","backups","paste-cache"]),codex:new Set(["sessions","archived_sessions","log","shell_snapshots"])},l={claude:new Set([".credentials.json",".claude.json"]),codex:new Set(["auth.json"])},m={claude:new Set(["skills","commands","agents"]),codex:new Set(["skills","prompts","config.toml","AGENTS.md","memories","rules",g().join("plugins","cache")])},n={claude:new Set(["cache","plugins"]),codex:new Set([".tmp","mcp-oauth",g().join("plugins","data")])},o=/^[a-z0-9][a-z0-9-]{0,31}$/;function p(a,b){let c=new Set;for(let d of Object.values((0,i.agentRegistry)().readOnlySnapshot().conversations)){if(d.engine!==a)continue;let e=d.generations.filter(a=>a.accountId===b);for(let a of e)c.add(g().resolve(a.path));if(0!==e.length)for(let a of[...d.continuityPaths,...d.abandonedContinuityPaths,...d.providerForkPaths,...d.migration?.pendingContinuityPaths??[],...d.migration?.providerReceipt?.continuityPaths??[],...d.migration?.providerReceipt?[d.migration.providerReceipt.path]:[]])c.add(g().resolve(a))}return c}function q(a,b){return a===b||a.startsWith(`${b}${g().sep}`)}function r(a,b){if("claude"===a&&q(b,g().join("plugins","data")))return!1;for(let c of n[a])if(q(b,c))return!0;return!1}function s(a,b,c,d,e){let f,h,i=(f=b.split(g().sep)[0],h=g().basename(b),k[a].has(f)||"history.jsonl"===f||h.endsWith(".jsonl")||"codex"===a&&/\.sqlite3?(?:-(?:shm|wal))?$/.test(h));return d.isSymbolicLink()?m[a].has(b)?{path:b,classification:"owned",history:!1}:i?{path:b,classification:"history",history:!0}:{path:b,classification:"unknown",history:!1}:d.isDirectory()?function(a,b){for(let c of k[a])if(q(b,c))return!0;return!1}(a,b)||r(a,b)||"codex"===a&&"plugins"===b?{path:b,classification:"owned",history:!1}:{path:b,classification:"unknown",history:!1}:d.isFile()&&e.has(g().resolve(c))?{path:b,classification:"owned",history:!0}:i?{path:b,classification:"history",history:!0}:d.isFile()&&(l[a].has(b)||r(a,b))?{path:b,classification:"owned",history:!1}:{path:b,classification:"unknown",history:!1}}function t(a){return a instanceof Error?a.message:"filesystem inventory failed"}function u(){if("linux"!==process.platform)return new Set;let a=new Set;for(let b of e().readFileSync("/proc/self/mountinfo","utf8").split("\n")){if(!b)continue;let c=b.split(" ")[4];if(!c)throw Error("filesystem mount inventory is malformed");a.add(g().resolve(c.replace(/\\([0-7]{3})/g,(a,b)=>String.fromCharCode(Number.parseInt(b,8)))))}return a}function v(a,b,c){let d=g().resolve(c),f=[],h=".";try{let c=e().lstatSync(d);if(!c.isDirectory()||c.isSymbolicLink())throw Error("managed account home is not a safe directory");let i=process.getuid?.()??c.uid;if(c.uid!==i||(18&c.mode)!=0)throw Error("managed account home has unsafe ownership or permissions");let j=u();if(j.has(d))throw Error("managed account home is an external mount");let k=p(a,b),l=(b,d)=>{for(let m of(h=d||".",e().readdirSync(b,{withFileTypes:!0}))){let n=g().join(b,m.name),o=d?g().join(d,m.name):m.name;h=o;let p=e().lstatSync(n);if(j.has(g().resolve(n)))throw Error(`history inventory reached an external mount at ${o}`);if(p.dev!==c.dev)throw Error(`history inventory crossed a filesystem boundary at ${o}`);if(p.uid!==i||!p.isSymbolicLink()&&(18&p.mode)!=0)throw Error(`history inventory found unsafe ownership or permissions at ${o}`);if(f.push(s(a,o,n,p,k)),!p.isSymbolicLink()&&p.isDirectory()){l(n,o);continue}}};l(d,"")}catch(a){throw new j({home:d,artifacts:f,error:{path:h,message:t(a)}})}let i={home:d,artifacts:f.sort((a,b)=>a.path.localeCompare(b.path))};if(i.artifacts.some(a=>"owned"!==a.classification))throw new j(i);return i}function w(a,b,c){return new j({...a,error:{path:b,message:c}})}function x(a,b,c){return!a.mounts.has(g().resolve(c))&&b.dev===a.stat.dev&&b.uid===a.uid&&(b.isSymbolicLink()||(18&b.mode)==0)}function y(a,b,c){let d,f=v(a,b,c);if(f.artifacts.some(a=>a.history))throw new j(f);if("linux"!==process.platform)return!1;try{d=function(a,b,c){let d=g().resolve(c),f=e().lstatSync(d),h=process.getuid?.()??f.uid;if(!f.isDirectory()||f.isSymbolicLink()||f.uid!==h||(18&f.mode)!=0)throw Error("managed account home is not a safe directory");let i=u();if(i.has(d))throw Error("managed account home is an external mount");return{root:d,stat:f,uid:h,mounts:i,ownedPaths:p(a,b)}}(a,b,c)}catch(a){throw w(f,".",t(a))}let h=function a(b,c,d,f,h,i,j,k){let l;if("linux"!==process.platform)return{complete:!1,changed:!1};try{l=e().openSync(h,e().constants.O_RDONLY|e().constants.O_DIRECTORY|e().constants.O_NOFOLLOW)}catch(a){throw w(v(b,c,d),i||".",t(a))}try{let h=e().fstatSync(l),m=i?g().join(f.root,i):f.root;if(h.dev!==j.dev||h.ino!==j.ino||!x(f,h,m)){let a=v(b,c,d);throw w(a,i||".","account-home directory identity changed during removal")}let n=`/proc/self/fd/${l}`,o=!0,p=!1;for(let h of e().readdirSync(n,{withFileTypes:!0})){let j;if(!i&&k===h.name)continue;let l=g().join(n,h.name),m=i?g().join(i,h.name):h.name;try{j=e().lstatSync(l)}catch(e){let a=v(b,c,d);throw w(a,m,t(e))}if(!x(f,j,g().join(f.root,m))){let a=v(b,c,d);throw w(a,m,"account-home entry failed removal safety checks")}let q=s(b,m,g().join(f.root,m),j,f.ownedPaths);if("owned"!==q.classification||q.history){let a=v(b,c,d);throw w(a,m,"account-home entry is outside deletion ownership")}if(j.isSymbolicLink()){try{e().rmSync(l,{force:!0}),p=!0}catch{o=!1}continue}if(j.isDirectory()){let h=a(b,c,d,f,l,m,j,k);h.complete||(o=!1),h.changed&&(p=!0);try{e().rmdirSync(l),p=!0}catch(e){let a=v(b,c,d);if(a.artifacts.some(a=>a.history&&(a.path===m||a.path.startsWith(`${m}${g().sep}`))))throw w(a,m,"history appeared during account-home removal");"ENOENT"!==e.code&&(o=!1)}continue}try{e().rmSync(l,{force:!0}),p=!0}catch{o=!1}}return{complete:o,changed:p}}finally{e().closeSync(l)}}(a,b,c,d,d.root,"",d.stat,null);try{e().rmdirSync(d.root)}catch(d){if("ENOENT"!==d.code){let d=v(a,b,c);if(d.artifacts.some(a=>a.history))throw w(d,".","history appeared during account-home removal");return!1}}try{return h.complete&&!function(a){let b=g().resolve(a);try{return e().lstatSync(b),!0}catch(a){if("ENOENT"===a.code)return!1;throw new j({home:b,artifacts:[],error:{path:".",message:t(a)}})}}(d.root)}catch{return!1}}function z(a,b,c){let d,f,h,i=[],j=[];if(!o.test(b))return{removed:i,unresolved:c.map(a=>`${b}${a}`)};let k=g().resolve(a);try{d=e().lstatSync(k);let a=process.getuid?.()??d.uid;if(!d.isDirectory()||d.isSymbolicLink()||d.uid!==a||(18&d.mode)!=0)throw Error("unsafe account root")}catch(a){if("ENOENT"===a.code)return{removed:i,unresolved:j};return{removed:i,unresolved:c.map(a=>`${b}${a}`)}}let l=process.getuid?.()??d.uid;try{f=u()}catch{return{removed:i,unresolved:c.map(a=>`${b}${a}`)}}if("linux"!==process.platform){for(let a of c){let c=`${b}${a}`;try{e().lstatSync(g().join(k,c)),j.push(c)}catch(a){"ENOENT"!==a.code&&j.push(c)}}return{removed:i,unresolved:j.sort()}}try{h=e().openSync(k,e().constants.O_RDONLY|e().constants.O_DIRECTORY|e().constants.O_NOFOLLOW);let a=e().fstatSync(h);if(a.dev!==d.dev||a.ino!==d.ino)throw Error("account root identity changed")}catch{return{removed:i,unresolved:c.map(a=>`${b}${a}`)}}try{let a=`/proc/self/fd/${h}`;for(let h of c){let c=`${b}${h}`,m=g().join(a,c),n=g().join(k,c);try{if(e().lstatSync(m),!function a(b,c,d,f,h){let i,j=e().lstatSync(b);if(h.has(g().resolve(c))||j.isSymbolicLink()||j.dev!==d.dev||j.uid!==f||(18&j.mode)!=0)return!1;if(!j.isDirectory())return j.isFile();if("linux"!==process.platform)return!1;try{i=e().openSync(b,e().constants.O_RDONLY|e().constants.O_DIRECTORY|e().constants.O_NOFOLLOW)}catch{return!1}try{let b=e().fstatSync(i);if(b.dev!==j.dev||b.ino!==j.ino)return!1;let k=`/proc/self/fd/${i}`;for(let b of e().readdirSync(k,{withFileTypes:!0}))if(!a(g().join(k,b.name),g().join(c,b.name),d,f,h))return!1}finally{e().closeSync(i)}return!0}(m,n,d,l,f)){j.push(c);continue}e().rmSync(m,{recursive:!0,force:!1});try{e().lstatSync(m),j.push(c)}catch(a){"ENOENT"===a.code?i.push(c):j.push(c)}}catch(a){if("ENOENT"===a.code){try{e().lstatSync(m),j.push(c)}catch(a){"ENOENT"!==a.code&&j.push(c)}continue}j.push(c)}}}finally{e().closeSync(h)}return{removed:i.sort(),unresolved:j.sort()}}let A={claude:[".credentials.json"],codex:["auth.json"]},B={claude:[...m.claude,"projects"],codex:[...m.codex]},C=globalThis.__llvAccountRemovalsInFlight??=new Set;function D(a,b){return C.has(`${a}:${b}`)}function E(a,b){return g().join(g().dirname((0,h.Pn)()),"shared",a,"retired",b)}function F(a){try{return e().lstatSync(a)}catch(a){if("ENOENT"===a.code)return null;throw a}}function G(a){let b=e().openSync(a,e().constants.O_RDONLY|e().constants.O_DIRECTORY|e().constants.O_NOFOLLOW);if(!e().fstatSync(b).isDirectory())throw e().closeSync(b),Error("not a directory");return b}function H(a,b,c){let d=b.split(g().sep),f=[];try{for(let b of(f.push(G(a)),d.slice(0,-1))){let a=g().join(`/proc/self/fd/${f.at(-1)}`,b);try{f.push(G(a))}catch(b){let a=b.code;return"ENOENT"===a||"ENOTDIR"===a||"ELOOP"===a}}let b=g().join(`/proc/self/fd/${f.at(-1)}`,d.at(-1)),h=F(b);if(!h||!c(h))return!0;try{e().unlinkSync(b)}catch{return!1}return null===F(b)}catch{return!1}finally{for(let a of f.reverse())e().closeSync(a)}}function I(a){let b=g().resolve(a.home),c=E(a.engine,a.accountId),d=()=>{let b,d,f,h,i;return(b=function(a,b){if(!F(b))return!0;if("linux"!==process.platform)return!1;let c=!0;for(let d of A[a])H(b,d,a=>a.isFile()||a.isSymbolicLink())||(c=!1);for(let d of B[a])H(b,d,a=>a.isSymbolicLink())||(c=!1);return c}(a.engine,c),d=0,f=0,h=a=>{let b;try{b=e().readdirSync(a,{withFileTypes:!0})}catch{return}for(let c of b){let b=g().join(a,c.name),e=F(b);e&&(e.isDirectory()?h(b):e.isFile()&&(d+=1,f+=e.size))}},F(c)?.isDirectory()&&h(c),i={files:d,bytes:f},!function a(b){let c;try{c=e().readdirSync(b,{withFileTypes:!0})}catch{return}for(let d of c){let c=g().join(b,d.name);F(c)?.isDirectory()&&a(c)}try{e().rmdirSync(b)}catch{}}(c),{complete:b,...i}).complete?(a.clearJournal(),"retired"):null};if("scrubbing"===a.entry.phase)return d();let f=null!==F(b),h=null!==F(c);if(f&&h)return null;if("retiring"===a.entry.phase){if(f)return a.clearJournal(),"restored";if(!a.listed)return d();try{(0,i.agentRegistry)().retireAccount(a.engine,a.accountId,"default",{},{rewrite:a.entry.rewrites??[]})}catch{return null}return a.commitRetired(),d()}if(!f&&h){if(!a.listed)return null;e().renameSync(c,b),(0,i.agentRegistry)().rewriteAccountPaths(a.engine,[{from:c,to:b}])}return a.clearJournal(),"restored"}function J(a,b){if(void 0===a)return[];if(!Array.isArray(a))return null;let c=[];for(let d of a){let a,e=d;if(!e||"string"!=typeof e.id||!b(e.id)||"archiving"!==e.phase&&"retiring"!==e.phase&&"scrubbing"!==e.phase||"number"!=typeof e.startedAt||c.some(a=>a.id===e.id))return null;if(void 0!==e.rewrites){if(!Array.isArray(e.rewrites))return null;for(let b of(a=[],e.rewrites)){let{from:c,to:d}=b??{};if("string"!=typeof c||"string"!=typeof d||!g().isAbsolute(c)||!g().isAbsolute(d))return null;a.push({from:c,to:d})}}c.push({id:e.id,phase:e.phase,startedAt:e.startedAt,...a?{rewrites:a}:{}})}return c}function K(a,b,c,d){let e=a.filter(a=>a.id!==b);if(!c)return e;let f=a.find(a=>a.id===b)?.startedAt??Date.now();return[...e,{id:b,phase:c,startedAt:f,...d?{rewrites:d.map(({from:a,to:b})=>({from:a,to:b}))}:{}}]}},68465:(a,b,c)=>{c.d(b,{Fn:()=>P,Hy:()=>y,No:()=>Q,OL:()=>w,UV:()=>u,ZK:()=>X,fM:()=>Y,fg:()=>ab,kK:()=>R,o1:()=>C,ob:()=>S,pW:()=>U,qX:()=>V,ss:()=>T,x0:()=>aa,y3:()=>W});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(30737),l=c(65281),m=c(63685),n=c(39137);let o=/^[a-z0-9][a-z0-9-]{0,31}$/,p="default",q=["skills","commands","agents"],r=["settings.json"],s=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"]),t=null;class u extends Error{constructor(a){super(`unknown Claude account: ${a}`),this.name="UnknownClaudeAccountError"}}class v extends Error{constructor(){super("account label must contain visible text and be at most 80 characters"),this.name="InvalidClaudeAccountLabelError"}}class w extends Error{constructor(){super("Claude account registry is corrupt; repair or remove it before changing accounts"),this.name="CorruptClaudeAccountsError"}}class x extends Error{constructor(){super("managed Claude home failed safety checks"),this.name="UnsafeClaudeHomeError"}}function y(){return i().resolve(process.env.LLV_CLAUDE_HOME||i().join(g().homedir(),".claude"))}function z(){return i().join(i().dirname((0,j.Pn)()),"accounts","claude")}function A(){return(0,j.BQ)("claude-accounts.json")}function B(){return i().join(i().dirname((0,j.Pn)()),"shared","claude")}function C(){return i().join(B(),"projects")}function D(a){let b=i().join(a,"projects");try{if(!e().lstatSync(b).isSymbolicLink())return b;let a=C();if(e().realpathSync(b)===e().realpathSync(a))return a}catch{}return b}function E(a){return i().join(z(),a)}function F(){return{version:1,active:p,accounts:[],retired:[],removals:[]}}function G(a,b=!1){if(!o.test(a)||a===p)return!1;let c=i().resolve(z()),d=i().resolve(E(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 H(){let a,b=A(),c=`${b}:${function(a){try{let b=e().statSync(a);return`${b.mtimeMs}:${b.size}`}catch{return"missing"}}(b)}`;if(t?.key===c)return t.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:F(),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&&G(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&&(void 0===d.archived||!0===d.archived)&&G(d.id))||b.has(d.id)){c=!0;continue}b.add(d.id),e.push(d)}let f=(0,n.yK)(a.removals,a=>o.test(a)&&a!==p);return f?{registry:{version:1,active:a.active,accounts:d,retired:e,removals:f},corrupt:c}:{registry:F(),corrupt:!0}}(JSON.parse(e().readFileSync(b,"utf8"))):{registry:F(),corrupt:!1}}catch{a={registry:F(),corrupt:!0}}return t={key:c,loaded:a},a}function I(){let a=H();if(a.corrupt)throw new w;return a.registry}function J(){return`${A()}.lock`}function K(a){try{let b=Number.parseInt(e().readFileSync(a,"utf8"),10);if(!Number.isSafeInteger(b)||b<=0||b===process.pid)return!1;return process.kill(b,0),!1}catch(a){return"ESRCH"===a.code}}function L(a){return(0,m.oV)(()=>{let b=J(),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}
3
+ `,"utf8"),a()}finally{e().closeSync(c),e().rmSync(b,{force:!0})}}catch(a){if("EEXIST"!==a.code)throw a;try{if(K(b)||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 M(a){let b=A();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)}t=null}finally{e().rmSync(c,{force:!0})}}function N(a){let b=(0,k.TK)(a);return{authPresent:"present"===b.state,credentialState:b.state}}function O(a){let b=E(a.id);return{...a,home:b,projectsDir:D(b),...N(b)}}function P(){let a;return!function(){if($)return;let a=H();if(a.corrupt||0===a.registry.removals.length){$=!0;return}if(!e().existsSync(J())||K(J()))try{L(()=>(function(){t=null;let a=I(),b=[],c=[];for(let e of a.removals){var d;if((0,n.nr)("claude",e.id))continue;let f=null;try{f=(0,n.nH)({engine:"claude",accountId:e.id,home:E(e.id),entry:e,listed:a.accounts.some(a=>a.id===e.id),commitRetired:()=>{t=null,M(function(a,b){let c=a.accounts.find(a=>a.id===b)?.label??b;return{...a,active:a.active===b?p:a.active,accounts:a.accounts.filter(a=>a.id!==b),retired:[...a.retired.filter(a=>a.id!==b),{id:b,label:c,retiredAt:Date.now(),archived:!0}],removals:(0,n.XU)(a.removals,b,"scrubbing")}}(I(),e.id))},clearJournal:()=>(function(a){t=null;let b=I();M({...b,removals:(0,n.XU)(b.removals,a,null,void 0)})})(e.id)})}catch{}"retired"===f&&(d=e.id,(0,n.N5)(z(),d,Z).unresolved.length),(f?b:c).push(e.id)}return{recovered:b,unresolved:c}})()),$=!0}catch{}}(),[{id:p,label:"Main",kind:"legacy",home:a=y(),projectsDir:D(a),...N(a),createdAt:0},...H().registry.accounts.map(O)]}function Q(){let a=H().registry.active;return P().some(b=>b.id===a)?a:p}function R(){return H().corrupt}function S(a){let b=P().find(b=>b.id===(a??Q()));if(!b)throw new u(a??"");if("managed"===b.kind&&(!G(b.id,!0)||!function(a,b=!1){let c=(0,k.vt)(a);return"safe"===c||!b&&"absent"===c}(b.home)))throw new x;return{id:b.id,kind:b.kind,home:b.home,projectsDir:b.projectsDir}}function T(a){L(()=>{t=null;let b=I();if(!P().some(b=>b.id===a))throw new u(a);M({...b,active:a})})}function U(){return[...new Set([...P().map(a=>a.projectsDir),...H().registry.retired.map(a=>D(a.archived?(0,n.Zi)("claude",a.id):E(a.id)))])]}function V(a,b){let c;try{c=e().realpathSync(a)}catch{return{kind:"unreadable"}}let d=P(),f=null;try{f=e().realpathSync(C())}catch{}for(let a of d)try{let b=e().realpathSync(a.projectsDir);if(null!==f&&b===f)continue;if(c.startsWith(b+i().sep))return{kind:"owned",accountId:a.id,home:a.home,source:"path"}}catch{}let g=b?d.find(a=>a.id===b):void 0;if(g)return{kind:"owned",accountId:g.id,home:g.home,source:"recorded"};if(null!==f&&c.startsWith(f+i().sep)){let a=Q(),b=d.find(b=>b.id===a)??d[0];if(b)return{kind:"owned",accountId:b.id,home:b.home,source:"shared-store"}}return{kind:"foreign"}}function W(a){let b=V(a);return"owned"===b.kind&&"path"===b.source?b.home:null}function X(){let a=i().join(B(),"settings.json");return e().existsSync(a)?a:null}function Y(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new v;return L(()=>{t=null;let a=I(),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(o.test(f)&&f!==p&&!b.has(f)&&!e().existsSync(E(f))&&!e().existsSync((0,n.Zi)("claude",f)))return f}}(b,new Set([...P().map(a=>a.id),...a.retired.map(a=>a.id)])),d=E(c),f=!1;if("absent"!==(0,k.TK)(d).state)throw new x;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=B(),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[...q,...r]){let d=i().join(y(),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})))s.has(f.name)||a(i().join(b,f.name),i().join(c,f.name),d)}}(d,i().join(b,a),c)}for(let c of(e().mkdirSync(i().dirname(a),{recursive:!0,mode:448}),e().chmodSync(i().dirname(a),448),e().mkdirSync(a,{recursive:!0,mode:448}),e().chmodSync(a,448),[...q,...r])){let d=i().join(a,c);e().rmSync(d,{recursive:!0,force:!0}),e().existsSync(i().join(b,c))&&e().renameSync(i().join(b,c),d)}return a}finally{e().rmSync(b,{recursive:!0,force:!0})}}();for(let a of q){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 M({...a,accounts:[...a.accounts,h]}),O(h)}catch(a){if(f)try{(0,n.jK)("claude",c,d)||console.warn("[claude accounts] failed-account home cleanup is incomplete")}catch(a){if(console.warn("[claude accounts] preserving failed-account home after history cleanup refusal"),a instanceof n.s4)throw a}throw a}})}let Z=[".lock"],$=!1,_=["CLAUDE_SECURESTORAGE_CONFIG_DIR","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 aa(a,b=process.env){let c={...(0,l.Fd)(b),CLAUDE_CONFIG_DIR:a};for(let a of _)delete c[a];return c}function ab(a){return P().some(b=>"managed"===b.kind&&b.home===a&&G(b.id,!0))}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=8512,exports.ids=[3302,8512],exports.modules={30402:(a,b,c)=>{c.d(b,{ao:()=>p,rB:()=>s}),c(77598);var d=c(73024),e=c.n(d),f=c(91724),g=c(65154),h=c(2033);function i(){return(0,f.BQ)("reply-suggestions.json")}function j(a){return{schemaVersion:1,revision:0,updatedAt:a.toISOString(),sets:[],admissions:[]}}function k(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let{label:b,text:c}=a;return"string"==typeof b&&b.trim()&&"string"==typeof c&&c.trim()?{label:b,text:c}:null}function l(a){let b,c;if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.conversationId||!a.conversationId||"string"!=typeof a.setId||!a.setId||"string"!=typeof a.at||!Number.isFinite(Date.parse(a.at))||!Array.isArray(a.replies))return null;let d=a.replies.map(k).filter(a=>null!==a);return 0===d.length?null:{conversationId:a.conversationId,setId:a.setId,at:a.at,origin:{kind:"manager"===(c=(b=a.origin??{}).kind)||"gateway"===c||"agent"===c?c:"unidentified",conversationId:"string"==typeof b.conversationId?b.conversationId:null,role:"string"==typeof b.role?b.role:null},replies:d.slice(0,6)}}function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"string"==typeof a.conversationId&&a.conversationId&&"string"==typeof a.key&&a.key&&"string"==typeof a.at&&Number.isFinite(Date.parse(a.at))?{conversationId:a.conversationId,key:a.key,at:a.at}:null}function n(a=i(),b=new Date){let c,d;try{c=e().readFileSync(a,"utf8")}catch{return j(b)}try{d=JSON.parse(c)}catch{return j(b)}return 1===d.schemaVersion&&Array.isArray(d.sets)?{schemaVersion:1,revision:Number.isInteger(d.revision)?d.revision:0,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:b.toISOString(),sets:d.sets.map(l).filter(a=>null!==a),admissions:Array.isArray(d.admissions)?d.admissions.map(m).filter(a=>null!==a):[]}:j(b)}function o(a,b){let c=i();return(0,h.Ol)(c,"reply suggestions are busy",()=>{let d=n(c,b),e=a(d,b);return(e.sets||e.admissions)&&(0,g.f)(c,{schemaVersion:1,revision:d.revision+1,updatedAt:b.toISOString(),sets:(e.sets??d.sets).slice(-64),admissions:(e.admissions??d.admissions).slice(-128)}),e.result})}function p(a,b=i()){let c=r(a),d=n(b).sets.find(b=>b.conversationId===a)??null;if(!d||!c)return d;let e=Date.parse(d.at);return Number.isFinite(e)&&e>c.at?d:null}c(56809);let q=new Map;function r(a){let b=q.get(a);if(!b)return null;try{return!function(a,b={}){o(c=>{let d=c.sets.find(b=>b.conversationId===a)??null;if(!d)return{result:!1};if(void 0!==b.offeredAtOrBefore){let a=Date.parse(d.at);if(!Number.isFinite(a)||a>b.offeredAtOrBefore.getTime())return{result:!1}}return{sets:c.sets.filter(b=>b.conversationId!==a),result:!0}},b.now??new Date)}(a,{offeredAtOrBefore:new Date(b.at)}),q.delete(a),null}catch{return b}}function s(a,b,c=""){if(!a)return{cleared:!1,pending:!1};let d=c.trim().slice(0,128),e=r(a),f=e&&d&&e.key===d?new Date(e.at):b;try{return{cleared:o(b=>{let c=d?b.admissions.find(b=>b.conversationId===a&&b.key===d)??null:null,e=c?Date.parse(c.at):NaN,g=Number.isFinite(e)?e:f.getTime(),h=b.sets.find(b=>b.conversationId===a)??null,i=h?Date.parse(h.at):NaN,j=null!==h&&Number.isFinite(i)&&i<=g;return{...j?{sets:b.sets.filter(b=>b.conversationId!==a)}:{},...d&&!c?{admissions:[...b.admissions,{conversationId:a,key:d,at:new Date(g).toISOString()}]}:{},result:j}},new Date),pending:!1}}catch{for(let b of(q.set(a,{at:Math.max(f.getTime(),e?.at??-1/0),key:d}),q.keys())){if(q.size<=64)break;q.delete(b)}return{cleared:!1,pending:!0}}}},32584:(a,b,c)=>{function d(a){return"refused"===a}function e(a){return a.ok?"accepted":!0===a.transportUncertain||a.receipt?.status==="uncertain"?"uncertain":"refused"}c.d(b,{A:()=>d,N:()=>e})},33302:(a,b,c)=>{c.d(b,{NZ:()=>r,OE:()=>m,Tj:()=>u,Yd:()=>t,kg:()=>s,mn:()=>n});var d=c(77598),e=c.n(d),f=c(10781),g=c(89937),h=c(4012);let i=/^[A-Za-z0-9_-]{43}$/,j="x-llv-internal-service",k=/^[a-f0-9]{64}$/,l=["monitor","mcp","orchestrator"];function m(a){let b,c=a.headers.get(h.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"";return c&&i.test(c)?(b=e().createHash("sha256").update(c).digest("hex"),(0,f.agentRegistry)().conversationIdForSpawnCapabilityDigest(b)):null}function n(a){return null===m(a)}let o={ok:!1,status:403,error:"this is an operator-only action; an agent may not perform it, whatever role it holds"},p={ok:!1,status:403,error:"background Viewer activity is outside direct operator activity"};function q(a){return e().createHmac("sha256",(0,g.ensureOperatorSpawnCapability)()).update(`llv-internal-service-v1\0${a}`).digest("hex")}function r(a){return{[j]:`${a}.${q(a)}`}}function s(a){return"valid"===function(a){let b=a.headers.get(j)?.trim()??"";if(!b)return"absent";let c=b.indexOf("."),d=b.slice(0,c),f=b.slice(c+1);if(!l.includes(d)||!k.test(f))return"invalid";try{let a=q(d);return e().timingSafeEqual(Buffer.from(f),Buffer.from(a))?"valid":"invalid"}catch{return"invalid"}}(a)?p:u(a)}function t(a){let b=m(a);return b?{kind:"agent",conversationId:b}:{kind:"operator",conversationId:null}}function u(a){return m(a)?o:{ok:!0}}},98512:(a,b,c)=>{c.d(b,{Gn:()=>I,Lf:()=>J,tC:()=>K,ud:()=>G});var d=c(77598),e=c.n(d),f=c(23211),g=c(10781),h=c(32584),i=c(33302),j=c(30402),k=c(35961),l=c(62318),m=c(3127),n=c(49682),o=c(63629),p=c(50201),q=c(83169),r=c(56695),s=c(97810),t=c(19361),u=c(34083),v=c(38855),w=c(93012);let x={enabled:p.Zn,client:m.sS,structuredEnabled:()=>(0,p.cM)(),registry:g.agentRegistry,enqueue:u.enqueueStructuredMessage,recordOperatorActivity:l.d,retireReplySuggestions:j.rB,kick:v.l};async function y(a){if(!a.startsWith("conversation_"))return!1;let b=(0,g.agentRegistry)().conversation(a),c=b?.generations.at(-1);return!!b&&!!c&&(0,s.A)({engine:b.engine,sessionId:c.id})}let z={enabled:()=>(0,p.cM)(),client:m.sS,kick:v.l,republish:y};function A(a,b){return(0,g.agentRegistry)().recordDeliveryRetryAttempt(a,b)}let B="retry attempt could not be recorded durably",C=["pending","queued"];function D(a){return f.NextResponse.json({error:a.readable?B:a.reason,retryable:!0},{status:503})}function E(a,b){return f.NextResponse.json({error:a,...b,delivery:"refused"},{status:503})}async function F(a,b,d,l){let o,q,r=(0,k.W)(a);if(r)return r;if(!d.enabled())return E("runtime events are disabled");if(!(d.structuredEnabled??(()=>(0,p.cM)()))())return E("structured hosts are disabled");try{o=await a.json()}catch{return f.NextResponse.json({error:"invalid JSON"},{status:400})}let s=null;try{let a=o;if(("send"===b||"steer"===b||"inject"===b)&&o&&"object"==typeof o&&!Array.isArray(o)){let d=o;if("inject"!==b&&Array.isArray(d.images)&&d.images.some(a=>a&&"object"==typeof a&&"base64"in a)){let b=(0,w.p)({images:d.images});if(b.error)return f.NextResponse.json({error:b.error.error},{status:b.error.status});let c=(s=b.images).map(a=>{let b=Buffer.from(a.base64,"base64");return{sha256:e().createHash("sha256").update(b).digest("hex"),mime:a.mime,bytes:b.byteLength}});a={...d,images:c}}if(void 0!==d.files&&null!==d.files){let{admitInboxFilePayload:b,inboxFileBatchToken:e,inboxFilePaths:g,inboxFileText:h}=await c.e(9403).then(c.bind(c,99403)),i=b({files:d.files});if(i.error)return f.NextResponse.json({error:i.error.error},{status:i.error.status});let j={...a};delete j.files,i.files.length&&(l.files=i.files,l.batch=e("string"==typeof d.idempotencyKey?d.idempotencyKey:null),j.text=h("string"==typeof j.text?j.text:"",g(i.files,l.batch))),a=j}}q=(0,n.d)(b,a)}catch(a){return f.NextResponse.json({error:a instanceof Error?a.message:"runtime command is invalid"},{status:400})}if(l.files.length){let{enterInboxBatch:a,InboxFileConflictError:b,stageInboxFiles:d}=await c.e(9403).then(c.bind(c,99403));l.leave=await a(l.batch);try{l.staged=d(l.files,l.batch)}catch(a){if(a instanceof b)return f.NextResponse.json({error:a.message,recovery:"query or replay the original Viewer idempotency key"},{status:409});return E("the attachments could not be saved to the inbox",{retryable:!0})}}let t=d.client();try{let b=(0,i.kg)(a).ok;if(("send"===q.kind||"steer"===q.kind||"inject"===q.kind||"answer"===q.kind)&&b&&d.recordOperatorActivity)try{d.recordOperatorActivity({conversationId:q.conversationId,idempotencyKey:q.idempotencyKey})}catch{return E("direct operator activity could not be recorded")}if(("send"===q.kind||"steer"===q.kind||"inject"===q.kind)&&b&&(d.retireReplySuggestions??j.rB)(q.conversationId,new Date,q.idempotencyKey),("send"===q.kind||"steer"===q.kind||"inject"===q.kind)&&d.enqueue){l.outcome="uncertain";let a=await d.enqueue({path:"",conversationId:q.conversationId,clientMessageId:q.idempotencyKey,...q.operationId?{operationId:q.operationId}:{},kind:q.kind,...q.policy?{policy:q.policy}:{},...void 0!==q.turnId?{turnId:q.turnId}:{},text:q.text,...s?{images:s}:q.images?.length?{imageRefs:q.images}:{},...q.runtime?{runtime:q.runtime}:{},...q.selectedContext?{selectedContext:q.selectedContext}:{},origin:{kind:"operator"}},{enabled:d.structuredEnabled??(()=>(0,p.cM)()),client:()=>t,registry:d.registry??g.agentRegistry,kick:d.kick??v.l});if(a){if(l.outcome=(0,h.N)(a),!a.ok)return f.NextResponse.json({error:a.error,...a.operationId?{operationId:a.operationId}:{},...a.receipt?{receipt:a.receipt}:{}},{status:a.status});if("held"===a.outcome)return f.NextResponse.json({held:!0,operationId:a.operationId},{status:202});let b="pending"===a.receipt.status||"queued"===a.receipt.status?202:200;return f.NextResponse.json({operationId:a.operationId,receipt:a.receipt},{status:b})}return l.outcome="refused",E("structured delivery ownership is unavailable for this conversation")}if(!t)return E("runtime host socket is unavailable");l.outcome="uncertain";let c=await t.command(q);l.outcome="accepted",("pending"===c.receipt.status||"queued"===c.receipt.status)&&d.kick?.();let e="pending"===c.receipt.status||"queued"===c.receipt.status?202:200;return f.NextResponse.json({operationId:c.operationId,receipt:c.receipt},{status:e})}catch(b){let a=b instanceof m.Hr&&"idempotency-conflict"===b.code?409:503;return f.NextResponse.json({error:b instanceof Error?b.message:"runtime command failed",delivery:"uncertain"},{status:a})}}async function G(a,b,d=x){let e={files:[],batch:"",staged:null,leave:null,outcome:"refused"};try{return await F(a,b,d,e)}finally{try{e.staged&&(await c.e(9403).then(c.bind(c,99403))).settleInboxFiles(e.staged,e.outcome)}finally{e.leave?.()}}}let H={client:m.sS,rolledBack:()=>(0,p.ji)(),settle:(a,b)=>(0,r.V$)(a,{client:b})};async function I(a,b=H){if(b.rolledBack())return f.NextResponse.json({error:"runtime events are disabled",code:p._l},{status:503});if(!a||a.includes(":")||/\s/.test(a))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let c=b.client(),d=await (0,q.At)(()=>b.settle(a,c),"delivery settlement is unavailable"),e=d.readable?d.value:null;if(e&&"in-flight"!==e.state)return f.NextResponse.json({operationId:a,receipt:(0,r.Oh)(e),send:e});let g=null;if(c)try{let b=await c.operationStatus(a);if(b&&(d.readable||(0,r.nb)(b.receipt.status,b.receipt.reason)))return f.NextResponse.json({operationId:b.operationId,receipt:b.receipt,...e?{send:e}:{}})}catch(a){g=a instanceof Error?a.message:"runtime host is unavailable"}return e?f.NextResponse.json({operationId:a,receipt:(0,r.Oh)(e),send:e}):d.readable?g?f.NextResponse.json({error:g},{status:503}):c?f.NextResponse.json({error:"operation not found"},{status:404}):f.NextResponse.json({error:"runtime host socket is unavailable",code:p._l},{status:503}):f.NextResponse.json({error:d.reason,retryable:!0},{status:503})}async function J(a,b,c=z){let d=(0,k.W)(a);if(d)return d;if(!c.enabled())return f.NextResponse.json({error:"structured hosts are disabled"},{status:503});if(!b||b.includes(":")||/\s/.test(b))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let e=c.client();if(!e)return f.NextResponse.json({error:"runtime host socket is unavailable"},{status:503});try{let a=await (0,q.At)(()=>e.operationStatus(b,{currentRetryLeaf:!0}),"runtime operation status is unavailable");if(!a.readable)return f.NextResponse.json({error:a.reason,retryable:!0},{status:503});if(!a.value)return f.NextResponse.json({error:"operation not found"},{status:404});let d=a.value;if("send"!==d.receipt.kind&&"steer"!==d.receipt.kind)return f.NextResponse.json({error:"runtime operation does not support discard"},{status:409});if(!d.receipt.conversationId.startsWith("conversation_"))return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});let h=(c.registry??g.agentRegistry)(),i=d.receipt.presentationOperationId??d.operationId,j=(0,r.ak)(h.readOnlySnapshot(),i),k=()=>(d.receipt.conversationId.startsWith("conversation_")&&h.recordDeliveryOutcomeForOperation(d.receipt.conversationId,d.receipt.presentationOperationId??d.operationId,"delivered"),f.NextResponse.json({operationId:d.operationId,receipt:(0,o.Vu)(d.receipt)}));if((0,r.nb)(d.receipt.status,d.receipt.reason)?.state==="delivered")return k();if("delivering"===d.receipt.status||"applying"===d.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:d.operationId,receipt:(0,o.Vu)(d.receipt)},{status:409});let l="unverified";if("pending"===d.receipt.status||"queued"===d.receipt.status)try{d=await e.transitionOperation(d.operationId,"failed",{reason:r.Ks},{fromStatuses:C}),j?.duplicateRisk!==!0&&(l="lost")}catch(b){if(b instanceof Error&&/runtime delivery (?:discard|retry) already won/.test(b.message))throw b;let a=await e.operationStatus(d.operationId);if(!a)throw b;if(d=a,(0,r.nb)(d.receipt.status,d.receipt.reason)?.state==="delivered")return k();if("delivering"===d.receipt.status||"applying"===d.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:d.operationId,receipt:(0,o.Vu)(d.receipt)},{status:409});if("uncertain"!==d.receipt.status&&("failed"!==d.receipt.status||d.receipt.reason!==r.Ks))throw b}else{if("uncertain"!==d.receipt.status&&("failed"!==d.receipt.status||d.receipt.reason!==r.Ks)&&!(j?.state==="failed"&&j.duplicateRisk))return f.NextResponse.json({error:"delivery outcome is already resolved"},{status:409});let a=await e.claimDeliveryAction(d.operationId,"discard");if("discard"!==a.winner)return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; discard refused`},{status:409})}h.discardDeliveryForOperation(d.receipt.conversationId,i,r.Ks,l);let m=(0,r.ak)(h.readOnlySnapshot(),i);if(!m||"failed"!==m.state||m.reason!==r.Ks)return f.NextResponse.json({error:"delivery discard could not be recorded durably",retryable:!0},{status:503});let n=(0,r.Oh)(m);return f.NextResponse.json({operationId:i,receipt:{...n,...d.receipt.text?{text:d.receipt.text}:{}},send:m})}catch(c){let a=c instanceof Error?c.message:"runtime operation discard failed",b=/unknown/.test(a)?404:/runtime delivery (?:discard|retry) already won|cannot discard after|moved before its transition/.test(a)?409:503;return f.NextResponse.json({error:a},{status:b})}}async function K(a,b,c=z){let e=(0,k.W)(a);if(e)return e;if(!c.enabled())return f.NextResponse.json({error:"structured hosts are disabled"},{status:503});if(!b||b.includes(":")||/\s/.test(b))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let h=c.client();if(!h)return f.NextResponse.json({error:"runtime host socket is unavailable"},{status:503});try{var i;let e,j,k,l=await a.text();if(l.trim()){let a;try{let b=JSON.parse(l);if(!b||"object"!=typeof b||Array.isArray(b))return f.NextResponse.json({error:"invalid JSON"},{status:400});a=b}catch{return f.NextResponse.json({error:"invalid JSON"},{status:400})}if(void 0!==a.idempotencyKey){if("string"!=typeof a.idempotencyKey||!a.idempotencyKey.trim()||a.idempotencyKey.length>200||/[\r\n]/.test(a.idempotencyKey))return f.NextResponse.json({error:"idempotencyKey is invalid"},{status:400});e=a.idempotencyKey}if(void 0!==a.action){if("retry-uncertain"!==a.action)return f.NextResponse.json({error:"runtime retry action is invalid"},{status:400});j=a.action}if(j&&e)return f.NextResponse.json({error:"uncertain retry keeps the original idempotency key"},{status:400})}let m=c.recordRetryAttempt??A,n=await (0,q.At)(()=>h.operationStatus(b,{currentRetryLeaf:!0}),"runtime operation status is unavailable");if(!n.readable)return f.NextResponse.json({error:n.reason,retryable:!0},{status:503});let p=n.value;if(!p)return f.NextResponse.json({error:"operation not found"},{status:404});if("send"!==p.receipt.kind&&"steer"!==p.receipt.kind)return f.NextResponse.json({error:"runtime operation does not support retry"},{status:409});if("failed"===p.receipt.status&&p.receipt.reason===r.Ks){let a=await h.claimDeliveryAction(p.operationId,"retry");return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; retry refused`},{status:409})}let s=(c.registry??g.agentRegistry)(),u=s.readOnlySnapshot(),v=(0,r.ak)(u,p.operationId);if(p.operationId===b&&"failed"!==p.receipt.status&&"rejected"!==p.receipt.status&&v?.state==="failed"&&"safe"===v.resend&&(p=await h.transitionOperation(b,"failed",{reason:v.reason})),v?.reason===r.Ks)return f.NextResponse.json({error:"discarded runtime operations cannot retry"},{status:409});if("retry-uncertain"===j){if(p.operationId!==b)return f.NextResponse.json({error:"uncertain retry must target its original operation"},{status:409});if("delivering"===p.receipt.status||"applying"===p.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:b,receipt:(0,o.Vu)(p.receipt)},{status:409});if(!v)return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});if("delivered"===v.state||"failed"===v.state&&"verify-first"!==v.resend)return f.NextResponse.json({operationId:b,receipt:(0,r.Oh)(v),send:v});let a=await h.claimDeliveryAction(b,"retry");if("retry"!==a.winner)return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; retry refused`},{status:409});let d=s.retryUncertainDeliveryForOperation(b);if(!d)return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});if("delivered"===d.state||"failed"===d.state){let a=(0,r.ak)(s.readOnlySnapshot(),b);if(a)return f.NextResponse.json({operationId:b,receipt:(0,r.Oh)(a),send:a});return f.NextResponse.json({error:"delivery outcome is already resolved"},{status:409})}if("assigned"===d.state&&d.generationId&&!s.beginDeliveryAttempt(d.id,d.generationId))return f.NextResponse.json({error:"delivery reservation ownership changed before retry admission",retryable:!0},{status:503});let e=p;return"pending"!==p.receipt.status&&"queued"!==p.receipt.status&&(e=await h.retryOperation(b)),c.kick(),f.NextResponse.json({operationId:b,receipt:(0,o.Vu)(e.receipt)},{status:202})}if("failed"!==p.receipt.status&&"rejected"!==p.receipt.status){if(p.operationId!==b){let a=await (0,q.At)(()=>m(p.receipt.presentationOperationId??b,p.operationId),B);if(!a.readable||!a.value)return D(a);let d="pending"===p.receipt.status||"queued"===p.receipt.status||"delivering"===p.receipt.status?202:200;return 202===d&&c.kick(),f.NextResponse.json({operationId:p.operationId,receipt:(0,o.Vu)(p.receipt)},{status:d})}return f.NextResponse.json({error:"only terminal failed runtime operations can start a new attempt"},{status:409})}e??=(i=p.operationId,`retry_${(0,d.createHash)("sha256").update(i).digest("hex")}`);let w=c.recover??t.recoverDeadStructuredConversation,x=await w({path:"",conversationId:p.receipt.conversationId},{client:h});if(!x||x.conversationId!==p.receipt.conversationId)return f.NextResponse.json({error:"structured recovery ownership is unavailable",retryable:!0},{status:503});await c.republish?.(p.receipt.conversationId);let y=()=>h.retryOperation(p.operationId,e,{requireHostedConversationId:p.receipt.conversationId});try{k=await y()}catch(b){if(!(b instanceof Error)||"structured recovery ownership changed before retry admission"!==b.message)throw b;let a=await w({path:"",conversationId:p.receipt.conversationId},{client:h});if(!a||a.conversationId!==p.receipt.conversationId)throw Error("structured recovery ownership is unavailable");await c.republish?.(p.receipt.conversationId),k=await y()}let z=await (0,q.At)(()=>m(p.receipt.presentationOperationId??p.operationId,k.operationId),B);if(!z.readable||!z.value)return D(z);return c.kick(),f.NextResponse.json({operationId:k.operationId,receipt:(0,o.Vu)(k.receipt)},{status:202})}catch(d){let a=d instanceof Error?d.message:"runtime operation retry failed",b=503;d instanceof m.Hr&&"idempotency-conflict"===d.code?b=409:/unknown/.test(a)?b=404:/only failed|terminal failed|fresh idempotency|does not support|runtime delivery (?:discard|retry) already won/.test(a)&&(b=409);let c="structured recovery ownership changed before retry admission"===a;return f.NextResponse.json({error:a,...c?{retryable:!0}:{}},{status:b})}}}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=8513,exports.ids=[8513],exports.modules={48513:(a,b,c)=>{c.r(b),c.d(b,{executeSpawnRequest:()=>aF,fenceSpawnAdmissionRejection:()=>aC,productionSpawnCommandDependencies:()=>aB,spawnSuggestions:()=>aE});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(34995),k=c(82940),l=c(68465),m=c(63685),n=c(65236),o=c(58577),p=c(22993),q=c(70160),r=c(22619),s=c(23953),t=c(72294),u=c(51888),v=c(50193),w=c(97386),x=c(21420),y=c(77598),z=c.n(y);function A(a){return z().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function B(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 C=c(88623),D=c(3187),E=c(8292),F=c(60546);function G(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,f=(0,q.Vt)().allowsReceipt(a,{structured:d})?b:null;return{ok:!0,target:a.pane?.paneId??a.target??null,path:f,...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",transport:d?"structured":"tmux"}}var H=c(7733),I=c(72674),J=c(66852),K=c(59397);let L=["localhost","127.0.0.1","::1"];function M(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 N(){return j.NextResponse.json({error:"forbidden: cross-origin request"},{status:403})}var O=c(93994),P=c(75040),Q=c(45867),R=c(16196),S=c(74607),T=c(47473),U=c(75211),V=c(51571),W=c(88370),X=c(66324),Y=c(14310),Z=c(53424),$=c(27146),_=c(14928),aa=c(28976);let ab=["project-catalog.json","worktree-map.json"],ac=(0,aa.E)("project-directories-v2");function ad(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function ae(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)}}var af=c(57718),ag=c(53740),ah=c(31014),ai=c(48375),aj=c(46211),ak=c(89204),al=c(80588),am=c(76190);function an(a,b,c="activity"){return function(...a){return z().createHash("sha256").update(a.join("\0")).digest("hex")}("activity"===c?"llv-wakatime-heartbeat-v1":"llv-wakatime-boundary-v1",a,b)}function ao(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function ap(a){return"number"==typeof a&&Number.isFinite(a)}function aq(a){return Number.isSafeInteger(a)&&a>=0}function ar(a,b=(0,$.BQ)("wakatime-state.json"),c=am.N){if(c()){if(!/^[a-f0-9]{64}$/.test(a.key)||"claude"!==a.engine&&"codex"!==a.engine||!a.project.trim()||a.project.trim()===aj.Mv||!Number.isSafeInteger(a.atMs)||a.atMs<=0)throw Error("direct operator heartbeat is invalid");(0,ak.Ol)(b,"WakaTime state is busy",()=>{let c=function(a){if(!ao(a)||1!==a.version||!ap(a.enabledAtMs)||!ao(a.streams)||!Array.isArray(a.pending)||!ao(a.retry)||!ao(a.counters))return null;let b=a.credentialGeneration??null;if(!(null===b||"string"==typeof b&&/^[a-f0-9]{64}$/.test(b)))return null;let c={};for(let[b,d]of Object.entries(a.streams)){if(!/^[a-f0-9]{64}$/.test(b)||!ao(d)||"string"!=typeof d.entity||"claude"!==d.engine&&"codex"!==d.engine||"string"!=typeof d.project||0===d.project.length||!ap(d.startedAtMs)||!(null===d.endedAtMs||ap(d.endedAtMs))||!ap(d.lastMaterializedAtMs)||!ap(d.lastObservedAtMs)||!(void 0===d.boundaryFinalizedAtMs||null===d.boundaryFinalizedAtMs||ap(d.boundaryFinalizedAtMs))||null!==d.endedAtMs&&d.endedAtMs<=d.startedAtMs||d.lastMaterializedAtMs<d.startedAtMs-1)return null;c[b]={entity:d.entity,engine:d.engine,project:d.project,startedAtMs:d.startedAtMs,endedAtMs:d.endedAtMs,lastMaterializedAtMs:d.lastMaterializedAtMs,lastObservedAtMs:d.lastObservedAtMs,boundaryFinalizedAtMs:d.boundaryFinalizedAtMs??null}}let d={},e=a.retiredStreams??{};if(!ao(e))return null;for(let[a,b]of Object.entries(e)){if(!/^[a-f0-9]{64}$/.test(a)||!ao(b)||!ap(b.lastMaterializedAtMs)||!ap(b.lastObservedAtMs)||!(null===b.boundaryFinalizedAtMs||ap(b.boundaryFinalizedAtMs))||!ap(b.expiresAtMs))return null;d[a]={lastMaterializedAtMs:b.lastMaterializedAtMs,lastObservedAtMs:b.lastObservedAtMs,boundaryFinalizedAtMs:b.boundaryFinalizedAtMs,expiresAtMs:b.expiresAtMs}}let f=[],g=new Set;for(let b of a.pending){var h;if(!ao(b)||"string"!=typeof b.key||!/^[a-f0-9]{64}$/.test(b.key)||"string"!=typeof b.stream||!ap(b.createdAtMs))return null;let a=ao(h=b.heartbeat)&&"string"==typeof h.entity&&0!==h.entity.length&&"app"===h.type&&"string"==typeof h.project&&0!==h.project.length&&"ai coding"===h.category&&ap(h.time)&&"string"==typeof h.ai_session&&64===h.ai_session.length?{entity:h.entity,type:"app",project:h.project,category:"ai coding",time:h.time,ai_session:h.ai_session}:null;if(!a)return null;let d=void 0===b.kind?"activity":b.kind;if("activity"!==d&&"boundary"!==d)return null;let e=c[b.stream],i=1e3*a.time;if(!e||!Number.isSafeInteger(i)||a.ai_session!==b.stream||a.entity!==("boundary"===d?`agent-log-viewer/boundary/${b.stream.slice(0,16)}`:e.entity)||a.project!==("boundary"===d?"agent-log-viewer-boundary":e.project)||b.key!==an(b.stream,i,d))return null;g.has(b.key)||(f.push({key:b.key,stream:b.stream,kind:d,createdAtMs:b.createdAtMs,heartbeat:a}),g.add(b.key))}let i=a.retry,j=i.reason;if(!aq(i.failures)||!ap(i.retryAtMs)||null!==j&&"network"!==j&&"timeout"!==j&&"rate_limit"!==j&&"server"!==j&&"auth"!==j)return null;let k=a.counters;return aq(k.accepted)&&aq(k.permanentlyRejected)&&aq(k.compacted)&&aq(k.dropped)&&aq(k.historyGaps)?{version:1,enabledAtMs:a.enabledAtMs,credentialGeneration:b,streams:c,pending:f,retry:{failures:i.failures,retryAtMs:i.retryAtMs,reason:j},counters:{accepted:k.accepted,permanentlyRejected:k.permanentlyRejected,compacted:k.compacted,dropped:k.dropped,historyGaps:k.historyGaps},retiredStreams:d}:null}(function(a=(0,$.BQ)("wakatime-state.json")){try{return JSON.parse(e().readFileSync(a,"utf8"))}catch(a){if("ENOENT"===a.code)return null;throw a}}(b))??{version:1,enabledAtMs:a.atMs,credentialGeneration:null,streams:{},retiredStreams:{},pending:[],retry:{failures:0,retryAtMs:0,reason:null},counters:{accepted:0,permanentlyRejected:0,compacted:0,dropped:0,historyGaps:0}};!function(a,b,c,d){if(a.streams[b.key]||a.retiredStreams?.[b.key])return;let e=`agent-log-viewer/operator/${b.engine}/${b.key.slice(0,16)}`;a.streams[b.key]={entity:e,engine:b.engine,project:b.project,startedAtMs:b.atMs,endedAtMs:b.atMs+1,lastMaterializedAtMs:b.atMs+1,lastObservedAtMs:b.atMs,boundaryFinalizedAtMs:b.atMs+1};let f=an(b.key,b.atMs);d.has(f)||(a.pending.push({key:f,stream:b.key,kind:"activity",createdAtMs:c,heartbeat:{entity:e,type:"app",project:b.project,category:"ai coding",time:b.atMs/1e3,ai_session:b.key}}),d.add(f))}(c,{...a,project:a.project.trim()},a.atMs,new Set(c.pending.map(a=>a.key)));e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});let d=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${z().randomUUID()}.tmp`);try{e().writeFileSync(d,`${JSON.stringify(c,null,2)}
2
+ `,{encoding:"utf8",mode:384}),e().renameSync(d,b)}finally{try{e().unlinkSync(d)}catch{}}})}}c(58444),c(97347),c(55686);let as={transcriptAllowed:D.FK,readCwd:a=>(0,J.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var at=c(6082),au=c(82059),av=c(15723);let aw=ah.en["spawnCard.pinUnavailableFallback"],ax=ai.uk["spawnCard.pinUnavailableFallback"],ay="string"==typeof ax?ax:aw;function az(a){let b=a.headers.get("accept-language")?.trim().toLowerCase()??"";return"uk"===b||b.startsWith("uk-")}class aA extends Error{}let aB={registry:q.agentRegistry,resolveHealthySpawnAccount:n.ax,resolveSpawnAccount:(a,b)=>n.accountManager.resolveSpawn(a,b),resolvePinnedSpawnAdmission:U.jJ,runtimeHostClient:O.sS,publishFilesRevision:Q.G,spawnStructuredConversation:U.sh,assertStructuredRuntime:x.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,S.PF)().putMany(a),adoptPipelineAttemptFromSource:W.F_,pipelineAttemptTargetForSource:W.RO,recordOperatorActivity:function(a,b={}){let c={enabled:b.enabled??am.N,now:b.now??Date.now,registrySnapshot:b.registrySnapshot??(()=>(0,q.agentRegistry)().readOnlySnapshot()),enqueue:b.enqueue??ar,reportStorageFailure:b.reportStorageFailure??((a,b)=>console.error(`[wakatime] ${a}`,b))};if(!c.enabled())return null;let d=a.idempotencyKey?.trim()??"",e=a.resolvedAttribution;if(e&&("claude"!==e.engine&&"codex"!==e.engine||!e.project.trim()||e.project===aj.Mv))throw Error("direct operator activity attribution is invalid");let f=e?null:(0,q.MA)(c.registrySnapshot()),g=a.conversationId?.trim()??"",h=a.path?.trim()??"",i=g.startsWith("conversation_")?f?.conversation(g)??null:null,j=h?f?.conversationForPath(h)??null:null,k=i?new Set([...i.generations.map(a=>a.path),...i.continuityPaths,...i.abandonedContinuityPaths]):null;if(i&&j&&i.id!==j.id||i&&h&&!k?.has(h))throw Error("direct operator activity has conflicting target evidence");let l=i??j,m=a.fallbackEntry,n=e?.engine??l?.engine??(m?.engine==="claude"||m?.engine==="codex"?m.engine:null);if(!n)throw Error("direct operator activity target is unavailable");let o=l?.generations.at(-1),p=e?.project.trim()??(0,al.x)({projectOwnership:l?.projectOwnership,cwd:o?.launchProfile.cwd||m?.cwd,launchProfileProject:o?.launchProfile.project,fallbackProject:m?.project}).project;if(!p||p===aj.Mv)throw Error("direct operator activity project is unavailable");let r=c.now();if(!Number.isSafeInteger(r)||r<=0)throw Error("direct operator activity time is invalid");let s={key:d?function(...a){return z().createHash("sha256").update(a.join("\0")).digest("hex")}("llv-wakatime-direct-operator-v1",d):z().randomBytes(32).toString("hex"),engine:n,project:p,atMs:r};try{c.enqueue(s)}catch(a){c.reportStorageFailure("operator_activity_not_stored",{outcome:function(a){if(a instanceof ak.Qm)return"busy";if(a instanceof SyntaxError)return"state_unreadable";let b=a?.code;return"string"==typeof b&&/^E[A-Z]{1,15}$/.test(b)?b:"unavailable"}(a)})}return s}};function aC(a,b,c,d){let e="string"==typeof a.clientAttemptId?a.clientAttemptId:null;if(!e||!/^[A-Za-z0-9_-]{8,128}$/.test(e))return null;try{return(0,F.L8)({clientAttemptId:e,requestDigest:A(a),status:b,error:c},()=>d.registry().spawnReceiptForClientAttempt(e))}catch{return null}}function aD(a,b,c){!b||a.includes(b)||c&&(0,Y.hY)(b)!==c||a.push(b)}async function aE(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=as){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")),f=(await (0,X.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),h=c?[c]:[];if(!c)for(let a of function(a,b=10){return a?(function(){let a=(0,$.Pn)(),b=function(a){let b=ab.map(b=>{let c=i().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`}}),c=i().join(a,"state.sqlite");for(let[d,f]of[["flows","flows.json"],["pipelines","pipelines.json"],["workflows","workflows.json"]]){let g=(0,_.jY)(c,d);if(null!==g)b.push(`${d}:sqlite:${g}`);else{let c=i().join(a,f);try{let a=e().statSync(c);b.push(`${f}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`)}catch{b.push(`${f}:missing`)}}}return b.join("|")}(a),c=ac.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=ad(i().join(a,"project-catalog.json"))?.files;if(c&&"object"==typeof c&&!Array.isArray(c))for(let a of Object.values(c))ae(a,["cwd","projectRoot"],b);let d=i().join(a,"state.sqlite");for(let[c,e,f]of[["flows.json","flows",["cwd"]],["pipelines.json","pipelines",["repoDir","worktreeDir"]],["workflows.json","workflows",["repoDir","worktreeDir"]]]){let g=(0,_.Vx)(d,e)??ad(i().join(a,c))?.[e];if(Array.isArray(g))for(let a of g)ae(a,f,b)}let e=ad(i().join(a,"worktree-map.json"));if(e)for(let[a,c]of Object.entries(e))b.add(a),ae(c,["repo"],b);return[...b]}(a)){try{if(!e().statSync(b).isDirectory())continue}catch{continue}let a=(0,Y.hY)(b),c=(0,Y.D$)(b)??(a?.startsWith("dir-")?b:void 0),g=a?`${a}\0${b}`:"";!a||!c||f.has(g)||(f.add(g),d.push({cwd:b,project:a,projectRoot:c}))}return ac.set(a,{directories:d,expiresAt:Date.now()+1e4,stateIdentity:b}),d})().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}(b,10))aD(h,a,b);for(let a of f){if(h.length>=10)break;b&&a.project!==b||aD(h,(0,J.tX)(a.path,{requireDir:!0}),b)}h.length||h.push(g().homedir());let k=(0,V.l)();return j.NextResponse.json({dirs:h,cwd:c,cwdExists:d,spawnTransport:k,imageInput:{claude:(0,S.ki)("claude","structured"===k),codex:(0,S.ki)("codex","structured"===k&&(0,u.JL)(null))}})}async function aF(a,b=aB){var c;let d,f,h,x=function(a){let b=new Set(L),c=process.env.LLV_TS_HOST;c&&b.add(M(c));let d=a.headers.get("host");if(null===d||!b.has(M(d)))return N();let e=a.headers.get("origin");if(null!==e){let a;try{a=new URL(e).host}catch{a=null}if(null===a||!b.has(M(a)))return N()}let f=a.headers.get("sec-fetch-site");return null!==f&&"same-origin"!==f&&"none"!==f?N():null}(a);if(x)return x;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let y=(0,s.t3)(d.mcpServers);if(!y.ok)return j.NextResponse.json({error:y.error},{status:400});let z=void 0===d.mcpServers?null:y.value,J=(0,t.jh)(d.plugins);if(!J.ok)return j.NextResponse.json({error:J.error},{status:400});let Q=(0,at.s0)(a),S=null,W=null,X=null;if(Q)try{S=b.registry();let c=(0,at.X0)(a,d.src,S);"error"in c?X=c:W=c}catch(a){X={error:a instanceof Error?a.message:String(a),status:503}}let $=a=>(X||aC(d,400,a,b),j.NextResponse.json({error:a},{status:400})),_=(0,at.QD)(a,d);if(_)return $(_);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let aa=(0,w.s8)(d);if(!aa.ok)return $(aa.error);let ab=(0,at.Fk)(aa.value?.role??null,d);if(ab)return $(ab);if(aa.value&&(0,F.n4)(aa.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${aa.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let ac="claude"===d.engine||"codex"===d.engine?d.engine:aa.value?.config.engine??null;if(!ac)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 ad=(0,r.BL)(ac,{...d,model:d.model??aa.value?.config.model??(0,u.Gh)(ac),effort:void 0===d.effort?aa.value?.config.effort:d.effort});if(ad.error)return j.NextResponse.json({error:ad.error},{status:400});let ae=(0,u.wi)({model:void 0===d.model?aa.value?.config.model:d.model});if(ae.error)return j.NextResponse.json({error:ae.error},{status:400});if(void 0!==d.model&&null!==d.model&&ae.model){let a=(0,u.RC)(ac,ae.model);if("error"in a)return j.NextResponse.json({error:a.error},{status:400})}let ah="string"==typeof d.prompt?d.prompt.trim():"",ai=aa.value?[aa.value.scaffold,ah].filter(Boolean).join("\n\n"):ah,{images:aj,error:ak}=(0,ag.Fu)(d);if(ak)return j.NextResponse.json({error:ak.error},{status:ak.status});let al=void 0===d.title?null:(0,af.St)("string"==typeof d.title?d.title:null,120);if(void 0!==d.title&&!al)return j.NextResponse.json({error:"title must be a semantic, non-placeholder string"},{status:400});let am=(0,af.V0)(ah,60)?(0,af.bF)(aa.value?.role??ac,ah):null;try{f=(0,V.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,V.H)({engine:ac,model:ae.model,hasImages:aj.length>0,fast:ad.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,T.h1)(ai)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let an=S??b.registry(),ao="string"==typeof d.clientAttemptId?d.clientAttemptId:null,ap=ao?an.spawnReceiptForClientAttempt(ao):null;if(!al&&!ap)return j.NextResponse.json({error:af.QE},{status:400});let aq=al??am??(0,af.St)(ap?.launchProfile.title,120);if(!aq)return j.NextResponse.json({error:af.QE},{status:400});if(Q&&X)return j.NextResponse.json({error:X.error},{status:X.status??403});if(Q&&!0===d.allowSubagents&&W?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let ar=null;if(void 0!==d.project&&null!==d.project){if(!(ar="string"==typeof d.project?(0,o.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(Q&&W?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let as=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_")?an.conversation(a):an.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=an.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});as=b.id}let ax="string"==typeof d.cwd?d.cwd.trim():"";if(!ax)return j.NextResponse.json({error:"working directory is required"},{status:400});let aD=i().resolve("~"===ax||ax.startsWith("~/")?i().join(g().homedir(),ax.slice(1)):ax);try{h=e().statSync(aD)}catch{return j.NextResponse.json({error:`directory does not exist: ${aD}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${aD}`},{status:400});let aE=(0,v.kg)(a).ok;if(aE&&!ao)return j.NextResponse.json({error:"clientAttemptId is required for direct operator spawn"},{status:400});if(aE){let a=ar??(0,Y.hY)(aD);if(!a)return j.NextResponse.json({error:"project could not be resolved for direct operator spawn"},{status:400});try{b.recordOperatorActivity?.({idempotencyKey:`spawn:${ao}`,resolvedAttribution:{engine:ac,project:a}})}catch{return j.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let aG=[],aH=null;try{let g,h,k,r=void 0===d.title||al===am,u=ap?.identityWaveTitleBackfill===!0&&r,v=u?(0,af.St)(ap.launchProfile.title,120)??aq:aq,w=(0,D.bs)((0,at.qe)(W,{...d,role:aa.value?.role}),an),x=w.parent,y=w.reviewed?.conversationId??null;if(Q&&W?.kind==="agent"&&!x)return j.NextResponse.json({error:at.HJ},{status:400});let E=W?.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(),L=x?E?"explicit":"inferred-caller":null,M=x?.conversationId??null,N="string"==typeof d.src&&d.src.trim()?M:null,S=x?.sessionKey??null,T=x?.artifactPath??null,V=(0,t.GU)({origin:{kind:W?.kind==="agent"?"agent":"operator"},parentConversationId:M,agentRole:aa.value?.role??null}),X=b.internalGrant?.()??null,$=X?.sessionClass===s.Vv?X:null,_=$?[...t.sN]:(0,t.wE)({engine:ac,origin:V,requested:J.value}),ab=$?(0,s.c1)($.mcpServers):(0,s.Mt)({origin:V,requested:z}),ak=(a,b=!1)=>{var c;let e,f=(c={engine:ac,cwd:aD,model:ae.model,effort:ad.effort,fast:ad.fast,accountId:a,role:aa.value?.role??null,title:aq,mcpServers:ab,..._.length?{plugins:_}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...ar?{project:ar}:{},parent:B({parentConversationId:M??void 0}),...y?{reviews:B({parentConversationId:y})}:{},...as?{supersedes:B({parentConversationId:as})}:{},prompt:ai,images:aj.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},A(b))}})},e=Object.fromEntries(Object.entries(c).filter(([a])=>"title"!==a)),{current:A(c),withoutTitle:A(e)});if(u||b&&ap)return ap.requestDigest===f.current?f.current:f.withoutTitle;let g=(0,af.St)(ap?.launchProfile.title,120);return ap&&g&&g!==aq||ap?.requestDigest===f.current?f.current:f.withoutTitle},au=N&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(N):null,ax=!$&&(ah.trim()||aj.length)?{prompt:ah,images:aj.length,echo:ai}:null,aB="string"==typeof d.taskId&&d.taskId.trim()?[d.taskId.trim()]:null,aC=(a,b,c,e=void 0!==d.accountId)=>({engine:ac,cwd:aD,transport:f,accountId:a,accountPin:e,parentConversationId:M,parentSource:L,parentSessionKey:S,parentArtifactPath:T,role:aa.value?.role??null,reviewsConversationId:y,explicitProject:ar,supersedes:as,supersedesReason:"recovery-spawn",liveChildrenCap:W?.liveChildrenCap,origin:W?.kind==="agent"?{kind:"agent",conversationId:W.conversationId}:{kind:"operator"},launchProfile:b,clientAttemptId:ao,requestDigest:c,...aB?{taskIds:aB}:{},launchDisplay:ax,memberships:au&&N?[{kind:"pipeline",containerId:au.pipelineId,role:au.role,slot:`adopt:${au.stageId}:${c.slice(0,24)}`,stageId:au.stageId,stageOrder:au.stageOrder,round:null,parentConversationId:N,runtime:{engine:ac,model:b.model,effort:b.effort}}]:[]}),aE=(0,o.Ui)({cwd:aD,model:ae.model,effort:ad.effort,fast:ad.fast,parentConversationId:M,allowSubagents:!0===d.allowSubagents,mcpServers:ab,plugins:_,title:v,...ar?{project:ar}:{}}),aF=a=>{let b=d.accountId,c=(a instanceof Error?a.message:String(a)).slice(0,240),e=an.beginSpawnRequest(aC(b,aE,ak(b)));if("conflict"===e.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===e.kind&&("structured"===f?an.failStructuredSpawn(e.receipt.launchId,c):an.failSpawn(e.receipt.launchId,c));let g=an.readOnlySnapshot().receipts[e.receipt.launchId]??e.receipt;return j.NextResponse.json(G(g,g.artifactPath,{structured:"structured"===f}))};if(ap&&void 0!==d.accountId&&ap.accountPin&&("failed"===ap.state||"conflicted"===ap.state))return aF(Error(ap.error??"the requested account is not available for this launch"));let aI="string"==typeof d.accountId?d.accountId:null,aJ=ar??(0,Y.hY)(aD);try{g=ap&&null!==ap.accountId&&!(ap.accountPin&&aI)?b.resolveSpawnAccount(ap.engine,ap.accountId):await b.resolveHealthySpawnAccount(ac,d.accountId,aJ,ae.model)}catch(a){if(a instanceof Z.Uq||a instanceof n.fu)return j.NextResponse.json({error:a.message},{status:409});if(void 0===d.accountId)throw a;if("claude"!==ac||!aI)return aF(a);try{let c=b.resolveSpawnAccount(ac,aI),d=await (b.resolvePinnedSpawnAdmission??U.jJ)(ac,c,ae.model);if("retry-at"!==d.kind&&"admissible"!==d.kind)return aF(a);g={...c,admission:d,requestedAdmission:d}}catch{return aF(a)}}let aK=aI&&g.requestedAdmission?.kind==="retry-at"?g.requestedAdmission.retryAt:null,aL=aK?Date.parse(aK):NaN,aM=Number.isFinite(aL)&&aL>Date.now()?new Date(aL).toISOString():null;aM&&aI&&(g=b.resolveSpawnAccount(ac,aI));let aN=!!(aI&&!aM&&g.accountId!==aI),aO=ak("string"==typeof d.accountId?d.accountId:g.accountId,aN||null!==aM),aP=aM?(0,U.X3)(az(a)?"uk":"en",aM):null,aQ=aN?az(a)?ay:aw:null,aR=(c=g,h=(0,p.lV)(ac,aD,{model:ae.model,effort:ad.effort,fast:ad.fast,codexHome:"codex"===ac?c.home:null,claudeConfigDir:"claude"===ac?c.home:null,claudeProjectsDir:"claude"===ac?c.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:ab,deferClaudeSpawnPolicy:!0}),k="claude"===ac&&"structured"===f?(0,U.eK)(h.launchProfile?.permissionMode,{agentInitiated:Q,operatorAuthenticated:W?.kind==="operator",roleSpawn:!!aa.value}):h.launchProfile?.permissionMode,{...h,launchProfile:(0,o.Ui)({...h.launchProfile??{},cwd:aD,parentConversationId:M,allowSubagents:!0===d.allowSubagents,mcpServers:ab,plugins:_,permissionMode:k,title:aQ??v,...ar?{project:ar}:{}})}),aS=()=>{if("claude"!==ac||"tmux"!==f)return;let a=i().basename(aR.transcript??"",".jsonl");(0,l.fg)(g.home)&&(0,H.prepareManagedClaudeSpawnHome)(g.home,aD),(0,H.applyClaudeSpawnPolicy)(g.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(g.home)?(0,l.ZK)():null,profileId:a,cwd:aD,mcpServers:ab,mcpStatePath:"managed"===g.kind?i().join(g.home,".claude.json"):i().join(i().dirname(g.home),".claude.json")})},aT=aN&&"string"==typeof d.accountId?d.accountId:g.accountId,aU=await (0,m.Cu)(async()=>{if(!ap&&ao){let b=(0,F.o)(ao);if(b){var a;if(b.requestDigest===(a=d,A(a)))throw new F.eO(b);throw new F.AO}}if(!ap){let a=b.resolveSpawnAccount(ac,g.accountId);if(a.accountId!==g.accountId||a.kind!==g.kind)throw Error("spawn account changed during admission")}return an.beginSpawnRequest(aC(aT,aR.launchProfile,aO,ap?.accountPin??void 0!==d.accountId))});if("conflict"===aU.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===aU.kind&&(aH=aU.receipt.launchId);let aV="created"===aU.kind&&aI&&g.accountId===aI?(0,av.u)({engine:ac,project:aJ,accountId:aI,conversationId:aU.receipt.conversationId??null,actor:W?.kind==="agent"?{kind:"agent",conversationId:W.conversationId}:{kind:"operator"},via:"launch"})??void 0:void 0,aW=a=>aV?{...a,accountOverride:aV}:a,aX=aU.receipt;if(aM&&aP&&aI){let c,d=aU.receipt.queuedPinnedSpawn;if(d)c=d.imageRefs;else try{c=b.storeImages(aj)}catch(a){throw new aA(a instanceof Error?a.message:String(a))}aX=an.queuePinnedSpawn(aU.receipt.launchId,{version:1,retryAt:aM,accountId:aI,locale:az(a)?"uk":"en",spec:aR,prompt:ai,imageRefs:c,parentArtifactPath:T,pipelineSourceConversationId:N},aP)}let aY=(a,b,c)=>{if(!c||a.accountId===b)return;let d=an.readOnlySnapshot(),e=d.receipts[a.launchId];if(!e?.key||e.artifactPath!==c)return;let f=d.entries[(0,C.pp)(e.key)],g=d.conversations[e.conversationId];f&&g&&(an.reconcileConversations([{engine:e.engine,path:c,accountId:b,launchProfile:e.launchProfile,turn:{state:g.turn.state,source:g.turn.source,terminalAt:g.turn.terminalAt},expectedTurnObservedAt:g.turn.observedAt,observedAt:new Date().toISOString()}]),an.upsert({...f,accountId:b}))},aZ=async(a,c)=>{if(!N||!b.adoptPipelineAttemptFromSource)return;let d=an.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(N,{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:N,error:a})}},a$=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:ac,receipt:a,spec:aR,account:g,prompt:ai,imageRefs:d,registry:an,client:c}),aY(a,g.accountId,f.path)}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof O.Hr&&an.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(T&&f.path)try{(0,K.A6)(f.path,T),(0,K.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:T,error:b})}if(f.path&&await aZ(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"===aU.kind){let a,c=(0,q.Vt)(an.readOnlySnapshot()).isStructured(aX),d=aX,e=c?b.runtimeHostClient():null;if(e&&!aM){try{let b=await (0,U.reconcileStructuredSpawnReplay)(d.launchId,an,e);d=b,a=b.initialMessage}catch{}let c=an.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages(aj)}catch(a){throw c.receipt.admissionOwner&&an.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new aA(a instanceof Error?a.message:String(a))}a$(d,e,a)}}d.artifactPath&&(0,q.Vt)(an.readOnlySnapshot()).allowsReceipt(d,{structured:c})&&await aZ(d,d.artifactPath);let f=aW(G(d,d.artifactPath,{structured:c,initialMessage:aM?"queued":a}));return j.NextResponse.json(f,{status:"starting"===f.state||c&&"path-pending"===f.state?202:200})}if(aM){aS();let a=aX.admissionOwner?an.releaseSpawnActuation(aX.launchId,aX.admissionOwner).receipt:aX;return j.NextResponse.json(aW(G(a,a.artifactPath,{structured:"structured"===f,initialMessage:"queued"})),{status:202})}if(aS(),"structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages(aj)}catch(a){throw new aA(a instanceof Error?a.message:String(a))}return a$(aU.receipt,c,a),j.NextResponse.json(aW(G(aU.receipt,aU.receipt.artifactPath,{structured:!0})),{status:202})}let a_=(0,ag.Am)(ai,aj);aG=a_.imagePaths;let a0=(0,R.Zn)()?b.runtimeHostClient():null,a1=a0?aU.receipt.launchId:null;if(a0&&a1)try{await a0.operation({scope:(0,P.zV)("operation",a1),kind:"spawn.intent",operationId:a1,producerKey:`viewer-spawn:${a1}`,payload:{engine:ac,cwd:aD,accountId:g.accountId,parentConversationId:M}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),a0=null}let a2=Date.now(),a3=await (b.spawnTmuxAgent??ag.Tk)(aR,a_.payload,aU.receipt),a4=await (0,I.s)({engine:ac,knownTranscript:aR.transcript??null,panePid:a3.panePid??null,cwd:aD,startedAtMs:a2,codexSessionsDir:"codex"===ac?g.transcriptRoot:null}),a5=a4?(0,C.sz)(ac,a4):null;if(!a3.host||!await (0,ag.PB)(a3.host)){(0,q.agentRegistry)().invalidateSpawnHost(aU.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aU.receipt.launchId];return j.NextResponse.json(aW(G(a,a4)))}if(!a4||!a5||!a3.receipt){let a=(0,q.agentRegistry)().markSpawnPathPending(aU.receipt.launchId);return j.NextResponse.json(aW(G(a,null)))}let a6=(0,q.agentRegistry)().settleSpawn(a3.receipt.launchId,{key:a5,artifactPath:a4,cwd:aD,accountId:g.accountId,status:"starting",host:a3.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===a6.kind)return j.NextResponse.json(aW(G(a6.receipt)));if(aY(a6.receipt,g.accountId,a4),await aZ(a6.receipt,a4),a0&&a1)try{await a0.append({scope:(0,P.zV)("edge",a1),kind:"edge.created",producerKey:`viewer-spawn-edge:${a1}`,payload:{edge:"viewer_spawn",childConversationId:a6.conversation.id,parentConversationId:M,operationId:a1}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(T&&(a4&&(0,K.A6)(a4,T),(0,K.OA)()),!await (0,ag.PB)(a3.host)){(0,q.agentRegistry)().invalidateSpawnHost(aU.receipt.launchId,"spawn host disappeared before API response");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aU.receipt.launchId];return j.NextResponse.json(aW(G(a,a4)))}return j.NextResponse.json(aW(G(a6.receipt,a4)))}catch(c){let a=aH?an.readOnlySnapshot().receipts[aH]:null;if(a&&null!==a.pane||(a&&an.failSpawn(a.launchId,"spawn failed before pane binding"),(0,ag.IJ)(aG)),c instanceof D.eX||c instanceof E.sd)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof F.AO)return j.NextResponse.json({error:c.message},{status:409});if(c instanceof F.eO)return j.NextResponse.json({error:c.fence.error,code:"spawn_admission_refused"},{status:c.fence.status});if(c instanceof F.Jc)return j.NextResponse.json({error:c.rejection.guidance,code:c.rejection.code,launchId:c.receipt.launchId,conversationId:c.receipt.conversationId,rejection:c.rejection},{status:403});if(c instanceof q.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof aA)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 au.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)&&an.markSpawnPathPending(a.launchId);let b=an.readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json(G(b,b.artifactPath))}return j.NextResponse.json({error:c instanceof Error?c.message:String(c)},{status:500})}}}};
@@ -1,2 +1,2 @@
1
1
  "use strict";exports.id=8617,exports.ids=[8617],exports.modules={915:(a,b,c)=>{c.d(b,{$U:()=>w,Cv:()=>x,Dd:()=>s,Ip:()=>m,S6:()=>r,bv:()=>o,gq:()=>t,kz:()=>u,uX:()=>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(48892),k=c(91724),l=c(30795);let m=120,n=()=>(0,k.BQ)("session-titles.json");class o extends Error{constructor(a){super(a),this.name="TitleStoreUnreadableError"}}function p(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.key&&a.key.length>0&&(null===a.title||"string"==typeof a.title&&a.title.length>0)&&"number"==typeof a.revision&&Number.isInteger(a.revision)&&a.revision>0&&"string"==typeof a.updatedAt}function q(a=n()){let b,c;try{b=g().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return[];throw new o(`session titles store is unreadable: ${a.message}`)}try{c=JSON.parse(b)}catch{throw new o("session titles store is not valid JSON")}if(!c||"object"!=typeof c||Array.isArray(c))throw new o("session titles store has an unexpected shape");let d=c;if(void 0!==d.version&&1!==d.version)throw new o(`session titles store schema version ${String(d.version)} is unsupported`);if(!Array.isArray(d.titles))throw new o("session titles store is missing its titles array");let e=d.titles.filter(p);if(e.length!==d.titles.length)throw new o("session titles store contains malformed records");return e}function r(a=n()){try{return q(a)}catch{return[]}}function s(a){let b=(0,l.cr)(a,m);return b.length>0?b:null}function t(a){return!a.slice(a.lastIndexOf("/")+1).startsWith("agent-")&&!a.includes("/subagents/")}function u(a,b=[],c=[]){let d=[],e=new Set,f=a=>{e.has(a)||(e.add(a),d.push(a))};for(let c of(a.conversationId?.startsWith("conversation_")&&f(`conversation:${a.conversationId}`),b))c.startsWith("conversation_")&&c!==a.conversationId&&f(`conversation:${c}`);let g=b=>{if("claude"===a.engine||"codex"===a.engine){let c=(0,j.sz)(a.engine,b);c&&f(`uuid:${(0,j.pp)(c)}`)}f(`path:${b}`)};for(let b of(g(a.path),c))g(b);return d}function v(a){return new Map(a.map(a=>[a.key,a]))}function w(a,b,c=[],d=[]){let e=function(a,b,c=[],d=[]){for(let e of u(a,c,d)){let a=b.get(e);if(a)return a}return null}(a,b,c,d);e&&(a.titleRevision=e.revision,null!==e.title&&(void 0===a.autoTitle&&(a.autoTitle=a.title),a.title=e.title))}function x(a,b,c,d,f,h=n()){let j=new Set(a);return function(a,b=n()){return function(a,b){let c=Date.now();for(g().mkdirSync(i().dirname(a),{recursive:!0});;)try{let c=g().openSync(a,"wx",384);try{return g().writeFileSync(c,`${process.pid}
2
- `,"utf8"),b()}finally{g().closeSync(c),g().rmSync(a,{force:!0})}}catch(b){if("EEXIST"!==b.code)throw b;try{if(Date.now()-g().statSync(a).mtimeMs>1e4){g().rmSync(a,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("session titles store is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}}(`${b}.lock`,()=>{var c;let d=a(q(b));return d.records&&function(a,b=n()){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({version:1,titles:a},null,2)+"\n","utf8"),g().renameSync(c,b)}((c=d.records).length<=2e3?c:[...c].sort((a,b)=>b.updatedAt.localeCompare(a.updatedAt)).slice(0,2e3),b),d.result})}(e=>{let g=null;for(let b of a){let a=e.find(a=>a.key===b);if(a){g=a;break}}if(void 0!==d&&d!==(g?.revision??0))return{records:void 0,result:{ok:!1,conflict:g}};let h=null===c?null:s(c),i=e.filter(a=>!j.has(a.key));if(null===h){if(!g)return{records:void 0,result:{ok:!0,override:null,revision:0}};if(null===g.title)return{records:void 0,result:{ok:!0,override:null,revision:g.revision}};let a={key:b,title:null,revision:g.revision+1,updatedAt:f};return{records:[...i,a],result:{ok:!0,override:null,revision:a.revision}}}let k={key:b,title:h,revision:(g?.revision??0)+1,updatedAt:f};return{records:[...i,k],result:{ok:!0,override:k,revision:k.revision}}},h)}},12770:(a,b,c)=>{c.d(b,{Lh:()=>e,j0:()=>g,pV:()=>f});var d=c(643);function e(){return new Promise(a=>setImmediate(a))}async function f(a,b,c={}){let g=Math.max(1,Math.floor(c.batchSize??16)),h=Math.max(1,c.timeBudgetMs??32),i=d.performance.now(),j=0;for(let c=0;c<a.length;c+=1)await b(a[c],c),j+=1,!(c+1>=a.length)&&(j<g&&d.performance.now()-i<h||(await e(),i=d.performance.now(),j=0))}async function g(a,b,c={}){let d=Array(a.length);return await f(a,async(a,c)=>{d[c]=await b(a,c)},c),d}},13605:(a,b,c)=>{c.d(b,{Wl:()=>g,cy:()=>e,de:()=>d});let d=10,e=80;function f(a,b){let c=Number(a);return Number.isSafeInteger(c)&&c>0?c:b}function g(a,b,c=function(a=process.env){return{projectCap:f(a.LLV_SCHEME_PROJECT_CAP,d),cardsPerProject:f(a.LLV_SCHEME_CARDS_PER_PROJECT,e)}}(),h={}){let i=h.protect,j=i?new Set(a.filter(i)):null,k=new Set;for(let d of a)if(k.add(b(d)),k.size>=c.projectCap)break;let l=new Map;return a.filter(a=>{if(j?.has(a))return!0;let d=b(a);if(!k.has(d))return!1;let e=l.get(d)??0;return!(e>=c.cardsPerProject)&&(l.set(d,e+1),!0)})}},15862:(a,b,c)=>{c.d(b,{Ot:()=>l,xe:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(78966),i=c(41617);function j(a){try{return e().realpathSync(a)}catch{return null}}let k=a=>a;function l(a,b=function(){let a=[],b=b=>{b&&!a.includes(b)&&a.push(b)},c=a=>{try{for(let c of a())b(c)}catch{}};try{b(g().join((0,h.Hy)(),"projects")),b((0,h.o1)())}catch{}return c(h.pW),c(i.vD),a}()){let c=new Map;for(let b of a){let a=j(b);a&&!c.has(a)&&c.set(a,b)}if(!c.size)return k;let d=[];for(let a of b){let b=c.get(j(a)??"\0");b&&b!==a&&d.push([a+g().sep,b+g().sep])}return d.length?(d.sort(([a],[b])=>b.length-a.length),a=>{for(let[b,c]of d)if(a.startsWith(b))return c+a.slice(b.length);return a}):k}function m(a,b){if(!a?.size||b===k)return a;let c=new Set;for(let d of a)c.add(d),c.add(b(d));return c.size===a.size?a:c}},23855:(a,b,c)=>{c.d(b,{He:()=>w,Hz:()=>x,Ko:()=>p,Ul:()=>s,mR:()=>u,pk:()=>q,sY:()=>m,w8:()=>v,wK:()=>r});var d=c(73024),e=c.n(d),f=c(52509),g=c(70976),h=c(23921),i=c(49113);(0,f.E)("turn").clear(),(0,f.E)("turn-evidence-v1").clear(),(0,f.E)("turn-evidence-v2").clear();let j=(0,f.E)("turn-evidence-v3"),k=(0,f.E)("tail-v3"),l=(0,f.E)("head-records-v2");function m(a,b,c,d=4194304,e=41){let f=l.get(a);if(f&&f.size===b&&f.mtimeMs===c&&f.nbytes===d&&f.recordLimit===e)return{records:f.records.slice(),complete:!0};let h=(0,g.zy)(a,b,c,{maxBytes:d,lineLimit:e});if(!h.complete||!h.value)return{records:[],complete:!1};let{text:i,read:j,bytes:k}=h.value,n=i.split("\n");j<b&&!i.endsWith("\n")&&(n=n.slice(0,-1));let o=[];for(let a of n.slice(0,e)){let b=a.trim();if(b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&o.push(a)}catch{}}l.delete(a);let p=0;for(let a of l.values())p+=a.sourceBytes;for(;l.size>0&&(l.size>=64||p+k.length>0x1000000);){let a=l.keys().next().value;if(void 0===a)break;p-=l.get(a)?.sourceBytes??0,l.delete(a)}return l.set(a,{size:b,mtimeMs:c,nbytes:d,recordLimit:e,sourceBytes:k.length,records:o}),{records:o.slice(),complete:!0}}function n(a,b){let c=`${b.authoritative?"authoritative":"activity"}:${a}`;for(j.delete(c);j.size>=4096;){let a=j.keys().next().value;if(void 0===a)break;j.delete(a)}j.set(c,b)}function o(a,b,c,d){return"claude"===c&&!!d&&"terminal"===a.state&&null!==(0,i.v)(b)}function p(a){return"codex-sessions"===a?"codex":"openclaw-sessions"===a?"openclaw":"claude"}function q(a,b,c,d,e=!0){let f=`${e?"authoritative":"activity"}:${a}`,g=j.get(f);if(g&&g.size===b&&g.mtimeMs===c&&g.engine===d)return n(a,g),{turn:{...g.turn},complete:!0,composerReleased:g.composerReleased,recoveryReleased:g.recoveryReleased};let h=v(a,b,c),k=(0,i.j)(h.records,d,e),l=h.complete&&o(k,h.records,d,e);if(h.complete){n(a,{size:b,mtimeMs:c,engine:d,authoritative:e,turn:k,composerReleased:!1,recoveryReleased:l});let f=!e,g=`${f?"authoritative":"activity"}:${a}`,m=j.get(g),p=m?.size===b&&m.mtimeMs===c&&m.engine===d&&m.composerReleased,q=(0,i.j)(h.records,d,f);n(a,{size:b,mtimeMs:c,engine:d,authoritative:f,turn:q,composerReleased:p,recoveryReleased:o(q,h.records,d,f)})}return{turn:k,complete:h.complete,composerReleased:!1,recoveryReleased:l}}function r(a,b,c,d){for(let e of[`activity:${a}`,`authoritative:${a}`]){let a=j.get(e);if(a&&a.size===b&&a.mtimeMs===c&&a.engine===d)return{...a.turn}}return null}function s(a,b,c,d,e,f={}){let g=f.authoritative??!0,h=f.composerReleased??!1;"claude"===d&&g&&"terminal"===e.state||n(a,{size:b,mtimeMs:c,engine:d,authoritative:g,turn:{...e},composerReleased:h,recoveryReleased:!1})}function t(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function u(a,b=131072){let c=null;try{let d;c=await e().promises.open(a,"r");let f=await c.stat({bigint:!0});if(!f.isFile())return{integrity:"uncertain",records:[]};let g=Number(f.size);if(!Number.isSafeInteger(g))return{integrity:"uncertain",records:[]};let h=Math.min(g,b),i=g-h,j=+(i>0),k=i-j,l=Buffer.alloc(h+j),m=0;for(;m<l.length;){let a=await c.read(l,m,l.length-m,k+m);if(0===a.bytesRead)return{integrity:"uncertain",records:[]};m+=a.bytesRead}let n=await c.stat({bigint:!0}),o=await e().promises.stat(a,{bigint:!0});if(!t(f,n)||!t(n,o))return{integrity:"uncertain",records:[]};let p=l;if(i>0)if(10===l[0])p=l.subarray(1);else{let a=l.indexOf(10);if(a<0)return{integrity:"complete",prefixTruncated:!0,records:[]};p=l.subarray(a+1)}try{d=new TextDecoder("utf-8",{fatal:!0}).decode(p)}catch{return{integrity:"uncertain",records:[]}}let q=d.split("\n"),r=[];for(let a of q){let b,c=a.trim();if(c){try{b=JSON.parse(c)}catch{return{integrity:"uncertain",records:[]}}if(!b||"object"!=typeof b||Array.isArray(b))return{integrity:"uncertain",records:[]};r.push(b)}}return{integrity:"complete",prefixTruncated:i>0,records:r}}catch{return{integrity:"uncertain",records:[]}}finally{await c?.close().catch(()=>void 0)}}function v(a,b,c,d=131072){let f=k.get(a);if(f&&f.size===b&&f.mtimeMs===c&&f.nbytes===d)return{records:f.records.slice(),complete:!0,prefixTruncated:f.prefixTruncated};let g=function(a,b,c){let d=0,f="",g=!1;try{let h=e().openSync(a,"r");try{d=Math.max(0,b-c);let a=Buffer.alloc(Math.max(0,b-d)),i=0;for(;i<a.length;){let b=e().readSync(h,a,i,a.length-i,d+i);if(0===b)break;i+=b}g=i===a.length,f=a.toString("utf8",0,i)}finally{e().closeSync(h)}}catch{return{records:[],complete:!1,prefixTruncated:!1}}let h=f.split("\n");d>0&&h.length&&(h=h.slice(1));let i=[];for(let a of h){let b=a.trim();if(b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&i.push(a)}catch{}}return{records:i,complete:g,prefixTruncated:d>0}}(a,b,d);if(!g.complete)return g;if(k.size>=64&&!k.has(a)){let a=k.keys().next().value;void 0!==a&&k.delete(a)}return k.set(a,{size:b,mtimeMs:c,nbytes:d,prefixTruncated:g.prefixTruncated,records:g.records}),{records:g.records.slice(),complete:!0,prefixTruncated:g.prefixTruncated}}function w(a,b,c,d=131072){return v(a,b,c,d).records}function x(a,b,c,d){let e=Date.now()/1e3-c;if("claude-tasks"===a&&b.endsWith(".output"))return(0,h.$w)().has(b)?{state:"live",reason:"output_held",complete:!0}:{state:e<900?"recent":"idle",reason:"output_released",complete:!0};let f=!0;if(b.endsWith(".jsonl")){let g=q(b,d,1e3*c,p(a),!1),h="terminal"===g.turn.state?"done":"busy"===g.turn.state?"busy":null;if(f=g.complete,"busy"===h)return e<180?{state:"live",reason:"jsonl_turn_open",complete:f}:{state:"stalled",reason:"jsonl_turn_stalled",complete:f};if("done"===h)return{state:e<900?"recent":"idle",reason:"jsonl_turn_completed",complete:f}}return e<20?{state:"live",reason:"mtime_fresh",complete:f}:e<900?{state:"recent",reason:"mtime_recent",complete:f}:{state:"idle",reason:"mtime_old",complete:f}}},23921:(a,b,c)=>{c.d(b,{$L:()=>t,$U:()=>s,$w:()=>o,BB:()=>r,Bj:()=>D,FQ:()=>q,Fe:()=>u,Ib:()=>C,SP:()=>p,TK:()=>w,Tu:()=>x,VI:()=>v,Vt:()=>B,pl:()=>n,qM:()=>z,qP:()=>y});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(63657),j=c(89333);let k=null,l=null,m=null;function n(a){return Number.isInteger(a)&&a>0&&i.B.pidAlive(a)}function o(a=!1){let b=Date.now();if(!a&&k&&b-k.at<12e3)return k.map;let c=new Map;return i.B.scanFdTargetsUnder(j.GH["claude-tasks"],(a,b)=>{a.endsWith(".output")&&!c.has(a)&&c.set(a,b)}),k={at:b,map:c},c}function p(a,b=!1){let c=new Map;for(let b of a){if(c.size>=512)break;if(!b)continue;c.set(b,b);let a=function(a){try{return e().realpathSync(a)}catch{return null}}(b);a&&c.set(a,b)}let d=[...c.keys()].sort().join("\0"),f=Date.now();if(!b&&l&&l.key===d&&f-l.at<12e3)return l.map;let g=new Map;return c.size>0&&i.B.scanFdTargetsFor([...c.keys()],(a,b,d)=>{let e=c.get(a);e&&!g.has(e)&&d()&&g.set(e,b)}),l={at:f,key:d,map:g},g}function q(a,b){return i.B.pidWritesPath(a,b)}function r(a,b){return i.B.pidHoldsPath(a,b)}function s(a){return i.B.readArgv(a)}function t(a){return i.B.readCwd(a)}function u(a){for(let b of a.slice(0,2)){let a=g().basename(b);if("claude"===a||"claude.exe"===a)return"claude";if("codex"===a||"codex.exe"===a)return"codex"}return null}let v="LLV_STRUCTURED_HOST";function w(){return(0,h.BQ)()}function x(a){return i.B.readEnvVar(a,v)}function y(a){let b=u(a);if(null===b||B(a))return null;if("codex"===b)return a.includes("app-server")?"codex":null;let c=a.includes("-p")||a.includes("--print"),d=a.some((b,c)=>"--input-format"===b&&"stream-json"===a[c+1]);return c&&d?"claude":null}function z(a){return a.includes("--fork-session")}let A=new Set(["daemon","--bg-pty-host","--bg-spare"]);function B(a){return a.some(a=>A.has(a))}function C(a){return i.B.readPpid(a)}function D(a=!1){let b=Date.now();if(!a&&m&&b-m.at<12e3)return m.list;let c=[];for(let a of i.B.listProcesses()){let b=u(a.argv);null===b||B(a.argv)||null!==a.cwd&&c.push({pid:a.pid,engine:b,argv:a.argv,cwd:a.cwd,tty:a.tty})}return m={at:b,list:c},c}},28617:(a,b,c)=>{c.d(b,{Y8:()=>v,ZO:()=>P,g_:()=>Q,nd:()=>O});var d=c(73024),e=c.n(d),f=c(51455),g=c(76760),h=c.n(g),i=c(12770),j=c(36177),k=c(44502),l=c(2451),m=c(66024),n=c(12962),o=c(70107),p=c(78082),q=c(39876),r=c(89333),s=c(13605),t=c(23855),u=c(15862);function v(a,b){let c=h().relative(a,b).split(h().sep);return 4===c.length&&"tasks"===c[2]&&c[3]?.endsWith(".output")?[c[0]??"",c[1]??"",c[3].slice(0,-7)]:null}let w=-1/0;function x(a){return"object"==typeof a&&null!==a&&"code"in a&&"ENOENT"===a.code}function y(a,b,c){if(x(c))return!0;let d=Date.now();if(d-w>=6e4){w=d;let e=c instanceof Error?`${c.message}${"code"in c&&c.code?` (${String(c.code)})`:""}`:String(c);console.error(`[scanner discovery] ${a} failed for ${b}: ${e}; retaining the last completed scan`)}return!1}function z(a){let b=0,c=[];return async function(d){b>=a&&await new Promise(a=>c.push(a)),b+=1;try{return await d()}finally{b-=1,c.shift()?.()}}}async function A(a,b,c,d){let e;try{e=await d(()=>(0,f.readdir)(c,{withFileTypes:!0}))}catch(a){return{paths:[],complete:y("read directory",c,a)}}let g=await Promise.all(e.map(async e=>e.isDirectory()?e.name.startsWith(".git")||"claude-projects"===a&&"tool-results"===e.name?{paths:[],complete:!0}:A(a,b,h().join(c,e.name),d):e.isFile()&&r.Rg.some(a=>e.name.endsWith(a))&&("openclaw-sessions"!==a||(0,n.mu)(e.name))?{paths:[{rootName:a,root:b,path:h().join(c,e.name)}],complete:!0}:{paths:[],complete:!0}));return{paths:g.flatMap(a=>a.paths),complete:g.every(a=>a.complete)}}async function B(a,b,c){let d,g=a.path;try{d=await c(()=>(0,f.stat)(g))}catch(a){return{raw:[],complete:y("stat file",g,a)}}if("claude-projects"===a.rootName&&(0,l.a$)(h().relative(b["claude-projects"],g)))return{raw:[],complete:!0};let i="claude-tasks"===a.rootName?v(b["claude-tasks"],g):null;if("claude-tasks"===a.rootName&&!i||0===d.size&&!i)return{raw:[],complete:!0};if(i){let[a,d,f]=i,g=h().join(b["claude-projects"],a,d,"subagents","agent-"+f+".jsonl");try{return await c(()=>e().promises.access(g)),{raw:[],complete:!0}}catch(a){if(!x(a))return{raw:[],complete:y("access task-output twin",g,a)}}}return{raw:[{...a,st:d}],complete:!0}}function C(a){let b=new Map;for(let c of a){let a=h().basename(c.path);if("codex-sessions"!==c.rootName||!a.startsWith("rollout-")||!a.endsWith(".jsonl"))continue;let d=b.get(a);d&&d.root===c.root||b.set(a,c)}return a.filter(a=>{let c=h().basename(a.path);return"codex-sessions"!==a.rootName||!c.startsWith("rollout-")||!c.endsWith(".jsonl")||b.get(c)===a})}async function D(a,b){try{return await b(()=>e().promises.access(a)),{exists:!0,complete:!0}}catch(b){return{exists:!1,complete:y("access root",a,b)}}}function E(a){return Array.isArray(a)?a:Object.entries(a)}function F(a){return(0,u.Ot)(E(a).map(([,a])=>a))}function G(a,b,c,d,e){if(!(0,p.pu)(c))return;let f=e??("1"===process.env.LLV_FILE_SCANNER_WORKER?void 0:k.O);f?.({complete:b,sources:a.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:d?.get(a.path)??a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}async function H(a,b,c){let d=await I(a,b),e=Array.isArray(a)?r.GH:a;c&&d.complete&&(c(C(d.paths)),await new Promise(a=>setImmediate(a)));let f=await Promise.all(d.paths.map(a=>B(a,e,b)));return{raw:C(f.flatMap(a=>a.raw)),complete:d.complete&&f.every(a=>a.complete)}}async function I(a,b){let c=await Promise.all(E(a).map(async([a,c])=>{let d=await D(c,b);return d.exists?A(a,c,c,b):{paths:[],complete:d.complete}}));return{paths:c.flatMap(a=>a.paths),complete:c.every(a=>a.complete)}}async function J(a,b){let c=Date.now()-18e4,d=[];for(let e of a){if(d.length>=32)break;if(b.has(e.path)||!e.path.endsWith(".jsonl")||e.st.mtimeMs<=c)continue;let a=(0,t.Ko)(e.rootName);(0,t.wK)(e.path,e.st.size,e.st.mtimeMs,a)||d.push(e)}let e=!1;return await (0,i.pV)(d,a=>{let b=(0,t.pk)(a.path,a.st.size,a.st.mtimeMs,(0,t.Ko)(a.rootName),!1);e||="busy"===b.turn.state}),e}function K(a,b,c){return(0,s.Wl)(a,a=>{let c;return(c=b.get(a.path))&&"other"!==c?c:`unresolved:${h().dirname(a.path)}`},void 0,{protect:a=>(function(a,b){if(b?.has(a.path))return!0;if(!a.path.endsWith(".jsonl"))return!1;let c=(0,t.wK)(a.path,a.st.size,a.st.mtimeMs,(0,t.Ko)(a.rootName));return c?.state==="busy"})(a,c)})}let L={codex:"Codex",claude:"Claude",openclaw:"OpenClaw"};async function M(a,b,c,d=[],e=a=>a){let f=new Map(a),g=(0,j.xg)(!0);await (0,i.pV)([...g.projectByPath],([a,b])=>{let c=e(a);f.has(c)&&f.set(c,b)});let h=new Map,k=new Map;return await (0,i.pV)(d,a=>{k.set(a.project,{projectRoot:a.projectRoot,displayName:a.displayName})}),await (0,i.pV)(b,b=>{if(c?.has(b.path))return;let d=f.get(b.path)??b.project,e=a.get(b.path)??b.project,i=k.get(e),j=g.projectMetadataByPath.get(b.path),l=h.get(d)??{project:d,displayName:j?.displayName??i?.displayName??b.projectName,smt:0,conversations:0};l.smt=Math.max(l.smt,b.mtime),l.conversations+=1;let m=j?.projectRoot??i?.projectRoot;!l.projectRoot&&m&&(l.projectRoot=m),h.set(d,l)}),{projectByPath:f,projectCatalog:[...h.values()].sort((a,b)=>b.smt-a.smt||a.project.localeCompare(b.project))}}async function N(a,b,c,d,e,f=a=>a,g){let j=(0,q.g)(),k=(0,u.xe)(c,f),l=(0,u.xe)(d,f);a.sort((a,b)=>b.st.mtimeMs-a.st.mtimeMs);let n=new Map;await (0,i.pV)(a,a=>{if("codex-sessions"!==a.rootName||!a.path.endsWith(".jsonl"))return;let b=(0,m.Gz)(a.path);b&&n.set(b,a)});let p=k?.size?[...a.filter(a=>!k.has(a.path)),...a.filter(a=>k.has(a.path))]:a,r=K(p,b??new Map,g);await J(p,new Set(r.map(a=>a.path)))&&(r=K(p,b??new Map,g));let s=new Set(r.map(a=>a.path)),t=l?.size?new Set(s):void 0,v=l?.size?new Map(a.map(a=>[a.path,a])):null,w=async(a,b)=>{await (0,i.pV)(a,c=>{if("codex-sessions"!==c.rootName||!c.path.endsWith(".jsonl"))return;let d=e?.get(c.path)?.nativeParentThreadId,f=void 0===d?(0,m.S)(c.path,c.st.size,c.st.mtimeMs):d,g=f?n.get(f):void 0;g&&!b.has(g.path)&&(b.add(g.path),a.push(g))})};for(let a of(t&&await w([...r],t),l??[])){if(s.has(a))continue;let b=v?.get(a);b&&(s.add(b.path),r.push(b))}await w(r,s);let x=await (0,i.j0)(r,a=>{let c=e?.get(a.path)??(0,o.q0)(a.rootName,a.root,a.path,a.st,j);return{path:a.path,root:a.rootName,name:h().relative(a.root,a.path),project:b?.get(a.path)??c.project,projectName:c.projectName,projectUnresolved:c.projectUnresolved,worktree:c.worktree,cwd:c.cwd,sessionStartedAt:c.sessionStartedAt,nativeParentThreadId:c.nativeParentThreadId,nativeForkSourceThreadId:c.nativeForkSourceThreadId,projectRoot:c.projectRoot,title:c.title,engine:c.engine,kind:c.kind,fmt:c.fmt,parent:null,mtime:a.st.mtimeMs/1e3,size:a.st.size,activity:"idle",proc:null,pid:null,model:null,pendingQuestion:null,waitingInput:null}}),y=t?r.filter(a=>!t.has(a.path)).map(a=>a.path):[];return{files:x,...y.length?{pinOverlayPaths:y}:{}}}async function O(a=(0,r.s9)(),b,c={}){let d=(0,p.FX)(!1!==c.persist||!0===c.persistIndex),e=z(48),f=await H(a,e,c.onResourceSnapshot?a=>{var b;let d;return c.onResourceSnapshot((b=c.resourceBaseline,d=new Map((b?.files??[]).map(a=>[a.path,a])),{files:a.filter(a=>"claude-tasks"!==a.rootName&&a.path.endsWith(".jsonl")).map(a=>{let b=d.get(a.path),c="codex-sessions"===a.rootName?"codex":"openclaw-sessions"===a.rootName?"openclaw":"claude",e=b?.mtime??Date.now()/1e3,f=b?.size??1,g=function(a,b,c){let d=Date.now()/1e3-b;if(a?.size===c&&a.mtime===b){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason)return d<180?{activity:"live",activityReason:"jsonl_turn_open"}:{activity:"stalled",activityReason:"jsonl_turn_stalled"};if("jsonl_turn_completed"===a.activityReason)return d<900?{activity:"recent",activityReason:"jsonl_turn_completed"}:{activity:"idle",activityReason:"jsonl_turn_completed"}}return d<20?{activity:"live",activityReason:"mtime_fresh"}:d<900?{activity:"recent",activityReason:"mtime_recent"}:{activity:"idle",activityReason:"mtime_old"}}(b,e,f),i=h().basename(a.path);return{path:a.path,root:a.rootName,name:h().relative(a.root,a.path),project:b?.project??"other",projectName:b?.projectName,projectUnresolved:b?.projectUnresolved,cwd:b?.cwd,sessionStartedAt:b?.sessionStartedAt,nativeParentThreadId:b?.nativeParentThreadId,nativeForkSourceThreadId:b?.nativeForkSourceThreadId,projectRoot:b?.projectRoot,worktree:b?.worktree,title:b?.title??(i.startsWith("agent-")?`Subagent ${i.slice(6).split(".")[0]}`:`${L[c]} session`),engine:c,kind:b?.kind??(i.startsWith("agent-")?"subagent":"session"),fmt:c,parent:b?.parent??null,mtime:e,size:f,...g,proc:b?.proc??null,pid:b?.pid??null,model:null,pendingQuestion:null,waitingInput:null}}),projectCatalog:b?.projectCatalog??[],complete:!0}))}:void 0),g=F(a),i=(0,u.xe)(c.demote??c.loadDemote?.(),g),j=await (0,p.fX)(f.raw,{persist:c.persist,persistIndex:c.persistIndex,excludedSummaryPaths:i,scanToken:d,complete:f.complete}),{projectCatalog:k,projectByPath:l}=await M(j.projectByPath,j.conversationCatalog,i,j.projectCatalog,g),m=await N(f.raw,l,i,c.pin,j.summaryByPath,g,(0,u.xe)(c.hosted,g));return G(j.conversationCatalog,j.complete,d,l,c.transcriptIndexScheduler),{...m,projectCatalog:k,...c.transportConversationCatalog?{conversationCatalog:j.conversationCatalog.map(a=>({...a,project:l.get(a.path)??a.project}))}:{},complete:j.complete}}async function P(a=(0,r.s9)(),b,c,d){let e=(0,p.FX)(!1),f=z(48),g=await H(a,f),h=F(a),i=await (0,p.fX)(g.raw,{persist:!1,scanToken:e,complete:g.complete}),{projectByPath:j}=await M(i.projectByPath,i.conversationCatalog,void 0,i.projectCatalog,h),k=await N(g.raw,j,b,c,i.summaryByPath,h,(0,u.xe)(d,h));return G(i.conversationCatalog,i.complete,e,j),k.files}async function Q(a=(0,r.s9)()){let b=(0,p.FX)(!1),c=await H(a,z(48)),d=await (0,p.fX)(c.raw,{persist:!1,scanToken:b,complete:c.complete});G(d.conversationCatalog,d.complete,b,d.projectByPath)}},36177:(a,b,c)=>{c.d(b,{C$:()=>p,Ug:()=>s,Y:()=>r,f0:()=>w,iD:()=>t,jX:()=>v,xg:()=>x});var d=c(73024),e=c.n(d),f=c(12500),g=c(91724),h=c(70107),i=c(40713),j=c(36405),k=c(915);let l=new WeakMap,m=new WeakMap,n=null;function o(a,b,c=!0){let d=new Map,e=new Map,f=new Map,g=new Map,j=new Map,k=new Set;for(let b of Object.values(a.conversations)){let a=[...b.generations.map(a=>a.path),...b.continuityPaths];for(let c of(f.set(b.id,a),a))d.has(c)||d.set(c,b.id);let e=b.generations.at(-1);if(e){if(c){let{project:a}=(0,i.x)({projectOwnership:b.projectOwnership,cwd:e.launchProfile.cwd,launchProfileProject:e.launchProfile.project});a&&(g.set(e.path,a),e.launchProfile.cwd&&j.set(e.path,e.launchProfile.cwd))}for(let a of b.generations)a.path!==e.path&&k.add(a.path);for(let a of b.continuityPaths)a!==e.path&&k.add(a)}}for(let b of Object.keys(a.conversationAliases)){let c=function(a,b){let c=b,d=new Set;for(;!d.has(c);){d.add(c);let b=a.conversationAliases[c];if(!b)break;c=b}return c}(a,b);if(c===b)continue;let d=e.get(c);d?d.push(b):e.set(c,[b])}let l=new Map,m=new Map;return{signature:b,snapshot:a,conversationByPath:d,aliasesByCanonical:e,ownedPathsByConversation:f,projectByPath:g,projectMetadataByPath:{get(a){let b=l.get(a);if(void 0!==b)return b??void 0;let c=j.get(a),d=g.get(a);if(!c||!d)return void l.set(a,null);let e=m.get(c);m.has(c)||(e=(0,h.ot)(c),m.set(c,e));let f=e?.project===d?{displayName:e.displayName,...e.repo?{projectRoot:e.repo}:{},...e.unresolved?{unresolved:!0}:{}}:null;return l.set(a,f),f??void 0}},archivedPaths:k}}function p(a){let b=l.get(a);if(b)return b;let c=o(a,"snapshot");return l.set(a,c),c}function q(a,b=!1){let c;try{c=a.readOnlySnapshot()}catch(a){if(b&&!(a instanceof f.Ou))throw a;return null}return p(c)}function r(a,b,c=!0){let d=u(!0,void 0===b?void 0:c?p(b):function(a){let b=m.get(a);if(b)return b;let c=o(a,"snapshot-identity",!1);return m.set(a,c),c}(b),c);for(let b of a)d(b)}function s(a,b){let c=(0,k.uX)((0,k.S6)());if(0===c.size)return;let d=[...c.keys()].flatMap(a=>a.startsWith("conversation:")?[a.slice(13)]:[]),e=d.length>0?b(d):[],f=new Map,g=new Set(a.map(a=>a.path));for(let a of e)for(let b of a.ownedPaths)g.has(b)&&!f.has(b)&&f.set(b,a);for(let b of a){let a=f.get(b.path);a&&(b.conversationId=a.conversationId),(0,k.$U)(b,c,a?.aliases??[],a?.ownedPaths??[])}}function t(a){let b=u(!1,function(){let a,b=(0,g.BQ)("agent-registry.json");try{let c=e().statSync(b,{bigint:!0});a=`${b}:${c.mtimeNs}:${c.size}`}catch{return null}if(n?.signature===a)return n;try{let c=(0,f.l5)(JSON.parse(e().readFileSync(b,"utf8")));return n=o(c,a)}catch{return null}}());for(let c of a)b(c)}function u(a=!0,b,c=!0){let d=(0,k.uX)((0,k.S6)()),e=void 0===b?q((0,f.agentRegistry)()):b,g=e?.snapshot??null,h=e?.conversationByPath??new Map,l=e?.aliasesByCanonical??new Map,m=e?.ownedPathsByConversation??new Map;return b=>{if("claude"!==b.engine&&"codex"!==b.engine)return;if(b.spawn){b.renamable=!1;return}let f=h.get(b.path);!b.conversationId&&f&&(b.conversationId=f);let n=f?g?.conversations[f]:void 0,o=n?.generations.at(-1);if(o?.path===b.path&&(b.title=o.launchProfile.title??b.title,c)){b.project=(0,i.x)({projectOwnership:n?.projectOwnership,cwd:o.launchProfile.cwd,launchProfileProject:o.launchProfile.project,fallbackProject:b.project}).project??b.project;let a=e?.projectMetadataByPath.get(b.path);a&&(b.projectName=a.displayName,b.projectRoot=a.projectRoot??b.projectRoot,b.projectUnresolved=a.unresolved),n?.projectOwnership&&(b.projectOwnership={...n.projectOwnership})}if(a&&(b.renamable=(0,j.V)(b)),d.size>0){let a=b.conversationId?l.get(b.conversationId)??[]:[],c=b.conversationId?m.get(b.conversationId)??[]:[];(0,k.$U)(b,d,a,c)}}}async function v(a,b=48,c=()=>new Promise(a=>setImmediate(a))){let d=u();for(let e=0;e<a.length;e+=1)d(a[e]),(e+1)%b==0&&await c()}function w(a){let b=x().projectByPath;for(let c of a){let a=b.get(c.path);a&&(c.project=a)}}function x(a=!1){let b=q((0,f.agentRegistry)(),a);return b?{projectByPath:b.projectByPath,projectMetadataByPath:b.projectMetadataByPath,archivedPaths:b.archivedPaths}:{projectByPath:new Map,projectMetadataByPath:new Map,archivedPaths:new Set}}},36405:(a,b,c)=>{c.d(b,{V:()=>h,Y:()=>i});var d=c(73024),e=c.n(d),f=c(66024),g=c(915);function h(a){if("claude"!==a.engine&&"codex"!==a.engine||a.kind&&"session"!==a.kind||!(0,g.gq)(a.path))return!1;let b=void 0===a.mtime?void 0:1e3*a.mtime;return!("codex"===a.engine&&(0,f.ET)(a.path,a.size,b))}function i(a,b){let c=0;try{c=e().statSync(b).size}catch{c=0}return h({engine:a,path:b,size:c})}},40713:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(89940),e=c(27832),f=c(70107);function g(a){let b=a.cwd?.trim(),c=Object.hasOwn(a,"cwdInfo")?a.cwdInfo??null:b?(0,f.ot)(b):null,g=a.projectOwnership?.project.trim();if(g){let a=(0,d.G$)(g),b=c?.project&&c.project!==e.Mv;if(!(b&&a===c?.displayName)&&(a!==e.Mv||!b))return{project:a,...c?.worktree?{worktree:c.worktree}:{},source:"ownership"}}if(c?.project)return{project:c.project,...c.worktree?{worktree:c.worktree}:{},source:"cwd"};let h=a.launchProfileProject?.trim();if(h)return{project:(0,d.G$)(h),source:"launch-profile"};let i=a.fallbackProject?.trim();return i?{project:(0,d.G$)(i),source:"fallback"}:{project:null,source:null}}},44502:(a,b,c)=>{c.d(b,{O:()=>h});var d=c(5197);let e=globalThis;async function f(a,b){let c=await (0,d.DL)(a,{complete:b});if(c.failures.length)throw Error(`${c.failures.length} transcript file(s) could not be indexed`)}async function g(a){for(;a.pending;){let b=a.pending;delete a.pending;try{await b.run(b.feed.sources,b.feed.complete)}catch(b){let a=b instanceof Error?b.message:String(b);console.error(`[transcript search] background indexing failed: ${a}; a later scan will retry`)}}}function h(a,b={}){let c=e.__llvTranscriptFeed??={scheduled:!1,idleWaiters:[]};c.pending={feed:a,run:b.run??f},c.active||c.scheduled||(c.scheduled=!0,setImmediate(()=>(function a(b){if(b.scheduled=!1,b.active)return;let c=g(b);b.active=c,c.finally(()=>{if(b.active===c&&delete b.active,b.pending&&!b.scheduled)b.scheduled=!0,setImmediate(()=>a(b));else if(!b.scheduled&&!b.active&&!b.pending)for(let a of b.idleWaiters.splice(0))a()})})(c)))}},49113:(a,b,c)=>{c.d(b,{j:()=>m,v:()=>l});var d=c(12962),e=c(95544);function f(a){let b=a.timestamp;return"string"==typeof b?b:null}let g=new Set(["authentication_failed","rate_limit"]);function h(a){return!0===a.isApiErrorMessage&&"string"==typeof a.error&&g.has(a.error)}function i(a){let b=(0,e.xK)(a.message)?.content;return"string"==typeof b?b:(0,e.Em)(b).map(a=>(0,e.r$)(a.text)??"").join("\n")}let j=/^no response requested\.?$/i,k=/^\s*\[Request interrupted by user(?: for tool use)?\]\s*$/;function l(a){let b=!1;for(let c=a.length-1;c>=0;c-=1){let d=a[c];if("result"===d.type)return b?{terminalAt:f(d)}:null;if("assistant"===d.type){if(h(d))return b?{terminalAt:f(d)}:null;if(!(!0!==d.isApiErrorMessage&&"<synthetic>"===(0,e.r$)(((0,e.xK)(d.message)??{}).model)&&j.test(i(d).trim())))return null;b=!0;continue}if("user"===d.type){if(!b&&!(!0===d.interruptedByShutdown||"interruptedMessageId"in d||k.test(i(d))))return null;b=!0}}return null}function m(a,b,c=!1){if("openclaw"===b){for(let b=a.length-1;b>=0;b-=1){let c=a[b],g=(0,d.j5)(c);if(g){if("assistant"===g.role){if(!(0,d.Re)(c))continue;let a=(0,e.r$)(g.stopReason);if("stop"===a||"error"===a||"aborted"===a)return{state:"terminal",source:"lifecycle",terminalAt:f(c)};return{state:"busy",source:"assistant",terminalAt:null}}if("user"===g.role)return{state:"busy",source:"lifecycle",terminalAt:null}}}return{state:"unknown",source:"empty",terminalAt:null}}if("codex"===b){let b=!1,c=null,d=!1,g=new Set,h=0;for(let i of a){let a=(0,e.xK)(i.payload)??{},j=(0,e.r$)(a.type);if(!j)continue;if("task_started"===j||"turn_started"===j||"user_message"===j){b=!0,c=null,d=!1;continue}if("task_complete"===j||"turn_complete"===j||"turn_completed"===j||"turn_aborted"===j){0===g.size&&0===h?(b=!1,c=f(i),d=!0):(b=!0,c=null,d=!1);continue}if("agent_message"===j||"token_count"===j||"reasoning"===j)continue;let k=j.includes("output")||j.endsWith("_result");if(!(j.includes("tool")||j.includes("function")||j.includes("command")))continue;let l=(0,e.r$)(a.call_id)??(0,e.r$)(a.callId)??(0,e.r$)(a.id);k?l?g.delete(l):h>0&&(h-=1):l?g.add(l):h+=1,b=!0,c=null,d=!1}return d&&!b&&0===g.size&&0===h?{state:"terminal",source:"lifecycle",terminalAt:c}:b||g.size>0||h>0?{state:"busy",source:g.size>0||h>0?"tool":"lifecycle",terminalAt:null}:{state:"unknown",source:"empty",terminalAt:null}}if(c){let b={state:"unknown",source:"empty",terminalAt:null};for(let c of a)"result"===c.type?b={state:"terminal",source:"lifecycle",terminalAt:f(c)}:"user"===c.type?b={state:"busy",source:"lifecycle",terminalAt:null}:"assistant"===c.type&&(b=h(c)?{state:"terminal",source:"lifecycle",terminalAt:f(c)}:{state:"busy",source:"assistant",terminalAt:null});if("busy"!==b.state)return b;let c=l(a);return c?{state:"terminal",source:"lifecycle",terminalAt:c.terminalAt}:b}for(let b of[...a].reverse()){if("assistant"===b.type){if(h(b))return{state:"terminal",source:"lifecycle",terminalAt:f(b)};let a=(0,e.r$)(((0,e.xK)(b.message)??{}).stop_reason);if("end_turn"===a||"stop_sequence"===a)return{state:"terminal",source:"lifecycle",terminalAt:f(b)};return{state:"busy",source:"assistant",terminalAt:null}}if("user"===b.type)return{state:"busy",source:"lifecycle",terminalAt:null}}return{state:"unknown",source:"empty",terminalAt:null}}},78082:(a,b,c)=>{c.d(b,{FX:()=>t,OQ:()=>v,fX:()=>D,pu:()=>u});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(3587),k=c(91724),l=c(12770),m=c(89940),n=c(27832),o=c(63678),p=c(70107),q=c(39876);let r=-1/0,s=globalThis;function t(a){let b=(s.__llvProjectCatalogPublicationGeneration??0)+1;if(s.__llvProjectCatalogPublicationGeneration=b,!a)return{publication:b,persistence:null};let c=(s.__llvProjectCatalogPersistenceGeneration??0)+1;return s.__llvProjectCatalogPersistenceGeneration=c,{publication:b,persistence:c}}function u(a){return s.__llvProjectCatalogPublicationGeneration===a.publication}function v(a,b,c){return!!u(b)&&!!c&&((0,o.ru)(a),!0)}function w(){return(0,k.BQ)("project-catalog.json")}function x(a,b){return"codex-sessions"===a||"openclaw-sessions"===a||"claude-projects"===a&&("session"===b||"subagent"===b)}function y(a){return"codex-sessions"===a?"codex":"claude-projects"===a?"claude":"openclaw-sessions"===a?"openclaw":"shell"}function z(a){return"codex-sessions"===a?"codex":"claude-projects"===a?"claude":"openclaw-sessions"===a?"openclaw":"plain"}function A(a,b){let c=i().basename(a.path);return"subagent"===b?"Subagent "+c.slice(6).split(".")[0]:"codex-sessions"===a.rootName?"Codex session":"claude-projects"===a.rootName?"Claude session":"openclaw-sessions"===a.rootName?"OpenClaw session":"Background task "+c.split(".")[0]}function B(a,b){a.files[b.path]={summaryVersion:b.summaryVersion,summaryIncomplete:b.summaryIncomplete,rootName:b.rootName,size:b.size,mtimeMs:b.mtimeMs,sidecarSize:b.sidecarSize,sidecarMtimeMs:b.sidecarMtimeMs,stateKey:b.stateKey,project:b.project,projectName:b.projectName,projectUnresolved:b.projectUnresolved,projectRoot:b.projectRoot,kind:b.kind,session:b.session,worktree:b.worktree,cwd:b.cwd??null,sessionStartedAt:b.sessionStartedAt??null,nativeParentThreadId:b.nativeParentThreadId??null,nativeForkSourceThreadId:b.nativeForkSourceThreadId??null,title:b.titleCached?b.title:void 0,engine:b.engine,fmt:b.fmt}}function C(a){return"claude-projects"!==a.rootName&&"claude-tasks"!==a.rootName?null:i().relative(a.root,a.path).split(i().sep)[0]||null}async function D(a,b={}){let c=!1!==b.persist||!0===b.persistIndex,d=b.scanToken??t(c),f=function(){try{let a=JSON.parse(g().readFileSync(w(),"utf8"));if(1!==a.version&&2!==a.version||!a.files||"object"!=typeof a.files||Array.isArray(a.files))return{version:2,resolutionVersion:q.Q,files:{}};let b={};for(let[c,d]of Object.entries(a.files)){if(!d||"object"!=typeof d||Array.isArray(d)||"codex-sessions"!==d.rootName&&"claude-projects"!==d.rootName&&"claude-tasks"!==d.rootName&&"openclaw-sessions"!==d.rootName||"number"!=typeof d.size||"number"!=typeof d.mtimeMs||"string"!=typeof d.stateKey||"string"!=typeof d.project||void 0!==d.projectName&&"string"!=typeof d.projectName||void 0!==d.projectUnresolved&&!0!==d.projectUnresolved||void 0!==d.projectRoot&&null!==d.projectRoot&&"string"!=typeof d.projectRoot||"string"!=typeof d.kind)continue;let a="codex"===d.engine||"claude"===d.engine||"shell"===d.engine||"openclaw"===d.engine?d.engine:void 0,e="codex"===d.fmt||"claude"===d.fmt||"plain"===d.fmt||"openclaw"===d.fmt?d.fmt:void 0,f="string"==typeof d.cwd?d.cwd:null===d.cwd?null:void 0,g="string"==typeof d.sessionStartedAt?d.sessionStartedAt:null===d.sessionStartedAt?null:void 0,h="string"==typeof d.nativeParentThreadId?d.nativeParentThreadId:null===d.nativeParentThreadId?null:void 0,i="string"==typeof d.nativeForkSourceThreadId?d.nativeForkSourceThreadId:null===d.nativeForkSourceThreadId?null:void 0,j="number"==typeof d.sidecarSize?d.sidecarSize:null===d.sidecarSize?null:void 0,k="number"==typeof d.sidecarMtimeMs?d.sidecarMtimeMs:null===d.sidecarMtimeMs?null:void 0,l=4===d.summaryVersion&&"string"==typeof d.title&&"string"==typeof d.projectName&&void 0!==a&&void 0!==e&&void 0!==f&&void 0!==g&&void 0!==h&&void 0!==i&&void 0!==d.projectRoot&&void 0!==j&&void 0!==k;b[c]={summaryVersion:l?4:void 0,summaryIncomplete:!l&&!0===d.summaryIncomplete||void 0,rootName:d.rootName,size:d.size,mtimeMs:d.mtimeMs,sidecarSize:j,sidecarMtimeMs:k,stateKey:d.stateKey,project:d.project,projectName:"string"==typeof d.projectName?d.projectName:(0,n.rj)(d.project),projectUnresolved:!0===d.projectUnresolved||void 0,projectRoot:"string"==typeof d.projectRoot?d.projectRoot:null===d.projectRoot?null:void 0,kind:d.kind,session:x(d.rootName,d.kind),worktree:"string"==typeof d.worktree?d.worktree:void 0,cwd:f,sessionStartedAt:g,nativeParentThreadId:h,nativeForkSourceThreadId:i,title:"string"==typeof d.title?d.title:void 0,engine:a,fmt:e}}return{version:2,resolutionVersion:a.resolutionVersion??0,files:b}}catch{return{version:2,resolutionVersion:q.Q,files:{}}}}(),h=(0,q.g)(),k={},o=new Map,u=new Map,E=new Map,F=new Map;await (0,l.pV)(a,a=>{F.set(a.path,f.files[a.path]?.project)});let G=await (0,l.j0)(a,a=>(function(a,b,c){let d=b.files[a.path],e=(0,p.tS)(a.rootName,a.path,a.st);if(e.complete&&d?.summaryVersion===4&&d.size===a.st.size&&d.mtimeMs===a.st.mtimeMs&&d.sidecarSize===e.sidecarSize&&d.sidecarMtimeMs===e.sidecarMtimeMs&&void 0!==d.projectRoot&&(b.resolutionVersion!==q.Q||d.stateKey!==c)){let e=(0,p.xn)(a.rootName,a.root,a.path,{project:d.project,projectName:d.projectName??(0,n.rj)(d.project),projectUnresolved:d.projectUnresolved,worktree:d.worktree,cwd:d.cwd??void 0,sessionStartedAt:d.sessionStartedAt,nativeParentThreadId:d.nativeParentThreadId,nativeForkSourceThreadId:d.nativeForkSourceThreadId,projectRoot:d.projectRoot,title:d.title??A(a,d.kind),engine:d.engine??y(a.rootName),kind:d.kind,fmt:d.fmt??z(a.rootName)},c),f={...d,path:a.path,stateKey:c,project:e.project,projectName:e.projectName,projectUnresolved:e.projectUnresolved,projectRoot:e.projectRoot??null,worktree:e.worktree,cwd:e.cwd,session:x(a.rootName,e.kind),title:e.title,titleCached:!0,engine:e.engine,kind:e.kind,fmt:e.fmt};return B(b,f),f}if(b.resolutionVersion===q.Q&&e.complete&&d&&d.size===a.st.size&&d.mtimeMs===a.st.mtimeMs&&(4!==d.summaryVersion||d.sidecarSize===e.sidecarSize&&d.sidecarMtimeMs===e.sidecarMtimeMs)&&d.stateKey===c&&void 0!==d.projectRoot){if(4!==d.summaryVersion){let b=(0,p.CL)(a.rootName,a.root,a.path,a.st,c,e),f=b.description,g=!0===d.summaryIncomplete;return{...d,summaryVersion:b.complete?4:void 0,summaryIncomplete:!!g&&!b.complete||void 0,sidecarSize:e.sidecarSize,sidecarMtimeMs:e.sidecarMtimeMs,path:a.path,project:g?f.project||"other":d.project,projectName:g?f.projectName:d.projectName??(0,n.rj)(d.project),projectUnresolved:g?f.projectUnresolved:d.projectUnresolved,projectRoot:g?f.projectRoot??null:d.projectRoot,kind:g?f.kind:d.kind,session:x(a.rootName,g?f.kind:d.kind),worktree:g?f.worktree:d.worktree,cwd:f.cwd,sessionStartedAt:f.sessionStartedAt,nativeParentThreadId:f.nativeParentThreadId,nativeForkSourceThreadId:f.nativeForkSourceThreadId,title:f.title,titleCached:!0,engine:f.engine,fmt:f.fmt}}return{path:a.path,...d,session:x(a.rootName,d.kind),cwd:d.cwd??void 0,sessionStartedAt:d.sessionStartedAt,nativeParentThreadId:d.nativeParentThreadId,nativeForkSourceThreadId:d.nativeForkSourceThreadId,title:d.title??A(a,d.kind),titleCached:"string"==typeof d.title,engine:d.engine??y(a.rootName),fmt:d.fmt??z(a.rootName)}}let f=(0,p.CL)(a.rootName,a.root,a.path,a.st,c,e),g=f.description,h=f.complete||d?.summaryVersion!==4?void 0:d,i={summaryVersion:f.complete?4:void 0,summaryIncomplete:!f.complete||void 0,path:a.path,rootName:a.rootName,size:a.st.size,mtimeMs:a.st.mtimeMs,sidecarSize:e.sidecarSize,sidecarMtimeMs:e.sidecarMtimeMs,stateKey:c,project:h?.project??(g.project||"other"),projectName:h?.projectName??g.projectName,projectUnresolved:h?.projectUnresolved??g.projectUnresolved,projectRoot:h?h.projectRoot??null:g.projectRoot??null,kind:g.kind,session:x(a.rootName,g.kind),worktree:h?.worktree??g.worktree,cwd:h?h.cwd??void 0:g.cwd,sessionStartedAt:h?h.sessionStartedAt:g.sessionStartedAt,nativeParentThreadId:h?h.nativeParentThreadId:g.nativeParentThreadId,nativeForkSourceThreadId:h?h.nativeForkSourceThreadId:g.nativeForkSourceThreadId,title:g.title,titleCached:!0,engine:g.engine,fmt:g.fmt};return B(b,i),i})(a,f,h)),H=!1!==b.complete&&G.every(a=>4===a.summaryVersion),I=new Map;await (0,l.pV)(a,(a,b)=>{let c=G[b],d="claude-projects"===c.rootName&&c.session?C(a):null;d&&I.set(d,c.project)}),await (0,l.pV)(a,(b,c)=>{let d=C(a[c]),e=d?I.get(d):void 0;e&&(G[c].project=e)});let J=new Map;await (0,l.pV)(G,a=>{k[a.path]={summaryVersion:a.summaryVersion,summaryIncomplete:a.summaryIncomplete,rootName:a.rootName,size:a.size,mtimeMs:a.mtimeMs,sidecarSize:a.sidecarSize,sidecarMtimeMs:a.sidecarMtimeMs,stateKey:a.stateKey,project:a.project,projectName:a.projectName,projectUnresolved:a.projectUnresolved,projectRoot:a.projectRoot,kind:a.kind,session:a.session,worktree:a.worktree,cwd:a.cwd??null,sessionStartedAt:a.sessionStartedAt??null,nativeParentThreadId:a.nativeParentThreadId??null,nativeForkSourceThreadId:a.nativeForkSourceThreadId??null,title:a.titleCached?a.title:void 0,engine:a.engine,fmt:a.fmt};let c=F.get(a.path);if(c&&c!==a.project){let b=J.get(c)??new Set;b.add(a.project),J.set(c,b)}let d=a.project||"other";E.set(a.path,d);let e=o.get(d);if(e||(e={project:d,displayName:a.projectName??(0,n.rj)(d),smt:0,conversations:0},o.set(d,e)),e.smt=Math.max(e.smt,a.mtimeMs/1e3),a.session&&(e.conversations+=1),a.projectRoot&&!b.excludedSummaryPaths?.has(a.path)){let b=u.get(d)??new Map,c=b.get(a.projectRoot)??{count:0,newest:0};c.count+=1,c.newest=Math.max(c.newest,a.mtimeMs),b.set(a.projectRoot,c),u.set(d,b)}}),await (0,l.pV)([...u],([a,b])=>{let c=[...b].sort(([a,b],[c,d])=>d.count-b.count||d.newest-b.newest||a.localeCompare(c))[0]?.[0];c&&(o.get(a).projectRoot=c)}),await (0,l.pV)([...b.excludedSummaryPaths??[]],a=>{let b=k[a],c=b?o.get(b.project||"other"):void 0;b?.session&&c&&c.conversations>0&&(c.conversations-=1)});let K=[],L=new Map;await (0,l.pV)(G,(b,c)=>{L.set(b.path,{project:b.project||"other",projectName:b.projectName??(0,n.rj)(b.project||"other"),projectUnresolved:b.projectUnresolved,worktree:b.worktree,cwd:b.cwd??void 0,sessionStartedAt:b.sessionStartedAt,nativeParentThreadId:b.nativeParentThreadId,nativeForkSourceThreadId:b.nativeForkSourceThreadId,projectRoot:b.projectRoot,title:b.title,engine:b.engine,kind:b.kind,fmt:b.fmt}),b.session&&("codex"===b.engine||"claude"===b.engine||"openclaw"===b.engine)&&K.push({path:b.path,root:b.rootName,name:i().relative(a[c].root,b.path),project:b.project||"other",projectName:b.projectName,projectUnresolved:b.projectUnresolved,worktree:b.worktree,title:b.title,firstPrompt:"",engine:b.engine,kind:b.kind,fmt:b.fmt,mtime:b.mtimeMs/1e3,size:b.size})});let M=null!==d.persistence&&s.__llvProjectCatalogPersistenceGeneration===d.persistence;if(v(K,d,H),M&&c&&H){let a=!0;if(!1!==b.persist)try{let b=function(a,b){let c=new Map,d=[];for(let[e,f]of a){if(1!==f.size){d.push(e);continue}let g=f.values().next().value,h=new Set([e]);for(;g&&(b.get(g)?.conversations??0)===0;){if(h.has(g)){g=void 0;break}h.add(g);let b=a.get(g);if(b?.size!==1)break;g=b.values().next().value}g&&g!==e&&(b.get(g)?.conversations??0)>0&&c.set(e,g)}return{migrations:c,conflicts:d}}(J,o);if(b.conflicts.length>0)throw Error("ambiguous catalog project identity");let c=b.migrations,d=[...c].map(([a,b])=>({source:a,target:b,displayName:o.get(b)?.displayName??(0,n.rj)(b)})),e=(0,m.JC)(),f=e.conflicts.length;for(let a of e.registrations){let b=c.get(a.source);if(b&&b!==a.target){f+=1;continue}c.set(a.source,a.target),d.push(a)}f>0&&console.error(`[project catalog] ${f} durable project alias source(s) unresolved; persisting the clean batch and retrying them on a later scan`),(a=(0,m.YX)(d))&&(a=(0,j.aM)(c)),a&&(a=(0,m.oh)(d))}catch{a=!1}a?function(a){let b,c="create state directory",d=w();try{let f=w();d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),g().chmodSync(i().dirname(f),448),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary index",d=b,g().writeFileSync(b,JSON.stringify(a)+"\n",{encoding:"utf8",mode:384}),c="rename temporary index",d=f,g().renameSync(b,f)}catch(a){if(void 0!==b)try{g().unlinkSync(b)}catch{}!function(a,b,c){let d=Date.now();if(d-r<6e4)return;r=d;let e=c instanceof Error?`${c.message}${"code"in c&&c.code?` (${String(c.code)})`:""}`:String(c);console.error(`[project catalog] ${a} failed for ${b}: ${e}; a later scan will retry`)}(c,d,a)}}({version:2,resolutionVersion:q.Q,files:k}):console.error("[project catalog] board project migration deferred; a later scan will retry")}return{projectCatalog:[...o.values()].filter(a=>a.conversations>0).sort((a,b)=>b.smt-a.smt||a.project.localeCompare(b.project)),projectByPath:E,conversationCatalog:K,summaryByPath:L,complete:H}}},89333:(a,b,c)=>{let d,e,f;c.d(b,{Bz:()=>s,EG:()=>w,GH:()=>q,Ps:()=>x,Rg:()=>t,jQ:()=>u,s9:()=>r});var g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k),m=c(41617),n=c(78966),o=c(13605);let p=j().homedir(),q={"codex-sessions":l().join(p,".codex/sessions"),"claude-projects":l().join(p,".claude/projects"),"claude-tasks":(d=process.getuid?.()??1e3,e=l().join(j().tmpdir(),"claude-"+d),e===(f="/tmp/claude-"+d)||h().existsSync(e)?e:h().existsSync(f)?f:e),"openclaw-sessions":l().join(p,".openclaw/agents")};function r(){let a=[...(0,m.vD)().map(a=>["codex-sessions",a]),...(0,n.pW)().map(a=>["claude-projects",a]),["claude-tasks",q["claude-tasks"]],...(function(){let a,b,c=l().join((b=process.env.OPENCLAW_STATE_DIR?.trim())?l().resolve(b):l().join(j().homedir(),".openclaw"),"agents");try{a=h().readdirSync(c,{withFileTypes:!0})}catch{return[]}return a.filter(a=>(a.isDirectory()||a.isSymbolicLink())&&!a.name.startsWith(".")).map(a=>l().join(c,a.name,"sessions")).sort()})().map(a=>["openclaw-sessions",a])],b=new Set;return a.filter(([,a])=>{let c=v(a)??l().resolve(a);return!b.has(c)&&(b.add(c),!0)})}function s(a){for(let b of(0,n.pW)())try{let c=h().realpathSync(a),d=h().realpathSync(b);if(c.startsWith(d+l().sep))return b}catch{}return null}let t=[".log",".jsonl",".output",".txt"],u=786432;function v(a){try{return h().realpathSync(a)}catch{return null}}function w(a){let b=v(a);return!!b&&r().some(([,a])=>{let c=v(a);return null!==c&&b.startsWith(c+l().sep)})}function x(a){for(let b of(0,m.vD)())try{let c=h().realpathSync(a),d=h().realpathSync(b);if(c.startsWith(d+l().sep))return b}catch{continue}return null}o.de,o.cy}};
2
+ `,"utf8"),b()}finally{g().closeSync(c),g().rmSync(a,{force:!0})}}catch(b){if("EEXIST"!==b.code)throw b;try{if(Date.now()-g().statSync(a).mtimeMs>1e4){g().rmSync(a,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("session titles store is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}}(`${b}.lock`,()=>{var c;let d=a(q(b));return d.records&&function(a,b=n()){let c;g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify({version:1,titles:a},null,2)+"\n","utf8"),g().renameSync(c,b)}((c=d.records).length<=2e3?c:[...c].sort((a,b)=>b.updatedAt.localeCompare(a.updatedAt)).slice(0,2e3),b),d.result})}(e=>{let g=null;for(let b of a){let a=e.find(a=>a.key===b);if(a){g=a;break}}if(void 0!==d&&d!==(g?.revision??0))return{records:void 0,result:{ok:!1,conflict:g}};let h=null===c?null:s(c),i=e.filter(a=>!j.has(a.key));if(null===h){if(!g)return{records:void 0,result:{ok:!0,override:null,revision:0}};if(null===g.title)return{records:void 0,result:{ok:!0,override:null,revision:g.revision}};let a={key:b,title:null,revision:g.revision+1,updatedAt:f};return{records:[...i,a],result:{ok:!0,override:null,revision:a.revision}}}let k={key:b,title:h,revision:(g?.revision??0)+1,updatedAt:f};return{records:[...i,k],result:{ok:!0,override:k,revision:k.revision}}},h)}},11149:(a,b,c)=>{c.d(b,{M:()=>l,n:()=>m});var d=c(73024),e=c.n(d),f=c(3587),g=c(79645),h=c(89940),i=c(27832),j=c(70107);function k(a,b){return a.startsWith("dir-")?a===(0,i.qe)(b):!!a.startsWith("repo-")&&[...new Set([(0,i.V5)(b),(0,j.D$)(b)].filter(a=>!!a))].some(b=>(0,i.YV)(b)===a)}function l(a,b){let c,d,f=a.trim();if(!(0,i.z)(f)||!b?.trim()||!function(a){try{return e().statSync(a).isDirectory()}catch{return!1}}(b.trim()))return null;let g=function(a){try{return e().realpathSync.native(a)}catch{return a}}(b.trim()),l=(d=(c=(0,j.D$)(g))?(0,i.im)(c):null)?{project:d.project,displayName:d.displayName}:(0,i.NP)(g);if(!l||!(0,i.z)(l.project))return null;let m=(0,h.G$)(f),n=m!==f&&k(m,g)?m:f;return k(n,g)&&n!==l.project&&(0,h.G$)(n)!==l.project?{source:n,target:l.project,displayName:l.displayName}:null}function m(a){let b=[],c=new Set;for(let d of a){if(!(!d||c.has(d.source))){if((c.add(d.source),(0,h.G$)(d.source)!==d.target&&(0,h.YX)([d])&&(0,f.aM)(new Map([[d.source,d.target]])))&&(0,h.oh)([d])){b.push(d);try{(0,g.Q)([{key:`project-succession:${d.source}:${d.target}`,type:"project_moved",at:new Date().toISOString(),project:d.target,summary:`${d.displayName}: project identity moved from ${d.source} to ${d.target}; everything recorded under the old key now reads as this project`}])}catch{}}}}return b}},12770:(a,b,c)=>{c.d(b,{Lh:()=>e,j0:()=>g,pV:()=>f});var d=c(643);function e(){return new Promise(a=>setImmediate(a))}async function f(a,b,c={}){let g=Math.max(1,Math.floor(c.batchSize??16)),h=Math.max(1,c.timeBudgetMs??32),i=d.performance.now(),j=0;for(let c=0;c<a.length;c+=1)await b(a[c],c),j+=1,!(c+1>=a.length)&&(j<g&&d.performance.now()-i<h||(await e(),i=d.performance.now(),j=0))}async function g(a,b,c={}){let d=Array(a.length);return await f(a,async(a,c)=>{d[c]=await b(a,c)},c),d}},13605:(a,b,c)=>{c.d(b,{Wl:()=>g,cy:()=>e,de:()=>d});let d=10,e=80;function f(a,b){let c=Number(a);return Number.isSafeInteger(c)&&c>0?c:b}function g(a,b,c=function(a=process.env){return{projectCap:f(a.LLV_SCHEME_PROJECT_CAP,d),cardsPerProject:f(a.LLV_SCHEME_CARDS_PER_PROJECT,e)}}(),h={}){let i=h.protect,j=i?new Set(a.filter(i)):null,k=new Set;for(let d of a)if(k.add(b(d)),k.size>=c.projectCap)break;let l=new Map;return a.filter(a=>{if(j?.has(a))return!0;let d=b(a);if(!k.has(d))return!1;let e=l.get(d)??0;return!(e>=c.cardsPerProject)&&(l.set(d,e+1),!0)})}},15862:(a,b,c)=>{c.d(b,{Ot:()=>l,xe:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(78966),i=c(41617);function j(a){try{return e().realpathSync(a)}catch{return null}}let k=a=>a;function l(a,b=function(){let a=[],b=b=>{b&&!a.includes(b)&&a.push(b)},c=a=>{try{for(let c of a())b(c)}catch{}};try{b(g().join((0,h.Hy)(),"projects")),b((0,h.o1)())}catch{}return c(h.pW),c(i.vD),a}()){let c=new Map;for(let b of a){let a=j(b);a&&!c.has(a)&&c.set(a,b)}if(!c.size)return k;let d=[];for(let a of b){let b=c.get(j(a)??"\0");b&&b!==a&&d.push([a+g().sep,b+g().sep])}return d.length?(d.sort(([a],[b])=>b.length-a.length),a=>{for(let[b,c]of d)if(a.startsWith(b))return c+a.slice(b.length);return a}):k}function m(a,b){if(!a?.size||b===k)return a;let c=new Set;for(let d of a)c.add(d),c.add(b(d));return c.size===a.size?a:c}},23855:(a,b,c)=>{c.d(b,{Be:()=>t,He:()=>x,Hz:()=>y,Ko:()=>p,Ul:()=>s,mR:()=>v,pk:()=>q,sY:()=>m,w8:()=>w,wK:()=>r});var d=c(73024),e=c.n(d),f=c(52509),g=c(70976),h=c(23921),i=c(49113);(0,f.E)("turn").clear(),(0,f.E)("turn-evidence-v1").clear(),(0,f.E)("turn-evidence-v2").clear();let j=(0,f.E)("turn-evidence-v3"),k=(0,f.E)("tail-v3"),l=(0,f.E)("head-records-v2");function m(a,b,c,d=4194304,e=41){let f=l.get(a);if(f&&f.size===b&&f.mtimeMs===c&&f.nbytes===d&&f.recordLimit===e)return{records:f.records.slice(),complete:!0};let h=(0,g.zy)(a,b,c,{maxBytes:d,lineLimit:e});if(!h.complete||!h.value)return{records:[],complete:!1};let{text:i,read:j,bytes:k}=h.value,n=i.split("\n");j<b&&!i.endsWith("\n")&&(n=n.slice(0,-1));let o=[];for(let a of n.slice(0,e)){let b=a.trim();if(b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&o.push(a)}catch{}}l.delete(a);let p=0;for(let a of l.values())p+=a.sourceBytes;for(;l.size>0&&(l.size>=64||p+k.length>0x1000000);){let a=l.keys().next().value;if(void 0===a)break;p-=l.get(a)?.sourceBytes??0,l.delete(a)}return l.set(a,{size:b,mtimeMs:c,nbytes:d,recordLimit:e,sourceBytes:k.length,records:o}),{records:o.slice(),complete:!0}}function n(a,b){let c=`${b.authoritative?"authoritative":"activity"}:${a}`;for(j.delete(c);j.size>=4096;){let a=j.keys().next().value;if(void 0===a)break;j.delete(a)}j.set(c,b)}function o(a,b,c,d){return"claude"===c&&!!d&&"terminal"===a.state&&null!==(0,i.v)(b)}function p(a){return"codex-sessions"===a?"codex":"openclaw-sessions"===a?"openclaw":"claude"}function q(a,b,c,d,e=!0){let f=`${e?"authoritative":"activity"}:${a}`,g=j.get(f);if(g&&g.size===b&&g.mtimeMs===c&&g.engine===d)return n(a,g),{turn:{...g.turn},complete:!0,composerReleased:g.composerReleased,recoveryReleased:g.recoveryReleased};let h=w(a,b,c),k=(0,i.j)(h.records,d,e),l=h.complete&&o(k,h.records,d,e);if(h.complete){n(a,{size:b,mtimeMs:c,engine:d,authoritative:e,turn:k,composerReleased:!1,recoveryReleased:l});let f=!e,g=`${f?"authoritative":"activity"}:${a}`,m=j.get(g),p=m?.size===b&&m.mtimeMs===c&&m.engine===d&&m.composerReleased,q=(0,i.j)(h.records,d,f);n(a,{size:b,mtimeMs:c,engine:d,authoritative:f,turn:q,composerReleased:p,recoveryReleased:o(q,h.records,d,f)})}return{turn:k,complete:h.complete,composerReleased:!1,recoveryReleased:l}}function r(a,b,c,d){for(let e of[`activity:${a}`,`authoritative:${a}`]){let a=j.get(e);if(a&&a.size===b&&a.mtimeMs===c&&a.engine===d)return{...a.turn}}return null}function s(a,b,c,d,e,f={}){let g=f.authoritative??!0,h=f.composerReleased??!1;"claude"===d&&g&&"terminal"===e.state||n(a,{size:b,mtimeMs:c,engine:d,authoritative:g,turn:{...e},composerReleased:h,recoveryReleased:!1})}function t(a,b,c,d){let e=`authoritative:${a}`,f=j.get(e);f&&f.size===b&&f.mtimeMs===c&&f.engine===d&&n(a,{...f,composerReleased:!0})}function u(a,b){return a.dev===b.dev&&a.ino===b.ino&&a.size===b.size&&a.mtimeNs===b.mtimeNs&&a.ctimeNs===b.ctimeNs}async function v(a,b=131072){let c=null;try{let d;c=await e().promises.open(a,"r");let f=await c.stat({bigint:!0});if(!f.isFile())return{integrity:"uncertain",records:[]};let g=Number(f.size);if(!Number.isSafeInteger(g))return{integrity:"uncertain",records:[]};let h=Math.min(g,b),i=g-h,j=+(i>0),k=i-j,l=Buffer.alloc(h+j),m=0;for(;m<l.length;){let a=await c.read(l,m,l.length-m,k+m);if(0===a.bytesRead)return{integrity:"uncertain",records:[]};m+=a.bytesRead}let n=await c.stat({bigint:!0}),o=await e().promises.stat(a,{bigint:!0});if(!u(f,n)||!u(n,o))return{integrity:"uncertain",records:[]};let p=l;if(i>0)if(10===l[0])p=l.subarray(1);else{let a=l.indexOf(10);if(a<0)return{integrity:"complete",prefixTruncated:!0,records:[]};p=l.subarray(a+1)}try{d=new TextDecoder("utf-8",{fatal:!0}).decode(p)}catch{return{integrity:"uncertain",records:[]}}let q=d.split("\n"),r=[];for(let a of q){let b,c=a.trim();if(c){try{b=JSON.parse(c)}catch{return{integrity:"uncertain",records:[]}}if(!b||"object"!=typeof b||Array.isArray(b))return{integrity:"uncertain",records:[]};r.push(b)}}return{integrity:"complete",prefixTruncated:i>0,records:r}}catch{return{integrity:"uncertain",records:[]}}finally{await c?.close().catch(()=>void 0)}}function w(a,b,c,d=131072){let f=k.get(a);if(f&&f.size===b&&f.mtimeMs===c&&f.nbytes===d)return{records:f.records.slice(),complete:!0,prefixTruncated:f.prefixTruncated};let g=function(a,b,c){let d=0,f="",g=!1;try{let h=e().openSync(a,"r");try{d=Math.max(0,b-c);let a=Buffer.alloc(Math.max(0,b-d)),i=0;for(;i<a.length;){let b=e().readSync(h,a,i,a.length-i,d+i);if(0===b)break;i+=b}g=i===a.length,f=a.toString("utf8",0,i)}finally{e().closeSync(h)}}catch{return{records:[],complete:!1,prefixTruncated:!1}}let h=f.split("\n");d>0&&h.length&&(h=h.slice(1));let i=[];for(let a of h){let b=a.trim();if(b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&i.push(a)}catch{}}return{records:i,complete:g,prefixTruncated:d>0}}(a,b,d);if(!g.complete)return g;if(k.size>=64&&!k.has(a)){let a=k.keys().next().value;void 0!==a&&k.delete(a)}return k.set(a,{size:b,mtimeMs:c,nbytes:d,prefixTruncated:g.prefixTruncated,records:g.records}),{records:g.records.slice(),complete:!0,prefixTruncated:g.prefixTruncated}}function x(a,b,c,d=131072){return w(a,b,c,d).records}function y(a,b,c,d){let e=Date.now()/1e3-c;if("claude-tasks"===a&&b.endsWith(".output"))return(0,h.$w)().has(b)?{state:"live",reason:"output_held",complete:!0}:{state:e<900?"recent":"idle",reason:"output_released",complete:!0};let f=!0;if(b.endsWith(".jsonl")){let g=q(b,d,1e3*c,p(a),!1),h="terminal"===g.turn.state?"done":"busy"===g.turn.state?"busy":null;if(f=g.complete,"busy"===h)return e<180?{state:"live",reason:"jsonl_turn_open",complete:f}:{state:"stalled",reason:"jsonl_turn_stalled",complete:f};if("done"===h)return{state:e<900?"recent":"idle",reason:"jsonl_turn_completed",complete:f}}return e<20?{state:"live",reason:"mtime_fresh",complete:f}:e<900?{state:"recent",reason:"mtime_recent",complete:f}:{state:"idle",reason:"mtime_old",complete:f}}},23921:(a,b,c)=>{c.d(b,{$L:()=>t,$U:()=>s,$w:()=>o,BB:()=>r,Bj:()=>D,FQ:()=>q,Fe:()=>u,Ib:()=>C,SP:()=>p,TK:()=>w,Tu:()=>x,VI:()=>v,Vt:()=>B,pl:()=>n,qM:()=>z,qP:()=>y});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(63657),j=c(89333);let k=null,l=null,m=null;function n(a){return Number.isInteger(a)&&a>0&&i.B.pidAlive(a)}function o(a=!1){let b=Date.now();if(!a&&k&&b-k.at<12e3)return k.map;let c=new Map;return i.B.scanFdTargetsUnder(j.GH["claude-tasks"],(a,b)=>{a.endsWith(".output")&&!c.has(a)&&c.set(a,b)}),k={at:b,map:c},c}function p(a,b=!1){let c=new Map;for(let b of a){if(c.size>=512)break;if(!b)continue;c.set(b,b);let a=function(a){try{return e().realpathSync(a)}catch{return null}}(b);a&&c.set(a,b)}let d=[...c.keys()].sort().join("\0"),f=Date.now();if(!b&&l&&l.key===d&&f-l.at<12e3)return l.map;let g=new Map;return c.size>0&&i.B.scanFdTargetsFor([...c.keys()],(a,b,d)=>{let e=c.get(a);e&&!g.has(e)&&d()&&g.set(e,b)}),l={at:f,key:d,map:g},g}function q(a,b){return i.B.pidWritesPath(a,b)}function r(a,b){return i.B.pidHoldsPath(a,b)}function s(a){return i.B.readArgv(a)}function t(a){return i.B.readCwd(a)}function u(a){for(let b of a.slice(0,2)){let a=g().basename(b);if("claude"===a||"claude.exe"===a)return"claude";if("codex"===a||"codex.exe"===a)return"codex"}return null}let v="LLV_STRUCTURED_HOST";function w(){return(0,h.BQ)()}function x(a){return i.B.readEnvVar(a,v)}function y(a){let b=u(a);if(null===b||B(a))return null;if("codex"===b)return a.includes("app-server")?"codex":null;let c=a.includes("-p")||a.includes("--print"),d=a.some((b,c)=>"--input-format"===b&&"stream-json"===a[c+1]);return c&&d?"claude":null}function z(a){return a.includes("--fork-session")}let A=new Set(["daemon","--bg-pty-host","--bg-spare"]);function B(a){return a.some(a=>A.has(a))}function C(a){return i.B.readPpid(a)}function D(a=!1){let b=Date.now();if(!a&&m&&b-m.at<12e3)return m.list;let c=[];for(let a of i.B.listProcesses()){let b=u(a.argv);null===b||B(a.argv)||null!==a.cwd&&c.push({pid:a.pid,engine:b,argv:a.argv,cwd:a.cwd,tty:a.tty})}return m={at:b,list:c},c}},28617:(a,b,c)=>{c.d(b,{Y8:()=>v,ZO:()=>P,g_:()=>Q,nd:()=>O});var d=c(73024),e=c.n(d),f=c(51455),g=c(76760),h=c.n(g),i=c(12770),j=c(36177),k=c(44502),l=c(2451),m=c(66024),n=c(12962),o=c(70107),p=c(78082),q=c(39876),r=c(89333),s=c(13605),t=c(23855),u=c(15862);function v(a,b){let c=h().relative(a,b).split(h().sep);return 4===c.length&&"tasks"===c[2]&&c[3]?.endsWith(".output")?[c[0]??"",c[1]??"",c[3].slice(0,-7)]:null}let w=-1/0;function x(a){return"object"==typeof a&&null!==a&&"code"in a&&"ENOENT"===a.code}function y(a,b,c){if(x(c))return!0;let d=Date.now();if(d-w>=6e4){w=d;let e=c instanceof Error?`${c.message}${"code"in c&&c.code?` (${String(c.code)})`:""}`:String(c);console.error(`[scanner discovery] ${a} failed for ${b}: ${e}; retaining the last completed scan`)}return!1}function z(a){let b=0,c=[];return async function(d){b>=a&&await new Promise(a=>c.push(a)),b+=1;try{return await d()}finally{b-=1,c.shift()?.()}}}async function A(a,b,c,d){let e;try{e=await d(()=>(0,f.readdir)(c,{withFileTypes:!0}))}catch(a){return{paths:[],complete:y("read directory",c,a)}}let g=await Promise.all(e.map(async e=>e.isDirectory()?e.name.startsWith(".git")||"claude-projects"===a&&"tool-results"===e.name?{paths:[],complete:!0}:A(a,b,h().join(c,e.name),d):e.isFile()&&r.Rg.some(a=>e.name.endsWith(a))&&("openclaw-sessions"!==a||(0,n.mu)(e.name))?{paths:[{rootName:a,root:b,path:h().join(c,e.name)}],complete:!0}:{paths:[],complete:!0}));return{paths:g.flatMap(a=>a.paths),complete:g.every(a=>a.complete)}}async function B(a,b,c){let d,g=a.path;try{d=await c(()=>(0,f.stat)(g))}catch(a){return{raw:[],complete:y("stat file",g,a)}}if("claude-projects"===a.rootName&&(0,l.a$)(h().relative(b["claude-projects"],g)))return{raw:[],complete:!0};let i="claude-tasks"===a.rootName?v(b["claude-tasks"],g):null;if("claude-tasks"===a.rootName&&!i||0===d.size&&!i)return{raw:[],complete:!0};if(i){let[a,d,f]=i,g=h().join(b["claude-projects"],a,d,"subagents","agent-"+f+".jsonl");try{return await c(()=>e().promises.access(g)),{raw:[],complete:!0}}catch(a){if(!x(a))return{raw:[],complete:y("access task-output twin",g,a)}}}return{raw:[{...a,st:d}],complete:!0}}function C(a){let b=new Map;for(let c of a){let a=h().basename(c.path);if("codex-sessions"!==c.rootName||!a.startsWith("rollout-")||!a.endsWith(".jsonl"))continue;let d=b.get(a);d&&d.root===c.root||b.set(a,c)}return a.filter(a=>{let c=h().basename(a.path);return"codex-sessions"!==a.rootName||!c.startsWith("rollout-")||!c.endsWith(".jsonl")||b.get(c)===a})}async function D(a,b){try{return await b(()=>e().promises.access(a)),{exists:!0,complete:!0}}catch(b){return{exists:!1,complete:y("access root",a,b)}}}function E(a){return Array.isArray(a)?a:Object.entries(a)}function F(a){return(0,u.Ot)(E(a).map(([,a])=>a))}function G(a,b,c,d,e){if(!(0,p.pu)(c))return;let f=e??("1"===process.env.LLV_FILE_SCANNER_WORKER?void 0:k.O);f?.({complete:b,sources:a.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:d?.get(a.path)??a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}async function H(a,b,c){let d=await I(a,b),e=Array.isArray(a)?r.GH:a;c&&d.complete&&(c(C(d.paths)),await new Promise(a=>setImmediate(a)));let f=await Promise.all(d.paths.map(a=>B(a,e,b)));return{raw:C(f.flatMap(a=>a.raw)),complete:d.complete&&f.every(a=>a.complete)}}async function I(a,b){let c=await Promise.all(E(a).map(async([a,c])=>{let d=await D(c,b);return d.exists?A(a,c,c,b):{paths:[],complete:d.complete}}));return{paths:c.flatMap(a=>a.paths),complete:c.every(a=>a.complete)}}async function J(a,b){let c=Date.now()-18e4,d=[];for(let e of a){if(d.length>=32)break;if(b.has(e.path)||!e.path.endsWith(".jsonl")||e.st.mtimeMs<=c)continue;let a=(0,t.Ko)(e.rootName);(0,t.wK)(e.path,e.st.size,e.st.mtimeMs,a)||d.push(e)}let e=!1;return await (0,i.pV)(d,a=>{let b=(0,t.pk)(a.path,a.st.size,a.st.mtimeMs,(0,t.Ko)(a.rootName),!1);e||="busy"===b.turn.state}),e}function K(a,b,c){return(0,s.Wl)(a,a=>{let c;return(c=b.get(a.path))&&"other"!==c?c:`unresolved:${h().dirname(a.path)}`},void 0,{protect:a=>(function(a,b){if(b?.has(a.path))return!0;if(!a.path.endsWith(".jsonl"))return!1;let c=(0,t.wK)(a.path,a.st.size,a.st.mtimeMs,(0,t.Ko)(a.rootName));return c?.state==="busy"})(a,c)})}let L={codex:"Codex",claude:"Claude",openclaw:"OpenClaw"};async function M(a,b,c,d=[],e=a=>a){let f=new Map(a),g=(0,j.xg)(!0);await (0,i.pV)([...g.projectByPath],([a,b])=>{let c=e(a);f.has(c)&&f.set(c,b)});let h=new Map,k=new Map;return await (0,i.pV)(d,a=>{k.set(a.project,{projectRoot:a.projectRoot,displayName:a.displayName})}),await (0,i.pV)(b,b=>{if(c?.has(b.path))return;let d=f.get(b.path)??b.project,e=a.get(b.path)??b.project,i=k.get(e),j=g.projectMetadataByPath.get(b.path),l=h.get(d)??{project:d,displayName:j?.displayName??i?.displayName??b.projectName,smt:0,conversations:0};l.smt=Math.max(l.smt,b.mtime),l.conversations+=1;let m=j?.projectRoot??i?.projectRoot;!l.projectRoot&&m&&(l.projectRoot=m),h.set(d,l)}),{projectByPath:f,projectCatalog:[...h.values()].sort((a,b)=>b.smt-a.smt||a.project.localeCompare(b.project))}}async function N(a,b,c,d,e,f=a=>a,g){let j=(0,q.g)(),k=(0,u.xe)(c,f),l=(0,u.xe)(d,f);a.sort((a,b)=>b.st.mtimeMs-a.st.mtimeMs);let n=new Map;await (0,i.pV)(a,a=>{if("codex-sessions"!==a.rootName||!a.path.endsWith(".jsonl"))return;let b=(0,m.Gz)(a.path);b&&n.set(b,a)});let p=k?.size?[...a.filter(a=>!k.has(a.path)),...a.filter(a=>k.has(a.path))]:a,r=K(p,b??new Map,g);await J(p,new Set(r.map(a=>a.path)))&&(r=K(p,b??new Map,g));let s=new Set(r.map(a=>a.path)),t=l?.size?new Set(s):void 0,v=l?.size?new Map(a.map(a=>[a.path,a])):null,w=async(a,b)=>{await (0,i.pV)(a,c=>{if("codex-sessions"!==c.rootName||!c.path.endsWith(".jsonl"))return;let d=e?.get(c.path)?.nativeParentThreadId,f=void 0===d?(0,m.S)(c.path,c.st.size,c.st.mtimeMs):d,g=f?n.get(f):void 0;g&&!b.has(g.path)&&(b.add(g.path),a.push(g))})};for(let a of(t&&await w([...r],t),l??[])){if(s.has(a))continue;let b=v?.get(a);b&&(s.add(b.path),r.push(b))}await w(r,s);let x=await (0,i.j0)(r,a=>{let c=e?.get(a.path)??(0,o.q0)(a.rootName,a.root,a.path,a.st,j);return{path:a.path,root:a.rootName,name:h().relative(a.root,a.path),project:b?.get(a.path)??c.project,projectName:c.projectName,projectUnresolved:c.projectUnresolved,worktree:c.worktree,cwd:c.cwd,sessionStartedAt:c.sessionStartedAt,nativeParentThreadId:c.nativeParentThreadId,nativeForkSourceThreadId:c.nativeForkSourceThreadId,projectRoot:c.projectRoot,title:c.title,engine:c.engine,kind:c.kind,fmt:c.fmt,parent:null,mtime:a.st.mtimeMs/1e3,size:a.st.size,activity:"idle",proc:null,pid:null,model:null,pendingQuestion:null,waitingInput:null}}),y=t?r.filter(a=>!t.has(a.path)).map(a=>a.path):[];return{files:x,...y.length?{pinOverlayPaths:y}:{}}}async function O(a=(0,r.s9)(),b,c={}){let d=(0,p.FX)(!1!==c.persist||!0===c.persistIndex),e=z(48),f=await H(a,e,c.onResourceSnapshot?a=>{var b;let d;return c.onResourceSnapshot((b=c.resourceBaseline,d=new Map((b?.files??[]).map(a=>[a.path,a])),{files:a.filter(a=>"claude-tasks"!==a.rootName&&a.path.endsWith(".jsonl")).map(a=>{let b=d.get(a.path),c="codex-sessions"===a.rootName?"codex":"openclaw-sessions"===a.rootName?"openclaw":"claude",e=b?.mtime??Date.now()/1e3,f=b?.size??1,g=function(a,b,c){let d=Date.now()/1e3-b;if(a?.size===c&&a.mtime===b){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason)return d<180?{activity:"live",activityReason:"jsonl_turn_open"}:{activity:"stalled",activityReason:"jsonl_turn_stalled"};if("jsonl_turn_completed"===a.activityReason)return d<900?{activity:"recent",activityReason:"jsonl_turn_completed"}:{activity:"idle",activityReason:"jsonl_turn_completed"}}return d<20?{activity:"live",activityReason:"mtime_fresh"}:d<900?{activity:"recent",activityReason:"mtime_recent"}:{activity:"idle",activityReason:"mtime_old"}}(b,e,f),i=h().basename(a.path);return{path:a.path,root:a.rootName,name:h().relative(a.root,a.path),project:b?.project??"other",projectName:b?.projectName,projectUnresolved:b?.projectUnresolved,cwd:b?.cwd,sessionStartedAt:b?.sessionStartedAt,nativeParentThreadId:b?.nativeParentThreadId,nativeForkSourceThreadId:b?.nativeForkSourceThreadId,projectRoot:b?.projectRoot,worktree:b?.worktree,title:b?.title??(i.startsWith("agent-")?`Subagent ${i.slice(6).split(".")[0]}`:`${L[c]} session`),engine:c,kind:b?.kind??(i.startsWith("agent-")?"subagent":"session"),fmt:c,parent:b?.parent??null,mtime:e,size:f,...g,proc:b?.proc??null,pid:b?.pid??null,model:null,pendingQuestion:null,waitingInput:null}}),projectCatalog:b?.projectCatalog??[],complete:!0}))}:void 0),g=F(a),i=(0,u.xe)(c.demote??c.loadDemote?.(),g),j=await (0,p.fX)(f.raw,{persist:c.persist,persistIndex:c.persistIndex,excludedSummaryPaths:i,scanToken:d,complete:f.complete}),{projectCatalog:k,projectByPath:l}=await M(j.projectByPath,j.conversationCatalog,i,j.projectCatalog,g),m=await N(f.raw,l,i,c.pin,j.summaryByPath,g,(0,u.xe)(c.hosted,g));return G(j.conversationCatalog,j.complete,d,l,c.transcriptIndexScheduler),{...m,projectCatalog:k,...c.transportConversationCatalog?{conversationCatalog:j.conversationCatalog.map(a=>({...a,project:l.get(a.path)??a.project}))}:{},complete:j.complete}}async function P(a=(0,r.s9)(),b,c,d){let e=(0,p.FX)(!1),f=z(48),g=await H(a,f),h=F(a),i=await (0,p.fX)(g.raw,{persist:!1,scanToken:e,complete:g.complete}),{projectByPath:j}=await M(i.projectByPath,i.conversationCatalog,void 0,i.projectCatalog,h),k=await N(g.raw,j,b,c,i.summaryByPath,h,(0,u.xe)(d,h));return G(i.conversationCatalog,i.complete,e,j),k.files}async function Q(a=(0,r.s9)()){let b=(0,p.FX)(!1),c=await H(a,z(48)),d=await (0,p.fX)(c.raw,{persist:!1,scanToken:b,complete:c.complete});G(d.conversationCatalog,d.complete,b,d.projectByPath)}},34196:(a,b,c)=>{c.d(b,{VO:()=>j,cn:()=>k,jk:()=>i,ml:()=>g,q0:()=>n});var d=c(56809);let e=["starting","running","waiting","stalled","completed","failed","blocked","gone"],f=["stage_started","stage_resumed","stage_paused","stage_completed","stage_failed","stage_blocked","review_verdict","repair_ready","deploy_ready","deploy_succeeded","deploy_failed","delivery_held","delivery_delivered","delivery_expired","agent_stalled","agent_gone","agent_resumed","project_moved"],g={stage_started:"running",stage_resumed:"running",stage_paused:"waiting",stage_completed:"completed",stage_failed:"failed",stage_blocked:"blocked",review_verdict:"completed",repair_ready:"waiting",deploy_ready:"waiting",deploy_succeeded:"completed",deploy_failed:"failed",delivery_held:"waiting",delivery_delivered:"completed",delivery_expired:"failed",agent_stalled:"stalled",agent_gone:"gone",agent_resumed:"running",project_moved:"completed"},h=new Set(["stage_completed","stage_failed","stage_blocked","review_verdict","deploy_succeeded","deploy_failed","delivery_held","delivery_expired"]);function i(a){return h.has(a)}function j(a){return"string"==typeof a&&f.includes(a)}function k(a){return"string"==typeof a&&e.includes(a)}let l=/^\s*(?:```|~~~)/,m=/[\p{L}\p{N}]/u;function n(a,b=200){if("string"!=typeof a||!a.trim())return"";let c=(0,d.j)(a),e=!1;for(let a of c.split(/\r?\n/)){if(l.test(a)){e=!e;continue}if(e)continue;let c=a.replace(/\s+/g," ").trim();if(c&&m.test(c))return c.length>b?`${c.slice(0,b-1)}…`:c}return""}},36177:(a,b,c)=>{c.d(b,{C$:()=>p,Ug:()=>s,Y:()=>r,f0:()=>w,iD:()=>t,jX:()=>v,xg:()=>x});var d=c(73024),e=c.n(d),f=c(10781),g=c(91724),h=c(70107),i=c(40713),j=c(36405),k=c(915);let l=new WeakMap,m=new WeakMap,n=null;function o(a,b,c=!0){let d=new Map,e=new Map,f=new Map,g=new Map,j=new Map,k=new Set;for(let b of Object.values(a.conversations)){let a=[...b.generations.map(a=>a.path),...b.continuityPaths];for(let c of(f.set(b.id,a),a))d.has(c)||d.set(c,b.id);let e=b.generations.at(-1);if(e){if(c){let{project:a}=(0,i.x)({projectOwnership:b.projectOwnership,cwd:e.launchProfile.cwd,launchProfileProject:e.launchProfile.project});a&&(g.set(e.path,a),e.launchProfile.cwd&&j.set(e.path,e.launchProfile.cwd))}for(let a of b.generations)a.path!==e.path&&k.add(a.path);for(let a of b.continuityPaths)a!==e.path&&k.add(a)}}for(let b of Object.keys(a.conversationAliases)){let c=function(a,b){let c=b,d=new Set;for(;!d.has(c);){d.add(c);let b=a.conversationAliases[c];if(!b)break;c=b}return c}(a,b);if(c===b)continue;let d=e.get(c);d?d.push(b):e.set(c,[b])}let l=new Map,m=new Map;return{signature:b,snapshot:a,conversationByPath:d,aliasesByCanonical:e,ownedPathsByConversation:f,projectByPath:g,projectMetadataByPath:{get(a){let b=l.get(a);if(void 0!==b)return b??void 0;let c=j.get(a),d=g.get(a);if(!c||!d)return void l.set(a,null);let e=m.get(c);m.has(c)||(e=(0,h.ot)(c),m.set(c,e));let f=e?.project===d?{displayName:e.displayName,...e.repo?{projectRoot:e.repo}:{},...e.unresolved?{unresolved:!0}:{}}:null;return l.set(a,f),f??void 0}},archivedPaths:k}}function p(a){let b=l.get(a);if(b)return b;let c=o(a,"snapshot");return l.set(a,c),c}function q(a,b=!1){let c;try{c=a.readOnlySnapshot()}catch(a){if(b&&!(a instanceof f.Ou))throw a;return null}return p(c)}function r(a,b,c=!0){let d=u(!0,void 0===b?void 0:c?p(b):function(a){let b=m.get(a);if(b)return b;let c=o(a,"snapshot-identity",!1);return m.set(a,c),c}(b),c);for(let b of a)d(b)}function s(a,b){let c=(0,k.uX)((0,k.S6)());if(0===c.size)return;let d=[...c.keys()].flatMap(a=>a.startsWith("conversation:")?[a.slice(13)]:[]),e=d.length>0?b(d):[],f=new Map,g=new Set(a.map(a=>a.path));for(let a of e)for(let b of a.ownedPaths)g.has(b)&&!f.has(b)&&f.set(b,a);for(let b of a){let a=f.get(b.path);a&&(b.conversationId=a.conversationId),(0,k.$U)(b,c,a?.aliases??[],a?.ownedPaths??[])}}function t(a){let b=u(!1,function(){let a,b=(0,g.BQ)("agent-registry.json");try{let c=e().statSync(b,{bigint:!0});a=`${b}:${c.mtimeNs}:${c.size}`}catch{return null}if(n?.signature===a)return n;try{let c=(0,f.l5)(JSON.parse(e().readFileSync(b,"utf8")));return n=o(c,a)}catch{return null}}());for(let c of a)b(c)}function u(a=!0,b,c=!0){let d=(0,k.uX)((0,k.S6)()),e=void 0===b?q((0,f.agentRegistry)()):b,g=e?.snapshot??null,h=e?.conversationByPath??new Map,l=e?.aliasesByCanonical??new Map,m=e?.ownedPathsByConversation??new Map;return b=>{if("claude"!==b.engine&&"codex"!==b.engine)return;if(b.spawn){b.renamable=!1;return}let f=h.get(b.path);!b.conversationId&&f&&(b.conversationId=f);let n=f?g?.conversations[f]:void 0,o=n?.generations.at(-1);if(o?.path===b.path&&(b.title=o.launchProfile.title??b.title,c)){b.project=(0,i.x)({projectOwnership:n?.projectOwnership,cwd:o.launchProfile.cwd,launchProfileProject:o.launchProfile.project,fallbackProject:b.project}).project??b.project;let a=e?.projectMetadataByPath.get(b.path);a&&(b.projectName=a.displayName,b.projectRoot=a.projectRoot??b.projectRoot,b.projectUnresolved=a.unresolved),n?.projectOwnership&&(b.projectOwnership={...n.projectOwnership})}if(a&&(b.renamable=(0,j.V)(b)),d.size>0){let a=b.conversationId?l.get(b.conversationId)??[]:[],c=b.conversationId?m.get(b.conversationId)??[]:[];(0,k.$U)(b,d,a,c)}}}async function v(a,b=48,c=()=>new Promise(a=>setImmediate(a)),d=!0){let e=u(!0,void 0,d);for(let d=0;d<a.length;d+=1)e(a[d]),(d+1)%b==0&&await c()}function w(a){let b=x().projectByPath;for(let c of a){let a=b.get(c.path);a&&(c.project=a)}}function x(a=!1){let b=q((0,f.agentRegistry)(),a);return b?{projectByPath:b.projectByPath,projectMetadataByPath:b.projectMetadataByPath,archivedPaths:b.archivedPaths}:{projectByPath:new Map,projectMetadataByPath:new Map,archivedPaths:new Set}}},36405:(a,b,c)=>{c.d(b,{V:()=>h,Y:()=>i});var d=c(73024),e=c.n(d),f=c(66024),g=c(915);function h(a){if("claude"!==a.engine&&"codex"!==a.engine||a.kind&&"session"!==a.kind||!(0,g.gq)(a.path))return!1;let b=void 0===a.mtime?void 0:1e3*a.mtime;return!("codex"===a.engine&&(0,f.ET)(a.path,a.size,b))}function i(a,b){let c=0;try{c=e().statSync(b).size}catch{c=0}return h({engine:a,path:b,size:c})}},40713:(a,b,c)=>{c.d(b,{x:()=>g});var d=c(89940),e=c(27832),f=c(70107);function g(a){let b=a.cwd?.trim(),c=Object.hasOwn(a,"cwdInfo")?a.cwdInfo??null:b?(0,f.ot)(b):null,g=a.projectOwnership?.project.trim();if(g){let a=(0,d.G$)(g),b=c?.project&&c.project!==e.Mv;if(!(b&&a===c?.displayName)&&(a!==e.Mv||!b))return{project:a,...c?.worktree?{worktree:c.worktree}:{},source:"ownership"}}if(c?.project)return{project:c.project,...c.worktree?{worktree:c.worktree}:{},source:"cwd"};let h=a.launchProfileProject?.trim();if(h)return{project:(0,d.G$)(h),source:"launch-profile"};let i=a.fallbackProject?.trim();return i?{project:(0,d.G$)(i),source:"fallback"}:{project:null,source:null}}},44502:(a,b,c)=>{c.d(b,{O:()=>h});var d=c(5197);let e=globalThis;async function f(a,b){let c=await (0,d.DL)(a,{complete:b});if(c.failures.length)throw Error(`${c.failures.length} transcript file(s) could not be indexed`)}async function g(a){for(;a.pending;){let b=a.pending;delete a.pending;try{await b.run(b.feed.sources,b.feed.complete)}catch(b){let a=b instanceof Error?b.message:String(b);console.error(`[transcript search] background indexing failed: ${a}; a later scan will retry`)}}}function h(a,b={}){let c=e.__llvTranscriptFeed??={scheduled:!1,idleWaiters:[]};c.pending={feed:a,run:b.run??f},c.active||c.scheduled||(c.scheduled=!0,setImmediate(()=>(function a(b){if(b.scheduled=!1,b.active)return;let c=g(b);b.active=c,c.finally(()=>{if(b.active===c&&delete b.active,b.pending&&!b.scheduled)b.scheduled=!0,setImmediate(()=>a(b));else if(!b.scheduled&&!b.active&&!b.pending)for(let a of b.idleWaiters.splice(0))a()})})(c)))}},49113:(a,b,c)=>{c.d(b,{j:()=>o,v:()=>n});var d=c(12962),e=c(95544);function f(a){let b=a.timestamp;return"string"==typeof b?b:null}let g=new Set(["authentication_failed","rate_limit"]);function h(a){return!0===a.isApiErrorMessage&&"string"==typeof a.error&&g.has(a.error)}let i="<synthetic>";function j(a){let b;if(b=((0,e.xK)(a.message)??{}).content,(0,e.Em)(b).some(a=>"tool_use"===(0,e.r$)(a.type)))return!1;let c=(0,e.r$)(((0,e.xK)(a.message)??{}).stop_reason);return"end_turn"===c||"stop_sequence"===c}function k(a){let b=(0,e.xK)(a.message)?.content;return"string"==typeof b?b:(0,e.Em)(b).map(a=>(0,e.r$)(a.text)??"").join("\n")}let l=/^no response requested\.?$/i,m=/^\s*\[Request interrupted by user(?: for tool use)?\]\s*$/;function n(a){let b=!1;for(let c=a.length-1;c>=0;c-=1){let d=a[c];if("result"===d.type)return b?{terminalAt:f(d)}:null;if("assistant"===d.type){if(h(d))return b?{terminalAt:f(d)}:null;if(!(!0!==d.isApiErrorMessage&&(0,e.r$)(((0,e.xK)(d.message)??{}).model)===i&&l.test(k(d).trim())))return null;b=!0;continue}if("user"===d.type){if(!b&&!(!0===d.interruptedByShutdown||"interruptedMessageId"in d||m.test(k(d))))return null;b=!0}}return null}function o(a,b,c=!1){if("openclaw"===b){for(let b=a.length-1;b>=0;b-=1){let c=a[b],g=(0,d.j5)(c);if(g){if("assistant"===g.role){if(!(0,d.Re)(c))continue;let a=(0,e.r$)(g.stopReason);if("stop"===a||"error"===a||"aborted"===a)return{state:"terminal",source:"lifecycle",terminalAt:f(c)};return{state:"busy",source:"assistant",terminalAt:null}}if("user"===g.role)return{state:"busy",source:"lifecycle",terminalAt:null}}}return{state:"unknown",source:"empty",terminalAt:null}}if("codex"===b){let b=!1,c=null,d=!1,g=new Set,h=0;for(let i of a){let a=(0,e.xK)(i.payload)??{},j=(0,e.r$)(a.type);if(!j)continue;if("task_started"===j||"turn_started"===j||"user_message"===j){g.clear(),h=0,b=!0,c=null,d=!1;continue}if("turn_aborted"===j){g.clear(),h=0,b=!1,c=f(i),d=!0;continue}if("task_complete"===j||"turn_complete"===j||"turn_completed"===j){0===g.size&&0===h?(b=!1,c=f(i),d=!0):(b=!0,c=null,d=!1);continue}if("agent_message"===j||"token_count"===j||"reasoning"===j)continue;let k=j.includes("output")||j.endsWith("_result");if(!(j.includes("tool")||j.includes("function")||j.includes("command")))continue;let l=(0,e.r$)(a.call_id)??(0,e.r$)(a.callId)??(0,e.r$)(a.id);if(k){let a=l?g.delete(l):h>0;if(!a&&d)continue;a&&!l&&(h-=1)}else l?g.add(l):h+=1;b=!0,c=null,d=!1}return d&&!b&&0===g.size&&0===h?{state:"terminal",source:"lifecycle",terminalAt:c}:b||g.size>0||h>0?{state:"busy",source:g.size>0||h>0?"tool":"lifecycle",terminalAt:null}:{state:"unknown",source:"empty",terminalAt:null}}if(c){let b={state:"unknown",source:"empty",terminalAt:null};for(let c of a)"result"===c.type?b={state:"terminal",source:"lifecycle",terminalAt:f(c)}:"user"===c.type?b={state:"busy",source:"lifecycle",terminalAt:null}:"assistant"===c.type&&(b=h(c)||!0!==c.isApiErrorMessage&&(0,e.r$)(((0,e.xK)(c.message)??{}).model)!==i&&j(c)?{state:"terminal",source:"lifecycle",terminalAt:f(c)}:{state:"busy",source:"assistant",terminalAt:null});if("busy"!==b.state)return b;let c=n(a);return c?{state:"terminal",source:"lifecycle",terminalAt:c.terminalAt}:b}for(let b of[...a].reverse()){if("assistant"===b.type){if(h(b)||j(b))return{state:"terminal",source:"lifecycle",terminalAt:f(b)};return{state:"busy",source:"assistant",terminalAt:null}}if("user"===b.type)return{state:"busy",source:"lifecycle",terminalAt:null}}return{state:"unknown",source:"empty",terminalAt:null}}},78082:(a,b,c)=>{c.d(b,{FX:()=>u,OQ:()=>w,fX:()=>E,pu:()=>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(3587),k=c(91724),l=c(12770),m=c(89940),n=c(27832),o=c(11149),p=c(63678),q=c(70107),r=c(39876);let s=-1/0,t=globalThis;function u(a){let b=(t.__llvProjectCatalogPublicationGeneration??0)+1;if(t.__llvProjectCatalogPublicationGeneration=b,!a)return{publication:b,persistence:null};let c=(t.__llvProjectCatalogPersistenceGeneration??0)+1;return t.__llvProjectCatalogPersistenceGeneration=c,{publication:b,persistence:c}}function v(a){return t.__llvProjectCatalogPublicationGeneration===a.publication}function w(a,b,c){return!!v(b)&&!!c&&((0,p.ru)(a),!0)}function x(){return(0,k.BQ)("project-catalog.json")}function y(a,b){return"codex-sessions"===a||"openclaw-sessions"===a||"claude-projects"===a&&("session"===b||"subagent"===b)}function z(a){return"codex-sessions"===a?"codex":"claude-projects"===a?"claude":"openclaw-sessions"===a?"openclaw":"shell"}function A(a){return"codex-sessions"===a?"codex":"claude-projects"===a?"claude":"openclaw-sessions"===a?"openclaw":"plain"}function B(a,b){let c=i().basename(a.path);return"subagent"===b?"Subagent "+c.slice(6).split(".")[0]:"codex-sessions"===a.rootName?"Codex session":"claude-projects"===a.rootName?"Claude session":"openclaw-sessions"===a.rootName?"OpenClaw session":"Background task "+c.split(".")[0]}function C(a,b){a.files[b.path]={summaryVersion:b.summaryVersion,summaryIncomplete:b.summaryIncomplete,rootName:b.rootName,size:b.size,mtimeMs:b.mtimeMs,sidecarSize:b.sidecarSize,sidecarMtimeMs:b.sidecarMtimeMs,stateKey:b.stateKey,project:b.project,projectName:b.projectName,projectUnresolved:b.projectUnresolved,projectRoot:b.projectRoot,kind:b.kind,session:b.session,worktree:b.worktree,cwd:b.cwd??null,sessionStartedAt:b.sessionStartedAt??null,nativeParentThreadId:b.nativeParentThreadId??null,nativeForkSourceThreadId:b.nativeForkSourceThreadId??null,title:b.titleCached?b.title:void 0,engine:b.engine,fmt:b.fmt}}function D(a){return"claude-projects"!==a.rootName&&"claude-tasks"!==a.rootName?null:i().relative(a.root,a.path).split(i().sep)[0]||null}async function E(a,b={}){let c=!1!==b.persist||!0===b.persistIndex,d=b.scanToken??u(c),f=function(){try{let a=JSON.parse(g().readFileSync(x(),"utf8"));if(1!==a.version&&2!==a.version||!a.files||"object"!=typeof a.files||Array.isArray(a.files))return{version:2,resolutionVersion:r.Q,files:{}};let b={};for(let[c,d]of Object.entries(a.files)){if(!d||"object"!=typeof d||Array.isArray(d)||"codex-sessions"!==d.rootName&&"claude-projects"!==d.rootName&&"claude-tasks"!==d.rootName&&"openclaw-sessions"!==d.rootName||"number"!=typeof d.size||"number"!=typeof d.mtimeMs||"string"!=typeof d.stateKey||"string"!=typeof d.project||void 0!==d.projectName&&"string"!=typeof d.projectName||void 0!==d.projectUnresolved&&!0!==d.projectUnresolved||void 0!==d.projectRoot&&null!==d.projectRoot&&"string"!=typeof d.projectRoot||"string"!=typeof d.kind)continue;let a="codex"===d.engine||"claude"===d.engine||"shell"===d.engine||"openclaw"===d.engine?d.engine:void 0,e="codex"===d.fmt||"claude"===d.fmt||"plain"===d.fmt||"openclaw"===d.fmt?d.fmt:void 0,f="string"==typeof d.cwd?d.cwd:null===d.cwd?null:void 0,g="string"==typeof d.sessionStartedAt?d.sessionStartedAt:null===d.sessionStartedAt?null:void 0,h="string"==typeof d.nativeParentThreadId?d.nativeParentThreadId:null===d.nativeParentThreadId?null:void 0,i="string"==typeof d.nativeForkSourceThreadId?d.nativeForkSourceThreadId:null===d.nativeForkSourceThreadId?null:void 0,j="number"==typeof d.sidecarSize?d.sidecarSize:null===d.sidecarSize?null:void 0,k="number"==typeof d.sidecarMtimeMs?d.sidecarMtimeMs:null===d.sidecarMtimeMs?null:void 0,l=4===d.summaryVersion&&"string"==typeof d.title&&"string"==typeof d.projectName&&void 0!==a&&void 0!==e&&void 0!==f&&void 0!==g&&void 0!==h&&void 0!==i&&void 0!==d.projectRoot&&void 0!==j&&void 0!==k;b[c]={summaryVersion:l?4:void 0,summaryIncomplete:!l&&!0===d.summaryIncomplete||void 0,rootName:d.rootName,size:d.size,mtimeMs:d.mtimeMs,sidecarSize:j,sidecarMtimeMs:k,stateKey:d.stateKey,project:d.project,projectName:"string"==typeof d.projectName?d.projectName:(0,n.rj)(d.project),projectUnresolved:!0===d.projectUnresolved||void 0,projectRoot:"string"==typeof d.projectRoot?d.projectRoot:null===d.projectRoot?null:void 0,kind:d.kind,session:y(d.rootName,d.kind),worktree:"string"==typeof d.worktree?d.worktree:void 0,cwd:f,sessionStartedAt:g,nativeParentThreadId:h,nativeForkSourceThreadId:i,title:"string"==typeof d.title?d.title:void 0,engine:a,fmt:e}}return{version:2,resolutionVersion:a.resolutionVersion??0,files:b}}catch{return{version:2,resolutionVersion:r.Q,files:{}}}}(),h=(0,r.g)(),k={},p=new Map,v=new Map,F=new Map,G=new Map;await (0,l.pV)(a,a=>{G.set(a.path,f.files[a.path]?.project)});let H=await (0,l.j0)(a,a=>(function(a,b,c){let d=b.files[a.path],e=(0,q.tS)(a.rootName,a.path,a.st);if(e.complete&&d?.summaryVersion===4&&d.size===a.st.size&&d.mtimeMs===a.st.mtimeMs&&d.sidecarSize===e.sidecarSize&&d.sidecarMtimeMs===e.sidecarMtimeMs&&void 0!==d.projectRoot&&(b.resolutionVersion!==r.Q||d.stateKey!==c)){let e=(0,q.xn)(a.rootName,a.root,a.path,{project:d.project,projectName:d.projectName??(0,n.rj)(d.project),projectUnresolved:d.projectUnresolved,worktree:d.worktree,cwd:d.cwd??void 0,sessionStartedAt:d.sessionStartedAt,nativeParentThreadId:d.nativeParentThreadId,nativeForkSourceThreadId:d.nativeForkSourceThreadId,projectRoot:d.projectRoot,title:d.title??B(a,d.kind),engine:d.engine??z(a.rootName),kind:d.kind,fmt:d.fmt??A(a.rootName)},c),f={...d,path:a.path,stateKey:c,project:e.project,projectName:e.projectName,projectUnresolved:e.projectUnresolved,projectRoot:e.projectRoot??null,worktree:e.worktree,cwd:e.cwd,session:y(a.rootName,e.kind),title:e.title,titleCached:!0,engine:e.engine,kind:e.kind,fmt:e.fmt};return C(b,f),f}if(b.resolutionVersion===r.Q&&e.complete&&d&&d.size===a.st.size&&d.mtimeMs===a.st.mtimeMs&&(4!==d.summaryVersion||d.sidecarSize===e.sidecarSize&&d.sidecarMtimeMs===e.sidecarMtimeMs)&&d.stateKey===c&&void 0!==d.projectRoot){if(4!==d.summaryVersion){let b=(0,q.CL)(a.rootName,a.root,a.path,a.st,c,e),f=b.description,g=!0===d.summaryIncomplete;return{...d,summaryVersion:b.complete?4:void 0,summaryIncomplete:!!g&&!b.complete||void 0,sidecarSize:e.sidecarSize,sidecarMtimeMs:e.sidecarMtimeMs,path:a.path,project:g?f.project||"other":d.project,projectName:g?f.projectName:d.projectName??(0,n.rj)(d.project),projectUnresolved:g?f.projectUnresolved:d.projectUnresolved,projectRoot:g?f.projectRoot??null:d.projectRoot,kind:g?f.kind:d.kind,session:y(a.rootName,g?f.kind:d.kind),worktree:g?f.worktree:d.worktree,cwd:f.cwd,sessionStartedAt:f.sessionStartedAt,nativeParentThreadId:f.nativeParentThreadId,nativeForkSourceThreadId:f.nativeForkSourceThreadId,title:f.title,titleCached:!0,engine:f.engine,fmt:f.fmt}}return{path:a.path,...d,session:y(a.rootName,d.kind),cwd:d.cwd??void 0,sessionStartedAt:d.sessionStartedAt,nativeParentThreadId:d.nativeParentThreadId,nativeForkSourceThreadId:d.nativeForkSourceThreadId,title:d.title??B(a,d.kind),titleCached:"string"==typeof d.title,engine:d.engine??z(a.rootName),fmt:d.fmt??A(a.rootName)}}let f=(0,q.CL)(a.rootName,a.root,a.path,a.st,c,e),g=f.description,h=f.complete||d?.summaryVersion!==4?void 0:d,i={summaryVersion:f.complete?4:void 0,summaryIncomplete:!f.complete||void 0,path:a.path,rootName:a.rootName,size:a.st.size,mtimeMs:a.st.mtimeMs,sidecarSize:e.sidecarSize,sidecarMtimeMs:e.sidecarMtimeMs,stateKey:c,project:h?.project??(g.project||"other"),projectName:h?.projectName??g.projectName,projectUnresolved:h?.projectUnresolved??g.projectUnresolved,projectRoot:h?h.projectRoot??null:g.projectRoot??null,kind:g.kind,session:y(a.rootName,g.kind),worktree:h?.worktree??g.worktree,cwd:h?h.cwd??void 0:g.cwd,sessionStartedAt:h?h.sessionStartedAt:g.sessionStartedAt,nativeParentThreadId:h?h.nativeParentThreadId:g.nativeParentThreadId,nativeForkSourceThreadId:h?h.nativeForkSourceThreadId:g.nativeForkSourceThreadId,title:g.title,titleCached:!0,engine:g.engine,fmt:g.fmt};return C(b,i),i})(a,f,h)),I=!1!==b.complete&&H.every(a=>4===a.summaryVersion),J=new Map;await (0,l.pV)(a,(a,b)=>{let c=H[b],d="claude-projects"===c.rootName&&c.session?D(a):null;d&&J.set(d,c.project)}),await (0,l.pV)(a,(b,c)=>{let d=D(a[c]),e=d?J.get(d):void 0;e&&(H[c].project=e)});let K=new Map,L=new Map;await (0,l.pV)(H,a=>{if(k[a.path]={summaryVersion:a.summaryVersion,summaryIncomplete:a.summaryIncomplete,rootName:a.rootName,size:a.size,mtimeMs:a.mtimeMs,sidecarSize:a.sidecarSize,sidecarMtimeMs:a.sidecarMtimeMs,stateKey:a.stateKey,project:a.project,projectName:a.projectName,projectUnresolved:a.projectUnresolved,projectRoot:a.projectRoot,kind:a.kind,session:a.session,worktree:a.worktree,cwd:a.cwd??null,sessionStartedAt:a.sessionStartedAt??null,nativeParentThreadId:a.nativeParentThreadId??null,nativeForkSourceThreadId:a.nativeForkSourceThreadId??null,title:a.titleCached?a.title:void 0,engine:a.engine,fmt:a.fmt},a.cwd&&a.project){let b=L.get(a.cwd)??new Set;b.add(a.project),L.set(a.cwd,b)}let c=G.get(a.path);if(c&&c!==a.project){let b=K.get(c)??new Set;b.add(a.project),K.set(c,b)}let d=a.project||"other";F.set(a.path,d);let e=p.get(d);if(e||(e={project:d,displayName:a.projectName??(0,n.rj)(d),smt:0,conversations:0},p.set(d,e)),e.smt=Math.max(e.smt,a.mtimeMs/1e3),a.session&&(e.conversations+=1),a.projectRoot&&!b.excludedSummaryPaths?.has(a.path)){let b=v.get(d)??new Map,c=b.get(a.projectRoot)??{count:0,newest:0};c.count+=1,c.newest=Math.max(c.newest,a.mtimeMs),b.set(a.projectRoot,c),v.set(d,b)}}),await (0,l.pV)([...v],([a,b])=>{let c=[...b].sort(([a,b],[c,d])=>d.count-b.count||d.newest-b.newest||a.localeCompare(c))[0]?.[0];c&&(p.get(a).projectRoot=c)}),await (0,l.pV)([...b.excludedSummaryPaths??[]],a=>{let b=k[a],c=b?p.get(b.project||"other"):void 0;b?.session&&c&&c.conversations>0&&(c.conversations-=1)});let M=[],N=new Map;await (0,l.pV)(H,(b,c)=>{N.set(b.path,{project:b.project||"other",projectName:b.projectName??(0,n.rj)(b.project||"other"),projectUnresolved:b.projectUnresolved,worktree:b.worktree,cwd:b.cwd??void 0,sessionStartedAt:b.sessionStartedAt,nativeParentThreadId:b.nativeParentThreadId,nativeForkSourceThreadId:b.nativeForkSourceThreadId,projectRoot:b.projectRoot,title:b.title,engine:b.engine,kind:b.kind,fmt:b.fmt}),b.session&&("codex"===b.engine||"claude"===b.engine||"openclaw"===b.engine)&&M.push({path:b.path,root:b.rootName,name:i().relative(a[c].root,b.path),project:b.project||"other",projectName:b.projectName,projectUnresolved:b.projectUnresolved,worktree:b.worktree,title:b.title,firstPrompt:"",engine:b.engine,kind:b.kind,fmt:b.fmt,mtime:b.mtimeMs/1e3,size:b.size})});let O=null!==d.persistence&&t.__llvProjectCatalogPersistenceGeneration===d.persistence;if(w(M,d,I),O&&c&&I){let a=!0;if(!1!==b.persist)try{let b=function(a,b){let c=new Map,d=[];for(let[e,f]of a){if(1!==f.size){d.push(e);continue}let g=f.values().next().value,h=new Set([e]);for(;g&&(b.get(g)?.conversations??0)===0;){if(h.has(g)){g=void 0;break}h.add(g);let b=a.get(g);if(b?.size!==1)break;g=b.values().next().value}g&&g!==e&&(b.get(g)?.conversations??0)>0&&c.set(e,g)}return{migrations:c,conflicts:d}}(K,p);if(b.conflicts.length>0)throw Error("ambiguous catalog project identity");let c=b.migrations,d=[...c].map(([a,b])=>({source:a,target:b,displayName:p.get(b)?.displayName??(0,n.rj)(b)})),e=(0,m.JC)(),f=e.conflicts.length;for(let a of e.registrations){let b=c.get(a.source);if(b&&b!==a.target){f+=1;continue}c.set(a.source,a.target),d.push(a)}f>0&&console.error(`[project catalog] ${f} durable project alias source(s) unresolved; persisting the clean batch and retrying them on a later scan`),(a=(0,m.YX)(d))&&(a=(0,j.aM)(c)),a&&(a=(0,m.oh)(d))}catch{a=!1}if(a&&!1!==b.persist)try{(0,o.n)([...L].filter(([,a])=>a.size>1).flatMap(([a,b])=>[...b].map(b=>(0,o.M)(b,a))))}catch{console.error("[project catalog] project identity succession deferred; a later scan will retry")}a?function(a){let b,c="create state directory",d=x();try{let f=x();d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),g().chmodSync(i().dirname(f),448),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary index",d=b,g().writeFileSync(b,JSON.stringify(a)+"\n",{encoding:"utf8",mode:384}),c="rename temporary index",d=f,g().renameSync(b,f)}catch(a){if(void 0!==b)try{g().unlinkSync(b)}catch{}!function(a,b,c){let d=Date.now();if(d-s<6e4)return;s=d;let e=c instanceof Error?`${c.message}${"code"in c&&c.code?` (${String(c.code)})`:""}`:String(c);console.error(`[project catalog] ${a} failed for ${b}: ${e}; a later scan will retry`)}(c,d,a)}}({version:2,resolutionVersion:r.Q,files:k}):console.error("[project catalog] board project migration deferred; a later scan will retry")}return{projectCatalog:[...p.values()].filter(a=>a.conversations>0).sort((a,b)=>b.smt-a.smt||a.project.localeCompare(b.project)),projectByPath:F,conversationCatalog:M,summaryByPath:N,complete:I}}},79645:(a,b,c)=>{c.d(b,{Q:()=>p,Vj:()=>q,_1:()=>o});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(91724),i=c(65154),j=c(2033),k=c(34196);function l(){return(0,h.BQ)("lifecycle-journal.json")}class m extends Error{constructor(a,b){super(`the lifecycle journal at ${a} is unreadable (${b}); move it aside to start a new one`),this.name="LifecycleJournalCorruptError",this.journalPath=a}}function n(){let a,b,c=l();try{a=g().readFileSync(c,"utf8")}catch(a){if("ENOENT"===a.code)return{version:1,lastSeq:0,events:[],retired:[]};throw new m(c,`it could not be read: ${a.message}`)}try{b=JSON.parse(a)}catch{throw new m(c,"it is not valid JSON — the last write was truncated")}return function(a,b){if(!a||"object"!=typeof a||Array.isArray(a))throw new m(b,"its contents are not a journal object");if(void 0!==a.events&&!Array.isArray(a.events))throw new m(b,"its events field is not an array");let c=a.events??[],d=[];for(let[a,e]of c.entries()){let f=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.id||!a.id||!Number.isInteger(a.seq)||a.seq<1||"string"!=typeof a.at||!a.at||!(0,k.VO)(a.type))return null;let b=(0,k.cn)(a.state)?a.state:k.ml[a.type],c=a=>"string"==typeof a?a:null;return{id:a.id,seq:a.seq,at:a.at,type:a.type,state:b,project:c(a.project),pipelineId:c(a.pipelineId),stageId:c(a.stageId),attempt:Number.isInteger(a.attempt)?a.attempt:null,conversationId:c(a.conversationId),role:c(a.role),summary:"string"==typeof a.summary?a.summary:""}}(e);if(!f)throw new m(b,`recorded event ${a+1} of ${c.length} is malformed`);d.push(f)}d.sort((a,b)=>a.seq-b.seq);let e=Array.isArray(a.retired)?a.retired.filter(a=>"string"==typeof a):[],f=d.at(-1)?.seq??0;return{version:1,lastSeq:Number.isInteger(a.lastSeq)?Math.max(a.lastSeq,f):f,events:d,retired:e}}(b,c)}function o(){return n()}function p(a){return 0===a.length?{appended:[],skipped:0}:(0,j.Ol)(l(),"lifecycle journal is busy",()=>{var b;let c=n(),d=new Set([...c.events.map(a=>a.id),...c.retired]),f=[],g=0;for(let h of a){let a=(b=h.key,`evt_${e().createHash("sha256").update(b).digest("hex").slice(0,24)}`);if(d.has(a)){g+=1;continue}d.add(a),c.lastSeq+=1;let i={id:a,seq:c.lastSeq,at:h.at,type:h.type,state:k.ml[h.type],project:h.project??null,pipelineId:h.pipelineId??null,stageId:h.stageId??null,attempt:Number.isInteger(h.attempt)?h.attempt:null,conversationId:h.conversationId??null,role:h.role??null,summary:(0,k.q0)(h.summary)};c.events.push(i),f.push(i)}if(0===f.length)return{appended:f,skipped:g};if(c.events.length>2e3){let a=c.events.splice(0,c.events.length-2e3);c.retired=[...c.retired,...a.map(a=>a.id)].slice(-8e3)}return(0,i.f)(l(),c),{appended:f,skipped:g}})}function q(a,b={}){let c=Math.max(1,Math.min(200,Number.isInteger(b.limit)?b.limit:50)),d=Number.isInteger(b.afterSeq)?b.afterSeq:0,e=a.events.filter(a=>!(a.seq<=d)&&(!b.project||a.project===b.project)&&(!b.pipelineId||a.pipelineId===b.pipelineId)&&(!b.conversationId||a.conversationId===b.conversationId)&&(!b.stageId||a.stageId===b.stageId)&&(!b.type||a.type===b.type)&&!0),f=e.slice(0,c);return{count:f.length,events:f,cursor:a.lastSeq,remaining:e.length-f.length}}},89333:(a,b,c)=>{let d,e,f;c.d(b,{Bz:()=>s,EG:()=>w,GH:()=>q,Ps:()=>x,Rg:()=>t,jQ:()=>u,s9:()=>r});var g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k),m=c(41617),n=c(78966),o=c(13605);let p=j().homedir(),q={"codex-sessions":l().join(p,".codex/sessions"),"claude-projects":l().join(p,".claude/projects"),"claude-tasks":(d=process.getuid?.()??1e3,e=l().join(j().tmpdir(),"claude-"+d),e===(f="/tmp/claude-"+d)||h().existsSync(e)?e:h().existsSync(f)?f:e),"openclaw-sessions":l().join(p,".openclaw/agents")};function r(){let a=[...(0,m.vD)().map(a=>["codex-sessions",a]),...(0,n.pW)().map(a=>["claude-projects",a]),["claude-tasks",q["claude-tasks"]],...(function(){let a,b,c=l().join((b=process.env.OPENCLAW_STATE_DIR?.trim())?l().resolve(b):l().join(j().homedir(),".openclaw"),"agents");try{a=h().readdirSync(c,{withFileTypes:!0})}catch{return[]}return a.filter(a=>(a.isDirectory()||a.isSymbolicLink())&&!a.name.startsWith(".")).map(a=>l().join(c,a.name,"sessions")).sort()})().map(a=>["openclaw-sessions",a])],b=new Set;return a.filter(([,a])=>{let c=v(a)??l().resolve(a);return!b.has(c)&&(b.add(c),!0)})}function s(a){for(let b of(0,n.pW)())try{let c=h().realpathSync(a),d=h().realpathSync(b);if(c.startsWith(d+l().sep))return b}catch{}return null}let t=[".log",".jsonl",".output",".txt"],u=786432;function v(a){try{return h().realpathSync(a)}catch{return null}}function w(a){let b=v(a);return!!b&&r().some(([,a])=>{let c=v(a);return null!==c&&b.startsWith(c+l().sep)})}function x(a){for(let b of(0,m.vD)())try{let c=h().realpathSync(a),d=h().realpathSync(b);if(c.startsWith(d+l().sep))return b}catch{continue}return null}o.de,o.cy}};