agent-log-viewer 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/bin/cli.mjs +4 -0
  2. package/bin/server-runtime.test.ts +63 -12
  3. package/dist/mcp-server.mjs +31365 -26173
  4. package/dist/runtime-host.mjs +15618 -7081
  5. package/dist/standalone/.next/BUILD_ID +1 -1
  6. package/dist/standalone/.next/app-path-routes-manifest.json +21 -16
  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 +25 -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 +2 -2
  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 +21 -16
  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/2549.js +1 -1
  270. package/dist/standalone/.next/server/chunks/2555.js +1 -0
  271. package/dist/standalone/.next/server/chunks/2647.js +1 -1
  272. package/dist/standalone/.next/server/chunks/2857.js +1 -0
  273. package/dist/standalone/.next/server/chunks/2914.js +24 -0
  274. package/dist/standalone/.next/server/chunks/3034.js +1 -0
  275. package/dist/standalone/.next/server/chunks/3086.js +1 -1
  276. package/dist/standalone/.next/server/chunks/3131.js +1 -0
  277. package/dist/standalone/.next/server/chunks/3214.js +1 -1
  278. package/dist/standalone/.next/server/chunks/3302.js +1 -2
  279. package/dist/standalone/.next/server/chunks/3407.js +1 -0
  280. package/dist/standalone/.next/server/chunks/3422.js +1 -0
  281. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  282. package/dist/standalone/.next/server/chunks/3570.js +81 -0
  283. package/dist/standalone/.next/server/chunks/3587.js +1 -1
  284. package/dist/standalone/.next/server/chunks/3743.js +74 -24
  285. package/dist/standalone/.next/server/chunks/3830.js +1 -1
  286. package/dist/standalone/.next/server/chunks/3896.js +1 -0
  287. package/dist/standalone/.next/server/chunks/4127.js +1 -1
  288. package/dist/standalone/.next/server/chunks/4509.js +1 -1
  289. package/dist/standalone/.next/server/chunks/4637.js +62 -0
  290. package/dist/standalone/.next/server/chunks/4651.js +1 -1
  291. package/dist/standalone/.next/server/chunks/4783.js +1 -0
  292. package/dist/standalone/.next/server/chunks/480.js +126 -0
  293. package/dist/standalone/.next/server/chunks/4972.js +3 -3
  294. package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
  295. package/dist/standalone/.next/server/chunks/5480.js +1 -1
  296. package/dist/standalone/.next/server/chunks/5545.js +1 -1
  297. package/dist/standalone/.next/server/chunks/568.js +1 -2
  298. package/dist/standalone/.next/server/chunks/5682.js +1 -0
  299. package/dist/standalone/.next/server/chunks/5771.js +1 -0
  300. package/dist/standalone/.next/server/chunks/5847.js +1 -0
  301. package/dist/standalone/.next/server/chunks/6023.js +1 -0
  302. package/dist/standalone/.next/server/chunks/6277.js +81 -0
  303. package/dist/standalone/.next/server/chunks/6289.js +2 -0
  304. package/dist/standalone/.next/server/chunks/644.js +81 -0
  305. package/dist/standalone/.next/server/chunks/6453.js +1 -0
  306. package/dist/standalone/.next/server/chunks/6522.js +1 -0
  307. package/dist/standalone/.next/server/chunks/6665.js +1 -1
  308. package/dist/standalone/.next/server/chunks/6809.js +3 -0
  309. package/dist/standalone/.next/server/chunks/6826.js +1 -1
  310. package/dist/standalone/.next/server/chunks/6926.js +1 -1
  311. package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
  312. package/dist/standalone/.next/server/chunks/6978.js +1 -0
  313. package/dist/standalone/.next/server/chunks/7008.js +114 -9
  314. package/dist/standalone/.next/server/chunks/7192.js +1 -0
  315. package/dist/standalone/.next/server/chunks/7238.js +2 -0
  316. package/dist/standalone/.next/server/chunks/7361.js +22 -0
  317. package/dist/standalone/.next/server/chunks/7644.js +3 -3
  318. package/dist/standalone/.next/server/chunks/7722.js +1 -1
  319. package/dist/standalone/.next/server/chunks/781.js +55 -0
  320. package/dist/standalone/.next/server/chunks/7826.js +62 -0
  321. package/dist/standalone/.next/server/chunks/8027.js +11 -1
  322. package/dist/standalone/.next/server/chunks/8444.js +1 -1
  323. package/dist/standalone/.next/server/chunks/8512.js +1 -0
  324. package/dist/standalone/.next/server/chunks/8513.js +2 -0
  325. package/dist/standalone/.next/server/chunks/8617.js +1 -1
  326. package/dist/standalone/.next/server/chunks/8817.js +1 -1
  327. package/dist/standalone/.next/server/chunks/8991.js +1 -1
  328. package/dist/standalone/.next/server/chunks/8996.js +1 -1
  329. package/dist/standalone/.next/server/chunks/9296.js +104 -0
  330. package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
  331. package/dist/standalone/.next/server/chunks/9307.js +1 -1
  332. package/dist/standalone/.next/server/chunks/9360.js +197 -0
  333. package/dist/standalone/.next/server/chunks/9403.js +1 -1
  334. package/dist/standalone/.next/server/chunks/9517.js +1 -1
  335. package/dist/standalone/.next/server/chunks/9554.js +47 -0
  336. package/dist/standalone/.next/server/chunks/9676.js +1 -62
  337. package/dist/standalone/.next/server/chunks/9822.js +11 -1
  338. package/dist/standalone/.next/server/chunks/9901.js +1 -62
  339. package/dist/standalone/.next/server/chunks/9940.js +3 -3
  340. package/dist/standalone/.next/server/chunks/9998.js +1 -1
  341. package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
  342. package/dist/standalone/.next/server/files-response-worker.js +6 -6
  343. package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
  344. package/dist/standalone/.next/server/instrumentation.js +1 -1
  345. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  346. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  347. package/dist/standalone/.next/server/middleware.js +4 -4
  348. package/dist/standalone/.next/server/pages/404.html +1 -1
  349. package/dist/standalone/.next/server/pages/500.html +1 -1
  350. package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
  351. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  352. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
  353. package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
  354. package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +1 -0
  355. package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
  356. package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
  357. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
  358. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
  359. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
  360. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
  361. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
  362. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
  363. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  364. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
  365. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
  366. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
  367. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
  368. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
  369. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
  370. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
  371. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
  372. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
  373. package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
  374. package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
  375. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
  376. package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
  377. package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
  378. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
  379. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
  380. package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
  381. package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
  382. package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
  383. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
  384. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
  385. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
  386. package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
  387. package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
  388. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
  389. package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
  390. package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
  391. package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
  392. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
  393. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
  394. package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
  395. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
  396. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
  397. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
  398. package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
  399. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
  400. package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
  401. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
  402. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
  403. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
  404. package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
  405. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
  406. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
  407. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
  408. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
  409. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
  410. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
  411. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
  412. package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
  413. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
  414. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
  415. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
  416. package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
  417. package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
  418. package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
  419. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
  420. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
  421. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
  422. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
  423. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
  424. package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
  425. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
  426. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
  427. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
  428. package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +125 -0
  464. package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
  465. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
  466. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
  467. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
  468. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
  469. package/dist/standalone/.next/static/css/496211a19557b7ee.css +1 -0
  470. package/dist/standalone/.next/static/e4qE_aCE0s0KQnnU6IWRw/_buildManifest.js +1 -0
  471. package/dist/standalone/AGENTS.md +20 -0
  472. package/dist/standalone/node_modules/@next/env/package.json +1 -1
  473. package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  474. package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
  475. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
  476. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  477. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  478. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
  479. package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
  480. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
  481. package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
  482. package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  483. package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
  484. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  485. package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  486. package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
  487. package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  488. package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
  489. package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  490. package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
  491. package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  492. package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  493. package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  494. package/dist/standalone/node_modules/next/package.json +10 -10
  495. package/dist/standalone/package.json +5 -5
  496. package/dist/standalone/server.bun.js +1 -1
  497. package/dist/standalone/src/lib/viewerInstrumentation.ts +809 -0
  498. package/package.json +5 -5
  499. package/dist/standalone/.next/server/chunks/112.js +0 -1
  500. package/dist/standalone/.next/server/chunks/2190.js +0 -1
  501. package/dist/standalone/.next/server/chunks/2318.js +0 -2
  502. package/dist/standalone/.next/server/chunks/2371.js +0 -1
  503. package/dist/standalone/.next/server/chunks/2500.js +0 -55
  504. package/dist/standalone/.next/server/chunks/2799.js +0 -1
  505. package/dist/standalone/.next/server/chunks/2870.js +0 -104
  506. package/dist/standalone/.next/server/chunks/3598.js +0 -81
  507. package/dist/standalone/.next/server/chunks/3740.js +0 -126
  508. package/dist/standalone/.next/server/chunks/3953.js +0 -1
  509. package/dist/standalone/.next/server/chunks/411.js +0 -1
  510. package/dist/standalone/.next/server/chunks/4191.js +0 -1
  511. package/dist/standalone/.next/server/chunks/461.js +0 -1
  512. package/dist/standalone/.next/server/chunks/4968.js +0 -2
  513. package/dist/standalone/.next/server/chunks/5408.js +0 -1
  514. package/dist/standalone/.next/server/chunks/6333.js +0 -47
  515. package/dist/standalone/.next/server/chunks/6839.js +0 -81
  516. package/dist/standalone/.next/server/chunks/7045.js +0 -319
  517. package/dist/standalone/.next/server/chunks/7159.js +0 -1
  518. package/dist/standalone/.next/server/chunks/8176.js +0 -1
  519. package/dist/standalone/.next/server/chunks/8263.js +0 -81
  520. package/dist/standalone/.next/server/chunks/8392.js +0 -126
  521. package/dist/standalone/.next/server/chunks/9120.js +0 -78
  522. package/dist/standalone/.next/server/chunks/9507.js +0 -1
  523. package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
  524. package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
  525. package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
  526. package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
  527. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
  528. package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
  529. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
  530. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
  531. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
  532. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
  533. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
  534. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
  535. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
  536. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
  537. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
  538. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
  539. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
  540. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
  541. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
  542. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
  543. package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
  544. package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
  545. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
  546. package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
  547. package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
  548. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
  549. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
  550. package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
  551. package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
  552. package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
  553. package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
  554. package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
  555. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
  556. package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
  557. package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
  558. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
  559. package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
  560. package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
  561. package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
  562. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
  563. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
  564. package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
  565. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
  566. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
  567. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
  568. package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
  569. package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
  570. package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
  571. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
  572. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
  573. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
  574. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
  575. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
  610. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
  611. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
  612. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
  615. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
  618. package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
  619. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
  620. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
  621. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
  622. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
  623. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
  624. package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
  625. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
  626. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
  627. package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
  628. package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
  629. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
  630. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
  631. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
  632. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
  633. package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
  634. package/dist/standalone/src/lib/inboxFiles.ts +0 -203
  635. /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → e4qE_aCE0s0KQnnU6IWRw}/_ssgManifest.js +0 -0
@@ -0,0 +1,108 @@
1
+ "use strict";exports.id=1585,exports.ids=[193,1585],exports.modules={1585:(a,b,c)=>{c.d(b,{reconcileActiveOrchestratorSeat:()=>O});var d=c(73024),e=c.n(d);c(63685),c(58577);var f=c(70160),g=c(74260),h=c(51888),i=c(50193),j=c(7733),k=c(67434),l=c(16196),m=c(14310),n=c(43872),o=c(34570);c(97386),c(47473),c(57718);var p=c(10988),q=c(76760),r=c.n(q),s=c(27146),t=c(66212);let u=`## Initial visible status
2
+ Your first turn after receiving this mandate must produce a visible assistant status in this conversation. For a FRESH seat with no missions, greet in exactly two lines:
3
+ Ready in {project}.
4
+ Tell me what to ship — I open lanes, spawn implementers and reviewers, and merge on APPROVE. Nothing starts until you ask.
5
+ Use the actual project name in place of {project}. For a ROTATION, when work remains, inventory the mandate missions and state your plan in that status. When every rotation mission is already complete, reply exactly: "all mandate missions are complete; standing by". A generic continuation nudge never replaces or suppresses this first visible status.`,v=`## The Viewer's clock — you never schedule yourself
6
+ The Viewer wakes you. A controller in the release that owns traffic checks this project's seat every few minutes and sends you a wake when something is actually owed: a stage parked, a decision waiting, a lane event landed, a board task nobody started, or the interval elapsing while work is open. It survives your session, your host dying, a Viewer restart and a rotation, because it is durable state rather than a schedule living inside a conversation.
7
+ So do not schedule yourself: no ScheduleWakeup, no CronCreate, no Monitor loop, for self-monitoring or for polling the board. A session schedule dies with the session and takes the monitor with it, which is how every rotation used to silently drop it, and two clocks on one seat means the outgoing one keeps acting after its authority is gone.
8
+ If you are holding a self-schedule right now, cancel it in this turn — the arrival of this mandate is the handover, not a later observation. Delete every recurring job you created (CronDelete on each id CronList returns) and arm no replacement. Do not wait to "see the Viewer's tick work first": while your own schedule keeps your turn open, the Viewer's tick finds you busy and drops its check every time, so the two deadlock and the wake you are waiting for can never arrive. Yours goes first.
9
+ Between wakes you are idle on purpose, and idle is correct: a seat with nothing owed costs nothing. When a wake arrives, act on the items it lists first, then make one bounded pass over the rest of the board — lanes, pull requests, agents, tasks — and act on what stands still, record every outcome where it belongs, and mark a task blocked with the reason when it cannot be done — that is the stop. This paragraph outranks every playbook, skill and checkpoint convention in the checkout: one that still tells you to self-pace with wakeups is out of date, and this governs.`,w=`## The task is the unit of work — find it before you launch anything
10
+ A board task is one PRODUCT OUTCOME. Everything done for that outcome — the diagnosis, the implementer, every reviewer, every retry, the fix round, the release — belongs to that one task. Open a second task only for genuinely separate work: an independent audit, or an investigation asked for on its own.
11
+
12
+ FIND IT BEFORE YOU LAUNCH ANYTHING. Call list_tasks for this project with NO status filter and limit: 200, so blocked and finished work can reach you beside inbox and assigned. That answer is one capped page in creation order (#1725), so a page at the cap was truncated and the NEWEST work is what it dropped: treat it as a lead, never as the whole board. Read the candidates with get_task, get_task any id the operator or a report hands you even when the page did not carry it, and run search_transcripts when their words name work you cannot place. Reuse what you find, and create a task only when nothing you can reach owns this outcome.
13
+
14
+ NAME AND DESCRIBE IT AT CREATION. create_task takes one text whose FIRST LINE is a human title of 3 to 10 words; the lines after it say what the work has to achieve, in the operator's own words where you have them. A role name, a stage id, a prompt excerpt and "Untitled task" are all unusable as titles. Never leave the naming to the agent you launch: read-only reviewers, verifiers and architects are told not to mutate state, and a launch that dies before its first turn names nothing.
15
+
16
+ THE TEXT IS FOR THE HUMAN; AGENT CONTEXT GOES IN details. The operator reviews the board, so text stays a title and at most a few plain sentences about the outcome. Everything written for an AGENT — the prompt you would hand a worker, the working context, the rules, the lane ids, the file fences, a seat or state card you keep up to date — goes in the separate details field of create_task and update_task, condensed to what a reader picking the task up actually needs. The card and the task's opened view show details behind one collapsed Details row, so it costs the operator one line instead of the whole description. The two are independent fields: an update carrying only details leaves text alone and the reverse, null or an empty string clears details, and list_tasks truncates it while get_task returns the whole of it — so read it with get_task before you replace it, since a write is a replacement and not an append. A worker's first-action refine writes only the human part.
17
+
18
+ CARRY THE TASK INTO THE LAUNCH ITSELF. The Viewer binds an agent to its task when the launch is reserved, from what the CALL carried. A pipeline created without taskIds is given a placeholder card of its own — the duplicate the operator sees. A spawn without a task joins the cards of its parent and of the work it reviews, or gets a placeholder card when neither holds one: spawn_agent sets a parent only when the call names one, while POST /api/spawn always makes you the parent, putting the worker on your seat's card. None of these is the outcome's card. So:
19
+ - create_pipeline — pass taskIds: ["<board task id>"] in the SAME call as stages and autoStart. Every stage launch of that pipeline — run, review-loop, retry, fail branch — then joins that task, since each launch reads it off the pipeline. Adding it after the pipeline exists comes too late for the stages that already started.
20
+ - spawn_agent or POST /api/spawn — pass taskId: "<board task id>" beside the prompt and the title on EVERY spawn, reviewers included: an explicit id wins over inheritance, and a reviewer with a parent otherwise joins your seat's card too.
21
+ - A review flow or a pipeline's review-loop stage inherits the task of the work it reviews. Pass nothing, create nothing.
22
+ - Use the exact id THIS project's board gave you. An id naming no task refuses the launch before any agent starts, on either tool; create_pipeline also refuses a task belonging to another project, while spawn_agent takes the id as given and binds the agent to that other project's card.
23
+
24
+ EXTEND THE WORK THAT EXISTS. When an outcome needs another stage and its pipeline can still take one, add it there. A started pipeline's graph is fixed; when it cannot take one, create the successor pipeline with the SAME taskIds, so one card carries both.
25
+
26
+ REPAIR WITH THE TOOL THAT BINDS. A pipeline started without taskIds already carries the placeholder its first stage minted. Repair in order: pipeline_action "link-task" with the outcome's task, read it back, then "unlink-task" the placeholder id that was there before, so later stages join only the outcome's task; stages already admitted stay on the placeholder card. link_task_to_pipeline records one assignment and leaves the pipeline's task list alone, so it repairs nothing. Never unlink a pipeline's LAST task: with none left it re-adopts its placeholder on the next controller tick.
27
+
28
+ READ BACK WHAT YOU DID. After a create or a link, call get_pipeline and confirm its taskIds contain the task, then call get_task and confirm the task's pipelineIds contain the pipeline, which holds the moment the link lands. Assignments answer a different question: a link writes none, and the stages already running stay on the card they were admitted to, so a repaired pipeline's task shows its first assignment when the NEXT stage launches. A task can hold a launch and still draw no band on the board, so when you hand the operator a task id, say whether it is visible to them.
29
+
30
+ ONE OUTCOME NEVER SHOWS TWO LIVE CLAIMS. When you supersede work — a fresh pipeline after a failure, a fix lane after a review — retire the superseded container only once the outcome is carried by the surviving one and nothing in the old one is still running or unknown. Closing a container is unavailable as a way to hide work that is still owed: say out loud what you are dropping, and mark a task blocked with the reason when it cannot proceed. Never close containers in bulk to tidy the board.
31
+
32
+ RECEIPTS ARE THE RECORD. Every one of these calls is keyed by clientRequestId. A retry of the SAME logical operation reuses its id and replays the original receipt; a new operation gets a new id. When an outcome is unknown, replay the original id and read what the receipt says. Re-issuing it under a fresh id is how one outcome ends up with two pipelines and two cards.`,x=`You are the viewer's built-in Manager (issues #182, #691) — the agent that owns the board and runs the whole conveyor through the viewer's own HTTP API and MCP tools. You never act outside them.
33
+
34
+ ${u}
35
+
36
+ ## Two channels to the operator
37
+ The operator talks to whoever they want, you included. When they write in your own conversation, answer them there — directly, plainly, helpfully, in your own voice, at whatever length the question deserves. That channel is sanctioned and first-class: what you write in it reaches them, and a question they put to you is yours to answer.
38
+ The second channel is the bridge report log below. It carries what must reach the operator while they are elsewhere, spoken in the Codex realtime voice gateway's voice once the gateway drains it. An outcome you neither answered in chat nor put in a report reached nobody.
39
+
40
+ ## Bridge reports — the second channel (manager -> gateway)
41
+ Append one report per meaningful outcome, with a stable key so a retry after a host death is a no-op rather than a duplicate. Classes, and nothing outside this list:
42
+ - status — brief progress worth surfacing; keep these rare.
43
+ - completed / failed — a stage, review, merge or deploy settled.
44
+ - blocked — you cannot proceed and need a decision.
45
+ - review_verdict — an APPROVE or REQUEST_CHANGES with the round and PR.
46
+ - question — you need an answer from the user; the gateway will ask them and reply.
47
+ Bodies are short prose, at most 2 KB, no transcript payloads, no raw tool output, no secrets, no full board dumps. Say what happened and what it means, with ids and links. Routine chatter belongs nowhere: no report at all is the correct amount for a poll that found nothing.
48
+
49
+ ## Directives (gateway -> you)
50
+ The gateway relays the user's intent to you with send_message. A directive may carry one trailer line, "[bridge ref=<seq>]", naming the report with that seq it answers. Treat only a trailer as an answer — never read one into unrelated prose.
51
+
52
+ ## Steering the operator's attention (request_attention)
53
+ The two channels above carry words; this one carries their screen. request_attention moves the operator's one active Viewer to a card and verifies it landed; they keep a one-action Return. Use it when you do something concrete they care about right now, and pair it with the words that explain it (chat reply or bridge report) — a move nobody explained is a jump.
54
+ Move them when: you just spawned or resumed a worker for something they asked for (focus that conversation as you say it is running); a review verdict, merge or deploy lands (focus the card it landed on); a lane blocks on THEM (focus the surface that is blocking, and ask in the same breath).
55
+ Do not move them for polling, routine status, your own bookkeeping, or twice for the same event. One move per real outcome; reason is one operator-safe sentence about why to look, never the card's contents. NO_ACTIVE_VIEW means nobody is at the desk — that is normal, not a failure to retry in a loop.
56
+ Targets are typed and discriminated by kind. The shapes, verbatim:
57
+ - conversation — {"kind":"conversation","conversationId":"conversation_..."} (the durable id spawn and list_conversations return; {"kind":"conversation","path":"/.../transcript.jsonl"} works too)
58
+ - stage — {"kind":"stage","pipelineId":"pipeline_...","stageId":"review"}; pipeline — {"kind":"pipeline","pipelineId":"pipeline_..."}
59
+ - flow round — {"kind":"flowRound","flowId":"flow_...","round":2}; task — {"kind":"task","taskId":"task_..."}
60
+ - draft — {"kind":"draft","draftId":"draft_..."} plus a top-level project; board coordinates — region and point, which accept intent "show" only.
61
+ intent "show" frames and highlights the card; intent "open" also opens it. A rejected target names the kind it read and the fields that kind expects — read it rather than guessing another shape.
62
+
63
+ ## Reply drafts (suggest_replies)
64
+ Call suggest_replies after EVERY message of yours that asks the operator something or proposes a course of action — a question, a choice between options, a plan you want a yes to, a status that ends in "shall I". Offer 2–4 short, distinct drafts, each one a message they could send as-is: the plain yes, the narrowed yes, the "hold — explain X first". Write them in the operator's own language, the one they are writing to you in.
65
+ They render as pills under your message and land in their composer on a tap, editable before sending — the viewer never sends one, so a draft is an offer and never a decision, and never a substitute for asking clearly in the message itself. The newest set replaces your previous one for that conversation, and their next message clears it: offer a fresh set with each new ask, and never re-offer drafts to something they already answered. A message that asks nothing needs no drafts.
66
+
67
+ ${v}
68
+
69
+ ## Search prior conversations before deciding
70
+ Much of what you will meet has been met before, and the Viewer indexes every user and assistant message of every conversation on this machine, across both engines and all accounts. At the start of any non-trivial task, and whenever a problem, failure or unknown appears, run several search_transcripts queries — 3 to 5, in different phrasings: the error text, the subsystem, the symptom, the file or tool involved — scoped to the project first, then unscoped. A snippet is only a pointer: open the hit through conversation_messages at its transcript path (its timestamp as since; the transcript path and byte offset pin the exact line) and read the turns around it before choosing an approach. Cite what you found, by conversation title and date, in the plan or spec you hand on, or state that nothing relevant existed. Check an old answer against current main before you build on it; the code has usually moved since.
71
+
72
+ ## Human in the loop
73
+ Decide yourself whatever the code, the running system or one cheap observation can settle. What rests on a fact nobody could confirm, or on a requirement that reads two ways and changes what gets built, is the operator's decision.
74
+ - A spec never states an external fact nobody observed: it makes the observation step one and tells the stage to stop and ask if it cannot be made.
75
+ - When a stage parks on such a question, bring it to the operator in chat at once, with suggested replies.
76
+ - After a deploy, check the operator-visible result on prod before you mark the task done.
77
+
78
+ ${w}
79
+
80
+ ## Conveyor rules
81
+ Drive every accepted piece of work through: GitHub issue -> worktree lane -> implementer agent -> review flow -> merge bar -> this project's own release step, where it has one -> cleanup.
82
+ - One lane (worktree + branch) per issue; one owner per file across active worktrees.
83
+ - Spawn implementers via POST /api/spawn with title = a semantic task name, taskId = the outcome's board task, src = YOUR transcript path (lineage draws the diagram edges), and role per the role table; workers end with "REVIEW_READY: <PR url>".
84
+ - Reviews run as flows (POST /api/flows) or fresh reviewer spawns (role: "reviewer", reviews: <implementer ref>, taskId) — a fresh reviewer every round, verdict contract "VERDICT: APPROVE|REQUEST_CHANGES".
85
+ - Merge bar: merge only on an APPROVE verdict with green gates (tsc + tests), after reading the PR body. Never merge red; a PR that calls a premise unverified, assumed or synthetic goes to the operator.
86
+ - Keep the outcome's ONE task card updated via /api/tasks; pipelines and spawns for it carry its id at launch. Report state changes as bridge reports.
87
+
88
+ ## Pipeline stage contract
89
+ A pipeline is a GRAPH of stages, not a list. Each stage is {id (unique, URL-safe), kind: "run" | "review-loop", prompt, next: <stage id> | null, onFail?: {to, maxRounds?} (run stages only), role: {roleId, params?}} and carries its runtime overrides — engine, model, effort, access — on the stage itself, never inside role. next is the pass edge and DEFAULTS TO null: stages you never wire reach nothing, and a review-loop must be pass-reachable from a run stage through next edges (it reviews that run's session), so array order alone is not a chain. review-loop stages are read-only, take no onFail, and default to the registry's Codex reviewer runtime. src is your transcript path; a draft that pins baseBranch must also pass baseRef, a SHA you resolve.
90
+
91
+ ## Start-by-default pipeline contract
92
+ When the operator asks for work, assess complexity, compose stages/roles, POST /api/pipelines with autoStart: true (or start it immediately after creation), and put the work in motion without a confirmation step or draft. Create a draft only when the operator explicitly asks for a draft or to review the plan first in that request: POST /api/pipelines with autoStart: false, report the draft id/link, and wait for the operator to press Start on the board. The explicit draft request may be asked in your own conversation or relayed through the gateway; both channels carry the same authority.
93
+
94
+ ## Fences
95
+ - Operate exclusively through the viewer API and MCP tools (spawn, flows, pipelines, tasks, files, agent/snapshot, conversation-host). No direct process or runtime manipulation.
96
+ - If this checkout carries an llv-conveyor skill, it is your playbook, subordinate to this mandate wherever the two disagree; otherwise the conveyor rules above are the playbook.
97
+ - Replacing manual spawns is a non-goal: the user's own agents keep working; you coordinate, you do not take over.
98
+ - Re-derive board state per turn from bounded snapshots rather than accumulating it in context.`,y=" …[truncated]";function z(a){return Buffer.byteLength(a,"utf8")}let A={resolveAccount:async a=>{let{accountManager:b}=await Promise.resolve().then(c.bind(c,65236));return b.resolveHeadlessSpawn("codex",null,[],a)},run:async a=>{let{runHeadlessCodexOnce:b}=await Promise.resolve().then(c.bind(c,5013));return await b(a)},readPredecessorReport:(a,b)=>(function(a,b){let c,d=null;try{d=e().openSync(a,e().constants.O_RDONLY|e().constants.O_NOFOLLOW);let b=e().fstatSync(d);if(!b.isFile())return null;let f=e().lstatSync(a);if(!f.isFile()||f.dev!==b.dev||f.ino!==b.ino)return null;let g=Math.max(0,b.size-262144),h=Buffer.alloc(b.size-g);e().readSync(d,h,0,h.length,g),c=h.toString("utf8"),g>0&&(c=c.slice(c.indexOf("\n")+1))}catch{return null}finally{null!==d&&e().closeSync(d)}let f=c.split("\n");for(let a=f.length-1;a>=0;a-=1){let c;try{let b=JSON.parse(f[a]);if(!b||"object"!=typeof b||Array.isArray(b))continue;c=b}catch{continue}let d="claude"===b?function(a){if("assistant"!==a.type)return null;let b=a.message;if(!b||"object"!=typeof b||Array.isArray(b))return null;let c=b.content;return"string"==typeof c?c:Array.isArray(c)?c.flatMap(a=>a&&"object"==typeof a&&!Array.isArray(a)&&"text"===a.type&&"string"==typeof a.text?[a.text]:[]).join("\n"):null}(c):function(a){let b=a.payload;return!b||"object"!=typeof b||Array.isArray(b)?null:"agent_message"===b.type&&"string"==typeof b.message?b.message:null}(c);if(d?.trim())return function(a){if(6e3>=z(a))return{value:a,truncated:!1,codePoints:[...a].length};let b=z(y),c=0,d=0,e="";for(let f of a){let a=z(f);if(c+a+b>6e3)break;e+=f,c+=a,d+=1}return e?{value:`${e}${y}`,truncated:!0,codePoints:d}:{value:"",truncated:!0,codePoints:0}}(d.trim()).value||null}return null})(a,b)},B=/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,C=/\b((?:github|gitlab)\.com\/|bitbucket\.org\/)[A-Za-z0-9][A-Za-z0-9-]{0,38}/gi,D=/(^|[^A-Za-z0-9_@/])@[A-Za-z0-9][A-Za-z0-9._-]{1,38}/g,E=/~\/[^\s"'`)\],;]*/g,F=/(?<![A-Za-z0-9_~:/])\/(?:home|Users|root|tmp|var|etc|opt|srv|mnt|media|app|workspace|private|data|usr|proc|dev)\/[^\s"'`)\],;]*/g,G=/(?<![A-Za-z0-9_~:/])\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/[^\s"'`)\],;]*/g,H=/\b(?:conversation|session|launch|thread|run|acct|account|agent)_(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{6,}\b/gi,I=/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi;function J(a){return(0,t.j)(a).replace(B,"[redacted-email]").replace(C,"$1[redacted-handle]").replace(D,"$1[redacted-handle]").replace(E,"[redacted-path]").replace(F,"[redacted-path]").replace(G,"[redacted-path]").replace(H,"[redacted-id]").replace(I,"[redacted-id]")}let K=`You are compacting the rotation history of a project manager agent's mandate. Write a digest of the material below for the manager's successor. Use exactly these three headings and short bullet points under each:
99
+
100
+ Decisions:
101
+ Blockers:
102
+ In flight:
103
+
104
+ Rules: at most 3500 bytes in total. Keep only what the successor needs to act: decisions already made, blockers still open, and work in flight with its current state. Never include names, account handles, email addresses, tokens, or file paths. Do not use Markdown headings starting with "#". Do not run commands or read files; everything you need is below. Output the digest only — no preamble, no closing remarks.`;async function L(a,b=A){let c=await b.resolveAccount(a.project);if("exhausted"===c.kind)return{kind:"fallback",reason:"exhausted"};if("available"!==c.kind)return{kind:"fallback",reason:"unavailable"};let d=a.predecessor?b.readPredecessorReport(a.predecessor.path,a.predecessor.engine):null,f=(0,s.BQ)("orchestrator","handoff-digests",a.clientRequestId);try{let e=await b.run({key:`orchestrator-handoff:${a.clientRequestId}`,cwd:r().join(f,"cwd"),prompt:function(a,b){let c=a.priorHistory?J(a.priorHistory).trim():null,d=b?J(b).trim():null,e=a.priorHandoffs.map(a=>J(a).trim()).filter(Boolean),f=z(c??"")+z(d??"")+e.reduce((a,b)=>a+z(b),0),g=0;for(;g<e.length&&f>48e3;)f-=z(e[g]),g+=1;let h=e.slice(g);return[K,`=== Previous rotation history ===
105
+ ${c??"(none)"}`,`=== Earlier handoffs, oldest first ===
106
+ ${h.length?h.map((a,b)=>`--- handoff ${b+1} ---
107
+ ${a}`).join("\n\n"):"(none)"}`,`=== Predecessor's last report ===
108
+ ${d??"(unavailable)"}`].join("\n\n")}(a,d),model:h.Ze,effort:"low",account:"codex"===c.account.engine?{home:c.account.home,managed:"managed"===c.account.kind}:null,artifactDir:f,timeoutMs:75e3,sandbox:"read-only"});if("timeout"===e.status)return{kind:"fallback",reason:"timeout"};if("done"!==e.status)return{kind:"fallback",reason:"failed"};let g=J(e.finalOutput).trim();if(!g)return{kind:"fallback",reason:"empty"};if(z(g)>4096)return{kind:"fallback",reason:"over_budget"};let i=g.replace(/\r\n?/g,"\n").replace(/^#{1,6}[ \t]+/gm,"- ").trim();return i?{kind:"digest",text:i}:{kind:"fallback",reason:"empty"}}finally{e().rmSync(f,{recursive:!0,force:!0})}}var M=c(29307);let N={spawn:async function(a){let{executeSpawnRequest:b}=await Promise.all([c.e(4995),c.e(8513)]).then(c.bind(c,48513)),d={headers:new Headers({host:"127.0.0.1",...(0,i.NZ)("orchestrator"),[j.VIEWER_SPAWN_CAPABILITY_HEADER]:(0,g.ensureOperatorSpawnCapability)()}),json:async()=>a},e=await b(d);return{status:e.status,body:await e.json()}},deliver:async function(a){if((0,l.cM)()){let{enqueueStructuredMessage:b}=await Promise.resolve().then(c.bind(c,66052)),d=await b({path:a.path??"",conversationId:a.conversationId,clientMessageId:a.clientMessageId,text:a.text,images:[]});if(d)return d.ok?{ok:!0,outcome:"outcome"in d&&"string"==typeof d.outcome?d.outcome:"delivered"}:{ok:!1,error:d.error}}let b=await (0,k.Ku)({pid:null,path:a.path??"",conversationId:a.conversationId,clientMessageId:a.clientMessageId,text:a.text,images:[]});return b.ok?{ok:!0,outcome:b.outcome??"delivered"}:{ok:!1,error:b.error}},conversationTarget:a=>{let b=(0,f.agentRegistry)().conversation(a);if(!b)return null;if(b.supersededBy)return{kind:"ineligible",code:"conversation_ineligible",error:"conversation is superseded"};let c=b.generations.at(-1),d=c?.path?.trim();if(!d||!e().existsSync(d))return{kind:"ineligible",code:"missing_transcript",error:"conversation transcript is unavailable"};let g=c?.launchProfile?.cwd?.trim();if(!g||!e().existsSync(g)||!e().statSync(g).isDirectory())return{kind:"ineligible",code:"invalid_cwd",error:"conversation cwd is unavailable"};let i=b.projectOwnership?.project??(0,m.hY)(g);return i?{kind:"eligible",conversationId:b.id,path:d,cwd:g,project:(0,M.ut)(i),engine:b.engine,model:c?.launchProfile.model?.trim()||(0,h.Gh)(b.engine)}:{kind:"ineligible",code:"missing_project",error:"conversation project is unavailable"}},projectTasks:a=>(0,p.h6)().filter(b=>b.project===a&&"done"!==b.status).map(a=>({id:a.id,status:a.status,text:a.text})),summarizeHandoffs:a=>L(a),launchSettlement:({launchId:a,clientRequestId:b})=>{let c=(0,f.agentRegistry)(),d=c.spawnReceiptForClientAttempt(b);return!d||a&&d.launchId!==a?{kind:"unknown"}:d.rejection||"failed"===d.state||"conflicted"===d.state?{kind:"failed",error:d.error??d.rejection?.guidance??`spawn receipt is terminally ${d.state}`}:{kind:"settled",conversationId:d.conversationId,path:(0,f.Vt)(c.readOnlySnapshot()).allowsReceipt(d)?d.artifactPath:null,launchId:d.launchId,engine:d.engine,model:d.launchProfile.model}},resolvedConversation:a=>{if(!a)return null;let b=(0,f.agentRegistry)().conversation(a);if(!b)return null;let c=b.generations.at(-1)?.path?.trim();if(!c||!(0,n.EG)(c))return null;let d=b.generations.at(-1)?.launchProfile?.cwd?.trim();return{conversationId:b.id,path:c,holdsTurns:(0,o.x_)(c,b.engine),cwd:d&&function(a){try{return e().statSync(a).isDirectory()}catch{return!1}}(d)?d:null}},runtimeIdentity:a=>{let b=(0,f.agentRegistry)().conversation(a),c=b?b.generations.at(-1)?.launchProfile.model?.trim()||(0,h.Gh)(b.engine):null;return{engine:b?.engine??null,model:c}},stampRegistryIdentity:a=>{(0,f.agentRegistry)().stampOrchestratorSeatIdentity(a)},now:()=>new Date().toISOString()};function O(a,b=N){return function(a,b){let c=(0,M.HS)(a).active;if(!c?.conversationId||"spawn"!==c.intent.mode||null!==c.path)return null;let d=b.resolvedConversation(c.conversationId);if(d)return(0,M.x2)({project:a,clientRequestId:c.intent.clientRequestId,conversationId:c.conversationId,path:d.path}),null;let e=b.launchSettlement({launchId:c.intent.launchId,clientRequestId:c.intent.clientRequestId});if("failed"!==e.kind)return null;let f=(0,M.Ye)({project:a,clientRequestId:c.intent.clientRequestId,error:`the accepted launch failed before its conversation became readable: ${e.error}`,now:b.now(),resolvable:a=>null!==b.resolvedConversation(a),restorableSeat:a=>(function(a,b){let c=b.resolvedConversation(a.conversationId);if(!c)return null;let d=b.runtimeIdentity(a.conversationId);return{project:a.stillborn.project,seatEpoch:a.stillborn.seatEpoch,conversationId:c.conversationId,path:c.path,engine:d.engine,model:d.model,runtimeIdentityFrozen:!1,mandate:x,promptVersion:19,predecessorConversationId:null,triggeredBy:null,state:"active",intent:{clientRequestId:`restored-${a.stillborn.intent.clientRequestId}`.slice(0,128),mode:"existing",launchId:null,error:null},designatedAt:a.stillborn.designatedAt,activatedAt:null}})(a,b)});return f&&console.warn(`orchestrator seat for ${a} was rolled back: its accepted launch failed before the conversation became readable (${e.error})`),f}((0,M.ut)(a),b)}},50193:(a,b,c)=>{c.d(b,{NZ:()=>p,kg:()=>q});var d=c(77598),e=c.n(d),f=c(70160),g=c(74260),h=c(7733);let i=/^[A-Za-z0-9_-]{43}$/,j="x-llv-internal-service",k=/^[a-f0-9]{64}$/,l=["monitor","mcp","orchestrator"],m={ok:!1,status:403,error:"this is an operator-only action; an agent may not perform it, whatever role it holds"},n={ok:!1,status:403,error:"background Viewer activity is outside direct operator activity"};function o(a){return e().createHmac("sha256",(0,g.ensureOperatorSpawnCapability)()).update(`llv-internal-service-v1\0${a}`).digest("hex")}function p(a){return{[j]:`${a}.${o(a)}`}}function q(a){var b;let c,d;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=o(d);return e().timingSafeEqual(Buffer.from(f),Buffer.from(a))?"valid":"invalid"}catch{return"invalid"}}(a)?n:(b=a,(d=b.headers.get(h.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"")&&i.test(d)?(c=e().createHash("sha256").update(d).digest("hex"),(0,f.agentRegistry)().conversationIdForSpawnCapabilityDigest(c)):null)?m:{ok:!0}}}};