@mndrk/agx 2.0.33 → 2.0.34

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 (687) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +17 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +110 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
  15. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
  29. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +2 -2
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +5 -5
  48. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/app-paths-manifest.json +3 -0
  51. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/build-manifest.json +11 -0
  52. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/server-reference-manifest.json +4 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js +7 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.map +5 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route_client-reference-manifest.js +2 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  66. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/app-paths-manifest.json +3 -0
  86. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/build-manifest.json +11 -0
  87. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/server-reference-manifest.json +4 -0
  88. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +10 -0
  89. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.map +5 -0
  90. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -0
  91. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route_client-reference-manifest.js +2 -0
  92. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/app-paths-manifest.json +3 -0
  93. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/build-manifest.json +11 -0
  94. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/server-reference-manifest.json +4 -0
  95. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +10 -0
  96. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.map +5 -0
  97. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -0
  98. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route_client-reference-manifest.js +2 -0
  99. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/app-paths-manifest.json +3 -0
  100. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/build-manifest.json +11 -0
  101. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/server-reference-manifest.json +4 -0
  102. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +10 -0
  103. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.map +5 -0
  104. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -0
  105. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route_client-reference-manifest.js +2 -0
  106. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/app-paths-manifest.json +3 -0
  107. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/build-manifest.json +11 -0
  108. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/server-reference-manifest.json +4 -0
  109. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +9 -0
  110. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.map +5 -0
  111. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -0
  112. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route_client-reference-manifest.js +2 -0
  113. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/app-paths-manifest.json +3 -0
  114. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/build-manifest.json +11 -0
  115. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/server-reference-manifest.json +4 -0
  116. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +12 -0
  117. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.map +5 -0
  118. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -0
  119. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route_client-reference-manifest.js +2 -0
  120. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/app-paths-manifest.json +3 -0
  121. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/build-manifest.json +11 -0
  122. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/server-reference-manifest.json +4 -0
  123. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +10 -0
  124. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.map +5 -0
  125. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -0
  126. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route_client-reference-manifest.js +2 -0
  127. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +2 -2
  130. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +3 -3
  132. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
  134. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/app-paths-manifest.json +3 -0
  136. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/build-manifest.json +11 -0
  137. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/server-reference-manifest.json +4 -0
  138. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +8 -0
  139. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.map +5 -0
  140. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -0
  141. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route_client-reference-manifest.js +2 -0
  142. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/app-paths-manifest.json +3 -0
  143. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/build-manifest.json +11 -0
  144. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/server-reference-manifest.json +4 -0
  145. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +8 -0
  146. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.map +5 -0
  147. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -0
  148. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route_client-reference-manifest.js +2 -0
  149. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/app-paths-manifest.json +3 -0
  150. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/build-manifest.json +11 -0
  151. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/server-reference-manifest.json +4 -0
  152. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +8 -0
  153. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.map +5 -0
  154. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -0
  155. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route_client-reference-manifest.js +2 -0
  156. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/app-paths-manifest.json +3 -0
  157. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/build-manifest.json +11 -0
  158. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/server-reference-manifest.json +4 -0
  159. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +8 -0
  160. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.map +5 -0
  161. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -0
  162. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route_client-reference-manifest.js +2 -0
  163. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/app-paths-manifest.json +3 -0
  164. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/build-manifest.json +11 -0
  165. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/server-reference-manifest.json +4 -0
  166. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +8 -0
  167. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.map +5 -0
  168. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -0
  169. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route_client-reference-manifest.js +2 -0
  170. package/cloud-runtime/standalone/.next/server/app/api/skills/route/app-paths-manifest.json +3 -0
  171. package/cloud-runtime/standalone/.next/server/app/api/skills/route/build-manifest.json +11 -0
  172. package/cloud-runtime/standalone/.next/server/app/api/skills/route/server-reference-manifest.json +4 -0
  173. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +8 -0
  174. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.map +5 -0
  175. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -0
  176. package/cloud-runtime/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +2 -0
  177. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/app-paths-manifest.json +3 -0
  178. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/build-manifest.json +11 -0
  179. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/server-reference-manifest.json +4 -0
  180. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +8 -0
  181. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.map +5 -0
  182. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -0
  183. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route_client-reference-manifest.js +2 -0
  184. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  185. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  207. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  209. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  213. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +2 -2
  231. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  235. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/app-paths-manifest.json +3 -0
  239. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/build-manifest.json +11 -0
  240. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/server-reference-manifest.json +4 -0
  241. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +7 -0
  242. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.map +5 -0
  243. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -0
  244. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route_client-reference-manifest.js +2 -0
  245. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
  252. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +8 -1
  253. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  255. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/automations.rsc +4 -4
  257. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +4 -4
  258. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  261. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  262. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
  264. package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
  275. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  276. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  277. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  278. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  279. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  280. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  282. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  283. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  286. package/cloud-runtime/standalone/.next/server/app/index.rsc +5 -5
  287. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  288. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  289. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  290. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  291. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -4
  292. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
  293. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  295. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/app-paths-manifest.json +3 -0
  296. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/build-manifest.json +18 -0
  297. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/next-font-manifest.json +11 -0
  298. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +8 -0
  299. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/server-reference-manifest.json +4 -0
  300. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js +16 -0
  301. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.map +5 -0
  302. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -0
  303. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +2 -0
  304. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  305. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  306. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +4 -4
  308. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  309. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  310. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  311. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  312. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  313. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +4 -4
  314. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  315. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  316. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
  317. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  320. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  321. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  322. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  323. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  326. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  328. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
  329. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  331. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  332. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  333. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  334. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  335. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  338. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  339. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
  340. package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  341. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  342. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  343. package/cloud-runtime/standalone/.next/server/app/settings.rsc +3 -3
  344. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  345. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  346. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  347. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  348. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  349. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  350. package/cloud-runtime/standalone/.next/server/app/skills/page/app-paths-manifest.json +3 -0
  351. package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +18 -0
  352. package/cloud-runtime/standalone/.next/server/app/skills/page/next-font-manifest.json +11 -0
  353. package/cloud-runtime/standalone/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
  354. package/cloud-runtime/standalone/.next/server/app/skills/page/server-reference-manifest.json +4 -0
  355. package/cloud-runtime/standalone/.next/server/app/skills/page.js +15 -0
  356. package/cloud-runtime/standalone/.next/server/app/skills/page.js.map +5 -0
  357. package/cloud-runtime/standalone/.next/server/app/skills/page.js.nft.json +1 -0
  358. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +2 -0
  359. package/cloud-runtime/standalone/.next/server/app/skills.html +21 -0
  360. package/cloud-runtime/standalone/.next/server/app/skills.meta +15 -0
  361. package/cloud-runtime/standalone/.next/server/app/skills.rsc +23 -0
  362. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +23 -0
  363. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +5 -0
  364. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +9 -0
  365. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +5 -0
  366. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +9 -0
  367. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +4 -0
  368. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
  369. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  370. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  371. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  372. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  373. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  374. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  375. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  376. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  377. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  378. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  379. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
  380. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  381. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  382. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
  383. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  384. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  385. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  386. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  387. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  388. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  389. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  390. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  391. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  392. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  393. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +17 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/[externals]__cf9f18a6._.js +3 -0
  395. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__875279cb._.js → [root-of-the-server]__005b3c82._.js} +2 -2
  396. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4837d72a._.js → [root-of-the-server]__056d94e4._.js} +2 -2
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__068b4f08._.js +15 -0
  398. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b3ed0a00._.js → [root-of-the-server]__0bb52353._.js} +2 -2
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +13 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c26221d._.js → [root-of-the-server]__1a8e0957._.js} +2 -2
  401. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6acb940d._.js → [root-of-the-server]__23ad03bf._.js} +2 -2
  402. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7ffcc20c._.js → [root-of-the-server]__2948f712._.js} +2 -2
  403. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__18423486._.js → [root-of-the-server]__32ef6623._.js} +2 -2
  404. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1c18c0d1._.js → [root-of-the-server]__34cb1b98._.js} +2 -2
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d865017._.js +48 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5031f8d4._.js +30 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5a348fba._.js → [root-of-the-server]__596d0e81._.js} +2 -2
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +3 -0
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +15 -0
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +8 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +8 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ffffceac._.js → [root-of-the-server]__75cedecf._.js} +2 -2
  413. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__19520d85._.js → [root-of-the-server]__7ee9b7b6._.js} +2 -2
  414. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d8c6e3d._.js → [root-of-the-server]__8ac0286e._.js} +3 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +3 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +3 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b63cb741._.js → [root-of-the-server]__981d92dd._.js} +3 -3
  418. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +13 -0
  419. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +8 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a55c16a5._.js +158 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +13 -0
  422. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__32b13ba9._.js → [root-of-the-server]__b4931ee1._.js} +2 -2
  423. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e122cae2._.js → [root-of-the-server]__b500f1bf._.js} +2 -2
  424. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c480c9c2._.js → [root-of-the-server]__b707e701._.js} +2 -2
  425. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +13 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +13 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d4126e05._.js +15 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +8 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b9b3fde6._.js → [root-of-the-server]__dcdeee3d._.js} +2 -2
  430. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +13 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +15 -0
  432. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ee6511a0._.js +44 -0
  433. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  434. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_pick-folder_route_actions_162664ff.js +3 -0
  435. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_cancel_route_actions_fbd5be89.js +3 -0
  436. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_route_actions_774a2e21.js +3 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_runs_route_actions_6e59ee83.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_agents_route_actions_399e1f19.js +3 -0
  439. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_poll_route_actions_23fbbfa1.js +3 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_route_actions_acf03860.js +3 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_assign_route_actions_15267be8.js +3 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_available_route_actions_24023111.js +3 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_detail_route_actions_1148baef.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_history_route_actions_5e5c4757.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_learn_route_actions_d3a37d25.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_route_actions_780e175f.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_unlearn_route_actions_3dfee433.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-repos_route_actions_e95d24ee.js +3 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/{lib_7cad5c77._.js → lib_a5adca60._.js} +25 -25
  450. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  452. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +28 -23
  453. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +28 -23
  454. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +38 -11
  455. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +43 -16
  456. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +19 -19
  457. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js +10 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +4 -3
  459. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +4 -3
  460. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__096c39a3._.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +1 -1
  462. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  463. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__67d5f883._.js +3 -0
  464. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b4e7816._.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8fe8b9dd._.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a37fb1c3._.js +3 -0
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a456581d._.js +3 -0
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d74022f1._.js +3 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fcbe03e6._.js → [root-of-the-server]__e0c64529._.js} +2 -2
  470. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea035cd9._.js +3 -0
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/_05c8a494._.js +3 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +3 -0
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +1 -1
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23656a95._.js +3 -0
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23f5fddc._.js +3 -0
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24feb541._.js +4 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27a789b3._.js +3 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_508cd32f._.js → _314f4c49._.js} +2 -2
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36b413cc._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_46e00a9b._.js +95 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/_478f4991._.js +3 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +3 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +3 -0
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547b6462._.js +4 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547f19ec._.js +3 -0
  488. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +2 -2
  489. package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +1 -1
  490. package/cloud-runtime/standalone/.next/server/chunks/ssr/_9e07dcac._.js +95 -0
  491. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1b966f7._.js +3 -0
  492. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a68d8f62._.js +3 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a80e12c8._.js +3 -0
  494. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b1e1ef71._.js +95 -0
  495. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1349560._.js +3 -0
  496. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_automations_page_actions_9371bc66.js +3 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_skills_page_actions_4ac82b1e.js +3 -0
  498. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
  499. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
  500. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  501. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +4 -5
  502. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  503. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_e70f9321._.js → node_modules_lucide-react_dist_esm_b82e03da._.js} +2 -2
  504. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +3 -0
  505. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_920e7746._.js → node_modules_next_f2865b38._.js} +2 -2
  506. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +14 -0
  507. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
  508. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  509. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  510. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  511. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  512. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  513. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  514. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  515. package/cloud-runtime/standalone/.next/static/chunks/01428247f94115a6.js +1 -0
  516. package/cloud-runtime/standalone/.next/static/chunks/06cf0ed16bf8aa70.js +28 -0
  517. package/cloud-runtime/standalone/.next/static/chunks/19dd745b663fdffa.js +1 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/1a3298f21d1040e9.js +4 -0
  519. package/cloud-runtime/standalone/.next/static/chunks/1c8583feefee0765.js +1 -0
  520. package/cloud-runtime/standalone/.next/static/chunks/1e3dede69b464364.js +1 -0
  521. package/cloud-runtime/standalone/.next/static/chunks/238a28856e739dc9.js +2 -0
  522. package/cloud-runtime/standalone/.next/static/chunks/24772e179852c73e.js +1 -0
  523. package/cloud-runtime/standalone/.next/static/chunks/2d1d138d8ea3234c.css +1 -0
  524. package/cloud-runtime/standalone/.next/static/chunks/2e011469003993e9.js +28 -0
  525. package/cloud-runtime/standalone/.next/static/chunks/31a4164e40ca71e5.js +6 -0
  526. package/cloud-runtime/standalone/.next/static/chunks/3c202e89da05d9b9.js +1 -0
  527. package/cloud-runtime/standalone/.next/static/chunks/3c72becf6dff5597.js +1 -0
  528. package/cloud-runtime/standalone/.next/static/chunks/44dafb5e85578e12.js +16 -0
  529. package/cloud-runtime/standalone/.next/static/chunks/47f22a56011af8d3.js +1 -0
  530. package/cloud-runtime/standalone/.next/static/chunks/48e332ac3e9ed56c.js +1 -0
  531. package/cloud-runtime/standalone/.next/static/chunks/5b567b289ca2273e.css +1 -0
  532. package/cloud-runtime/standalone/.next/static/chunks/5d52c79d9812d06e.js +1 -0
  533. package/cloud-runtime/standalone/.next/static/chunks/617db51b7444f818.js +1 -0
  534. package/cloud-runtime/standalone/.next/static/chunks/673bb6094cea9ded.js +1 -0
  535. package/cloud-runtime/standalone/.next/static/chunks/787436fad75f5bc6.js +5 -0
  536. package/cloud-runtime/standalone/.next/static/chunks/8304e8487aa74059.css +2 -0
  537. package/cloud-runtime/standalone/.next/static/chunks/8a4684388ca0f6de.js +7 -0
  538. package/cloud-runtime/standalone/.next/static/chunks/9f236cc9572783b9.js +93 -0
  539. package/cloud-runtime/standalone/.next/static/chunks/a9aaec85125f69b1.js +1 -0
  540. package/cloud-runtime/standalone/.next/static/chunks/b4c29a62f9255268.js +1 -0
  541. package/cloud-runtime/standalone/.next/static/chunks/bf2bb1662353aff5.js +1 -0
  542. package/cloud-runtime/standalone/.next/static/chunks/c1fb885eed94aa8c.js +1 -0
  543. package/cloud-runtime/standalone/.next/static/chunks/c653186036e56204.js +1 -0
  544. package/cloud-runtime/standalone/.next/static/chunks/cb5581d868e78205.js +1 -0
  545. package/cloud-runtime/standalone/.next/static/chunks/cbdeb17a36b99000.js +1 -0
  546. package/cloud-runtime/standalone/.next/static/chunks/d5cc62984dc4205c.js +1 -0
  547. package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +1 -0
  548. package/cloud-runtime/standalone/.next/static/chunks/{8d15ced2dc70090a.js → da2b00558cf32f37.js} +1 -1
  549. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-97e846241a3a64af.js → turbopack-22475f0dd0c18f92.js} +1 -1
  550. package/cloud-runtime/standalone/app/agents/[id]/page.tsx +4 -1
  551. package/cloud-runtime/standalone/app/agents/page.tsx +22 -2
  552. package/cloud-runtime/standalone/app/api/agent-specs/route.ts +4 -0
  553. package/cloud-runtime/standalone/app/api/agents/export/route.ts +4 -0
  554. package/cloud-runtime/standalone/app/api/chat/route.ts +8 -2
  555. package/cloud-runtime/standalone/app/api/filesystem/pick-folder/route.ts +56 -0
  556. package/cloud-runtime/standalone/app/api/participants/route.ts +50 -1
  557. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/cancel/route.ts +44 -0
  558. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +94 -0
  559. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/runs/route.ts +30 -0
  560. package/cloud-runtime/standalone/app/api/prompt-jobs/agents/route.ts +25 -0
  561. package/cloud-runtime/standalone/app/api/prompt-jobs/poll/route.ts +232 -0
  562. package/cloud-runtime/standalone/app/api/prompt-jobs/route.ts +125 -0
  563. package/cloud-runtime/standalone/app/api/skills/assign/route.ts +30 -0
  564. package/cloud-runtime/standalone/app/api/skills/available/route.ts +20 -0
  565. package/cloud-runtime/standalone/app/api/skills/detail/route.ts +23 -0
  566. package/cloud-runtime/standalone/app/api/skills/history/route.ts +18 -0
  567. package/cloud-runtime/standalone/app/api/skills/learn/route.ts +31 -0
  568. package/cloud-runtime/standalone/app/api/skills/route.ts +19 -0
  569. package/cloud-runtime/standalone/app/api/skills/unlearn/route.ts +30 -0
  570. package/cloud-runtime/standalone/app/api/thread-repos/route.ts +30 -0
  571. package/cloud-runtime/standalone/app/automations/page.tsx +15 -3
  572. package/cloud-runtime/standalone/app/execution-graph/page.tsx +2 -2
  573. package/cloud-runtime/standalone/app/globals.css +2 -0
  574. package/cloud-runtime/standalone/app/layout.tsx +1 -1
  575. package/cloud-runtime/standalone/app/projects/[slug]/automations/page.tsx +17 -0
  576. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +3 -2
  577. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +401 -86
  578. package/cloud-runtime/standalone/app/projects/orphans/page.tsx +1 -0
  579. package/cloud-runtime/standalone/app/projects/page.tsx +3 -3
  580. package/cloud-runtime/standalone/app/skills/page.tsx +399 -0
  581. package/cloud-runtime/standalone/components/FloatingPanel.tsx +200 -0
  582. package/cloud-runtime/standalone/components/Layout.tsx +7 -1
  583. package/cloud-runtime/standalone/components/NowRunningPanel.tsx +86 -76
  584. package/cloud-runtime/standalone/components/ProjectModal.tsx +29 -12
  585. package/cloud-runtime/standalone/components/PromptJobBoard.tsx +1434 -0
  586. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +86 -17
  587. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +215 -19
  588. package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +233 -213
  589. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +99 -41
  590. package/cloud-runtime/standalone/db/sqlite/001_agx_board_schema.sql +28 -0
  591. package/cloud-runtime/standalone/db/sqlite/002_prompt_scheduler_schema.sql +45 -0
  592. package/cloud-runtime/standalone/db/sqlite/003_prompt_scheduler_v2.sql +13 -0
  593. package/cloud-runtime/standalone/hooks/useAttachments.ts +2 -1
  594. package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -1
  595. package/cloud-runtime/standalone/hooks/usePromptJobs.ts +111 -0
  596. package/cloud-runtime/standalone/lib/agent-participants.ts +7 -0
  597. package/cloud-runtime/standalone/lib/agent-skill-bindings.ts +118 -0
  598. package/cloud-runtime/standalone/lib/chat/paste-attachments.ts +152 -0
  599. package/cloud-runtime/standalone/lib/db.ts +5 -0
  600. package/cloud-runtime/standalone/lib/history-store.ts +38 -0
  601. package/cloud-runtime/standalone/lib/skills-library.ts +450 -0
  602. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +32 -0
  603. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +59 -11
  604. package/cloud-runtime/standalone/lib/types.ts +10 -0
  605. package/cloud-runtime/standalone/migrations/sqlite_schema.sql +28 -0
  606. package/cloud-runtime/standalone/src/graph/llm-review.ts +19 -2
  607. package/cloud-runtime/standalone/src/prompt-scheduler/cron.ts +46 -0
  608. package/cloud-runtime/standalone/src/prompt-scheduler/engine.ts +87 -0
  609. package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +36 -0
  610. package/cloud-runtime/standalone/src/prompt-scheduler/runner.ts +144 -0
  611. package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +327 -0
  612. package/cloud-runtime/standalone/src/prompt-scheduler/types.ts +82 -0
  613. package/cloud-runtime/standalone/state/floatingPanels.ts +47 -0
  614. package/cloud-runtime/standalone/styles/composer-pills.css +156 -2
  615. package/cloud-runtime/standalone/styles/workspaceSidebar.css +5 -3
  616. package/cloud-runtime/standalone/test/adapters/sqlite.ts +1 -0
  617. package/cloud-runtime/standalone/update_officeapp.js +36 -0
  618. package/cloud-runtime/standalone/update_store.js +47 -0
  619. package/cloud-runtime/standalone/worker/index.js +292 -45
  620. package/package.json +1 -1
  621. package/cloud-runtime/standalone/.next/server/chunks/[externals]__1f4b15dd._.js +0 -3
  622. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +0 -3
  623. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +0 -3
  624. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +0 -3
  625. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +0 -32
  626. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +0 -36
  627. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +0 -146
  628. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +0 -3
  629. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +0 -3
  630. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +0 -3
  631. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +0 -3
  632. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +0 -3
  633. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0061ebd8._.js +0 -3
  634. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +0 -3
  635. package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +0 -3
  636. package/cloud-runtime/standalone/.next/server/chunks/ssr/_54af99c5._.js +0 -3
  637. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/ssr/_84879a01._.js +0 -95
  639. package/cloud-runtime/standalone/.next/server/chunks/ssr/_9eeb2fa0._.js +0 -95
  640. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +0 -3
  641. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1d30b20._.js +0 -95
  642. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c87c359c._.js +0 -95
  643. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ccb409c5._.js +0 -3
  644. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +0 -3
  645. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd31b6e0._.js +0 -3
  646. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +0 -3
  647. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +0 -3
  648. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +0 -3
  649. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js +0 -3
  650. package/cloud-runtime/standalone/.next/static/chunks/010aff7b601302de.js +0 -16
  651. package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +0 -1
  652. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +0 -1
  653. package/cloud-runtime/standalone/.next/static/chunks/09f9eeea393db0fd.js +0 -4
  654. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +0 -1
  655. package/cloud-runtime/standalone/.next/static/chunks/10b0642440302e99.css +0 -2
  656. package/cloud-runtime/standalone/.next/static/chunks/116985039c24f1f8.js +0 -93
  657. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +0 -1
  658. package/cloud-runtime/standalone/.next/static/chunks/3e4e8857f875c964.js +0 -1
  659. package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +0 -6
  660. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +0 -5
  661. package/cloud-runtime/standalone/.next/static/chunks/56a01238098d495d.js +0 -93
  662. package/cloud-runtime/standalone/.next/static/chunks/601996727991149e.js +0 -93
  663. package/cloud-runtime/standalone/.next/static/chunks/651c7c97d3bd77e0.js +0 -28
  664. package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +0 -1
  665. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +0 -1
  666. package/cloud-runtime/standalone/.next/static/chunks/9048e44ed538b21a.js +0 -2
  667. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +0 -1
  668. package/cloud-runtime/standalone/.next/static/chunks/99174504a201d23e.js +0 -28
  669. package/cloud-runtime/standalone/.next/static/chunks/a8e8ef440c4daa5a.css +0 -1
  670. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +0 -1
  671. package/cloud-runtime/standalone/.next/static/chunks/b2dcd19ebe3af3f6.js +0 -93
  672. package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +0 -1
  673. package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +0 -8
  674. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +0 -1
  675. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +0 -1
  676. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +0 -1
  677. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +0 -1
  678. package/cloud-runtime/standalone/agx-board.json +0 -264
  679. package/cloud-runtime/standalone/agx-cli.json +0 -2195
  680. package/cloud-runtime/standalone/fix-primary.js +0 -30
  681. package/cloud-runtime/standalone/fix-theme.js +0 -78
  682. package/cloud-runtime/standalone/test-file +0 -0
  683. package/cloud-runtime/standalone/testfile +0 -0
  684. package/cloud-runtime/standalone/transcri +0 -0
  685. /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_buildManifest.js +0 -0
  686. /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_clientMiddlewareManifest.json +0 -0
  687. /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_ssgManifest.js +0 -0
@@ -1,11 +1,11 @@
1
- module.exports=[61378,e=>{"use strict";var t=e.i(47909),a=e.i(74017),n=e.i(96250),r=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),g=e.i(70101),f=e.i(74838),m=e.i(10372),h=e.i(93695);e.i(52474);var y=e.i(220),w=e.i(84776),I=e.i(42639),S=e.i(26617),v=e.i(60447),$=e.i(90081),b=e.i(62294),k=e.i(33938),R=e.i(77581),E=e.i(49041),C=e.i(97812),x=e.i(68638),A=e.i(4290),_=e.i(42304),j=e.i(57431),T=e.i(12616),D=e.i(91595),P=e.i(12592);async function M(e){let t=(0,j.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function O(e){let t=(0,j.createAdminDbClient)(),{data:a}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...a?.stage_decisions&&"object"==typeof a.stage_decisions?a.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:r}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(r&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",a="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&a.includes("stage_decisions")}(r))throw r}async function L(e){let t=await $.db.getTask(e.taskId,e.userId);if(!t)throw Error(`Task ${e.taskId} not found`);let a=t.stage||null,n=new Date().toISOString(),r={taskId:e.taskId,userId:e.userId,title:t.title||null,slug:t.slug||null,timestamp:n},{frontmatter:i,body:o}=(0,b.parseFrontmatter)(t.content),s=(0,_.resolveMemoryAgentId)({defaultUserId:e.userId,frontmatter:i});i.stage=e.nextStage,i.status=e.nextStatus,e.error?i.error=e.error:"error"in i&&delete i.error;let l=(0,T.buildMarkdownWithFrontmatter)(i,o);await $.db.updateTask(e.taskId,l,e.userId);let d=(0,j.createAdminDbClient)(),{error:c}=await d.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);c?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,c):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await d.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await (0,D.triggerDependentTasks)(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&((0,_.extractAndStoreMemories)(e.taskId,s,{goal:String(t.content||t.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),(0,_.extractAndStoreProjectKnowledge)(e.taskId,t.project_id||t.project,{goal:String(t.content||t.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Project knowledge extraction failed:",e))),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.stage_complete",stage:a,previousStage:a,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:a,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:a}})}async function N(e){await $.db.addTaskLog(e.taskId,e.content,e.logType)}async function U(e){await $.db.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function q(e){let t=await $.db.getTask(e.taskId,e.userId);if(!t)return;let{frontmatter:a,body:n}=(0,b.parseFrontmatter)(t.content),r=(0,_.resolveMemoryAgentId)({defaultUserId:e.userId,frontmatter:a});a.status="failed",a.error=e.reason||"Cancelled";let i=(0,T.buildMarkdownWithFrontmatter)(a,n);await $.db.updateTask(e.taskId,i,e.userId),await $.db.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),(0,_.extractAndStoreMemories)(e.taskId,r,{goal:String(t.content||t.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e)),(0,_.extractAndStoreProjectKnowledge)(e.taskId,t.project_id||t.project,{goal:String(t.content||t.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Project knowledge extraction failed:",e));let o=(0,j.createAdminDbClient)();await o.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,P.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:t.title||null,slug:t.slug||null,stage:t.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:t.stage||null}})}async function z(e){let{taskId:t,userId:a,signal:n,payload:r,ticketType:i="task"}=e.data,o=await $.db.getTask(t,a);if(!o)return void console.log(`[processor] Task ${t} not found, skipping`);if("completed"===o.status||"failed"===o.status)return void console.log(`[processor] Task ${t} is ${o.status}, skipping`);let s=o.stage;switch(n){case"start":await H(t,s,a);break;case"agentResult":await F(t,s,a,r,i,o.retry_count||0,o.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(o.workflow_id)?o.workflow_id:null);break;case"humanInput":await K(t,r);break;case"daemonStep":await J(t,r);break;case"cancel":await W(t,a,r?.reason);break;default:console.warn(`[processor] Unknown signal: ${n}`)}}async function B(e){for(let t of e)try{await z(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function H(e,t,a){console.log(`[processor] Starting task ${e} at stage ${t}`),await M({taskId:e,stage:t,userId:a}),await N({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function F(e,t,a,n,r,i,o=null){let s,l,d;console.log(`[processor] Processing agent result for ${e}: ${n.decision}`),await O({taskId:e,stage:t,decision:n,userId:a});let c=Array.isArray(n.comments)?n.comments.map(e=>String(e||"").trim()).filter(Boolean):[],u=String(n.comment||n.log||n.final_result||"").trim();for(let t of c.length>0?c:u.split("\n").map(e=>e.trim()).filter(Boolean))await U({taskId:e,content:t,authorType:"agent"});let p=null,g=null;if(o){let e=await (0,A.resolveWorkflowTransition)({workflowId:o,currentNodeName:t,decision:n.decision,retryCount:i,maxRetries:3});s=e.nextNodeName,l=e.nextStatus,d=e.retryCount,p=e.error,g=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${s} (workflow: ${o})`)}else{let e=(0,A.resolveStageTransition)({currentStage:t,decision:n.decision,ticketType:r,retryCount:i,maxRetries:3});s=e.nextStage,l=e.nextStatus,d=e.retryCount,p=e.error,g=e.appendLog}if(await L({taskId:e,nextStage:s,nextStatus:l,retryCount:d,error:p?n.explanation||p:null,userId:a}),g){let t="error"===g.logType&&n.explanation||"system"===g.logType&&n.explanation?n.explanation:g.content;await N({taskId:e,content:t,logType:g.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${s}`)}async function K(e,t){console.log(`[processor] Recording human input for ${e}`),await U({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function J(e,t){let a=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",r=t.role?` role=${t.role}`:"",i="number"==typeof t.iteration?` iter=${t.iteration}`:"",o="exit"===t.phase?` exit=${t.exit_code}`:"",s=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
1
+ module.exports=[61378,e=>{"use strict";var t=e.i(47909),a=e.i(74017),n=e.i(96250),r=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),p=e.i(66012),g=e.i(70101),f=e.i(74838),m=e.i(10372),h=e.i(93695);e.i(52474);var y=e.i(220),w=e.i(84776),I=e.i(42639),S=e.i(26617),$=e.i(60447),v=e.i(90081),b=e.i(62294),k=e.i(33938),R=e.i(77581),C=e.i(49041),E=e.i(97812),x=e.i(68638),A=e.i(4290),_=e.i(42304),j=e.i(57431),T=e.i(12616),D=e.i(91595),P=e.i(12592);async function M(e){let t=(0,j.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function O(e){let t=(0,j.createAdminDbClient)(),{data:a}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...a?.stage_decisions&&"object"==typeof a.stage_decisions?a.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:r}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(r&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",a="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&a.includes("stage_decisions")}(r))throw r}async function L(e){let t=await v.db.getTask(e.taskId,e.userId);if(!t)throw Error(`Task ${e.taskId} not found`);let a=t.stage||null,n=new Date().toISOString(),r={taskId:e.taskId,userId:e.userId,title:t.title||null,slug:t.slug||null,timestamp:n},{frontmatter:i,body:o}=(0,b.parseFrontmatter)(t.content),s=(0,_.resolveMemoryAgentId)({defaultUserId:e.userId,frontmatter:i});i.stage=e.nextStage,i.status=e.nextStatus,e.error?i.error=e.error:"error"in i&&delete i.error;let l=(0,T.buildMarkdownWithFrontmatter)(i,o);await v.db.updateTask(e.taskId,l,e.userId);let d=(0,j.createAdminDbClient)(),{error:c}=await d.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);c?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,c):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await d.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await (0,D.triggerDependentTasks)(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&((0,_.extractAndStoreMemories)(e.taskId,s,{goal:String(t.content||t.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),(0,_.extractAndStoreProjectKnowledge)(e.taskId,t.project_id||t.project,{goal:String(t.content||t.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Project knowledge extraction failed:",e))),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.stage_complete",stage:a,previousStage:a,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:a,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,P.notifyTaskEvent)({...r,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:a}})}async function N(e){await v.db.addTaskLog(e.taskId,e.content,e.logType)}async function U(e){await v.db.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function q(e){let t=await v.db.getTask(e.taskId,e.userId);if(!t)return;let{frontmatter:a,body:n}=(0,b.parseFrontmatter)(t.content),r=(0,_.resolveMemoryAgentId)({defaultUserId:e.userId,frontmatter:a});a.status="failed",a.error=e.reason||"Cancelled";let i=(0,T.buildMarkdownWithFrontmatter)(a,n);await v.db.updateTask(e.taskId,i,e.userId),await v.db.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),(0,_.extractAndStoreMemories)(e.taskId,r,{goal:String(t.content||t.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e)),(0,_.extractAndStoreProjectKnowledge)(e.taskId,t.project_id||t.project,{goal:String(t.content||t.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Project knowledge extraction failed:",e));let o=(0,j.createAdminDbClient)();await o.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,P.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:t.title||null,slug:t.slug||null,stage:t.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:t.stage||null}})}async function B(e){let{taskId:t,userId:a,signal:n,payload:r,ticketType:i="task"}=e.data,o=await v.db.getTask(t,a);if(!o)return void console.log(`[processor] Task ${t} not found, skipping`);if("completed"===o.status||"failed"===o.status)return void console.log(`[processor] Task ${t} is ${o.status}, skipping`);let s=o.stage;switch(n){case"start":await F(t,s,a);break;case"agentResult":await H(t,s,a,r,i,o.retry_count||0,o.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(o.workflow_id)?o.workflow_id:null);break;case"humanInput":await K(t,r);break;case"daemonStep":await J(t,r);break;case"cancel":await W(t,a,r?.reason);break;default:console.warn(`[processor] Unknown signal: ${n}`)}}async function z(e){for(let t of e)try{await B(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function F(e,t,a){console.log(`[processor] Starting task ${e} at stage ${t}`),await M({taskId:e,stage:t,userId:a}),await N({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function H(e,t,a,n,r,i,o=null){let s,l,d;console.log(`[processor] Processing agent result for ${e}: ${n.decision}`),await O({taskId:e,stage:t,decision:n,userId:a});let c=Array.isArray(n.comments)?n.comments.map(e=>String(e||"").trim()).filter(Boolean):[],u=String(n.comment||n.log||n.final_result||"").trim();for(let t of c.length>0?c:u.split("\n").map(e=>e.trim()).filter(Boolean))await U({taskId:e,content:t,authorType:"agent"});let p=null,g=null;if(o){let e=await (0,A.resolveWorkflowTransition)({workflowId:o,currentNodeName:t,decision:n.decision,retryCount:i,maxRetries:3});s=e.nextNodeName,l=e.nextStatus,d=e.retryCount,p=e.error,g=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${s} (workflow: ${o})`)}else{let e=(0,A.resolveStageTransition)({currentStage:t,decision:n.decision,ticketType:r,retryCount:i,maxRetries:3});s=e.nextStage,l=e.nextStatus,d=e.retryCount,p=e.error,g=e.appendLog}if(await L({taskId:e,nextStage:s,nextStatus:l,retryCount:d,error:p?n.explanation||p:null,userId:a}),g){let t="error"===g.logType&&n.explanation||"system"===g.logType&&n.explanation?n.explanation:g.content;await N({taskId:e,content:t,logType:g.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${s}`)}async function K(e,t){console.log(`[processor] Recording human input for ${e}`),await U({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function J(e,t){let a=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",r=t.role?` role=${t.role}`:"",i="number"==typeof t.iteration?` iter=${t.iteration}`:"",o="exit"===t.phase?` exit=${t.exit_code}`:"",s=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
2
2
  stdout_tail:
3
3
  ${t.stdout_tail}`:"",c=t.stderr_tail?`
4
4
  stderr_tail:
5
5
  ${t.stderr_tail}`:"",u=`[execution/${t.kind||"daemon"}] ${t.phase||"event"} ${t.label||""}${a}${n}${r}${i}${o}${s}`.trim()+(l?`
6
6
  args: ${l}`:"")+(t.duration_ms?`
7
- duration_ms: ${t.duration_ms}`:"")+d+c;await N({taskId:e,content:u,logType:"system"})}async function W(e,t,a){console.log(`[processor] Cancelling task ${e}: ${a||"No reason"}`),await q({taskId:e,reason:a,userId:t})}var Q=e.i(24868),V=e.i(14350),Y=e.i(87885);let G=new Set(["ack","working","done","clarify","blocked"]),Z=/\[reaction\s+([^\]]+)\]/gi,X=/([a-zA-Z][a-zA-Z0-9_]*)=(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)'|([^\s\]]*?(?=\s|]|[a-zA-Z][a-zA-Z0-9_]*=|$)))/g;var ee=e.i(36528),et=e.i(59448),ea=e.i(41334),en=e.i(22734),er=e.i(14747),ei=e.i(46786),eo=e.i(92134);let es=(0,er.join)((0,ei.homedir)(),".agx","agents");var el=e.i(40813),ed=e.i(54799);let ec=new Map,eu=new Map;function ep(e){return null!==e}function eg(e,t){var a;(0,ea.ensureAgent)(e.id,{voice:`${e.name} style`,seed:(a=e.name,!String(t||"").trim(),`I am ${a}. I evolve through experience and collaboration.`)})}async function ef(e){eg(e);let t=(0,ea.readIdentity)(e.id);if(!t)return;let a=(0,ee.readSelf)(e.id),n=(0,ee.readReflectionState)(e.id),r=(0,et.readJournalSince)(e.id,n?.lastProcessedJournalId).filter(e=>"post"===e.type);if(0===r.length)return;let i=(0,ea.getTeamSelves)(e.id),o=(a?.version??0)+1,s=(0,el.listKnowledgeEntries)({scope:"agent",subjectId:e.id,limit:50}),l=(0,ee.buildStructuredReflectionPrompt)(t,a,r,i,s),d="";await (0,V.runCliResponse)({provider:e.provider,model:e.model,systemContext:"You are performing a self-modeling exercise. Output ONLY raw JSON matching the requested schema. No markdown fences, no commentary.",prompt:l,signal:void 0,onDelta:e=>{d+=e}});let c=d.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim(),u=null;try{u=JSON.parse(c)}catch{u=null}let p=u?.self_model?.trim()||"";if(!p)return;let g=Array.isArray(u?.memories)?u.memories.slice(0,3).map(t=>({scope:"agent",subjectId:e.id,sourceType:"reflection",sourceId:r[r.length-1]?.id||`reflection:${e.id}:${o}`,kind:t.kind,title:String(t.title??"").trim(),body:String(t.body??"").trim(),confidence:t.confidence,durability:t.durability,tags:t.tags,evidence:Array.isArray(t.evidence)?t.evidence.map(e=>{let t=String(e?.note??"").trim(),a="string"==typeof e?.id?e.id.trim():"";return t?a?{id:a,note:t}:{note:t}:null}).filter(ep):[],metadata:{reflection_window_start:r[0]?.id??null,reflection_window_end:r[r.length-1]?.id??null,self_version:o}})).filter(e=>e.title&&e.body):[],f=(0,el.storeKnowledgeEntries)(g);if((0,ee.writeSelf)(e.id,p,o),(0,ee.writeReflectionState)(e.id,{lastProcessedJournalId:r[r.length-1]?.id??n?.lastProcessedJournalId??null,updatedAt:new Date().toISOString()}),f>0){let t=(0,v.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
8
- VALUES (?, ?, ?, ?, ?, ?, ?)`),a=`reflection:${e.id}:${r[r.length-1]?.id??o}`,n=Date.now();for(let r of g){let i="decision"===r.kind?"decision":"gotcha"===r.kind||"constraint"===r.kind?"gotcha":"outcome"===r.kind?"outcome":"pattern",o=(0,ed.createHash)("sha256").update(r.body.trim()).digest("hex");t.run((0,ed.randomUUID)(),e.id,a,i,r.body.trim(),o,n)}}(0,et.appendJournal)(e.id,{t:new Date().toISOString(),type:"reflection",observation:"Reflected after 10 messages",judgement:"Updated self-model from incremental journal evidence and deduped agent memories",delta:`self-model updated to v${o}${f>0?`; stored ${f} agent memories`:""}`,threads:[],selfVersion:o,body:p});let m=(0,ea.listAgents)().filter(t=>t!==e.id).flatMap(e=>(0,et.readJournal)(e,3).map(t=>({agentId:e,entry:t})));if(m.length>0){let t=m.map(e=>`${e.entry.id}: ${e.entry.observation.slice(0,200)}`).join("\n"),a="";try{await (0,V.runCliResponse)({provider:e.provider,model:e.model,prompt:`You are ${e.id}. Review these recent entries from other agents and react to any that resonate with you.
7
+ duration_ms: ${t.duration_ms}`:"")+d+c;await N({taskId:e,content:u,logType:"system"})}async function W(e,t,a){console.log(`[processor] Cancelling task ${e}: ${a||"No reason"}`),await q({taskId:e,reason:a,userId:t})}var Q=e.i(24868),V=e.i(14350),Y=e.i(87885);let G=new Set(["ack","working","done","clarify","blocked"]),Z=/\[reaction\s+([^\]]+)\]/gi,X=/([a-zA-Z][a-zA-Z0-9_]*)=(?:"((?:[^"\\]|\\.)*)"|'((?:[^'\\]|\\.)*)'|([^\s\]]*?(?=\s|]|[a-zA-Z][a-zA-Z0-9_]*=|$)))/g;var ee=e.i(36528),et=e.i(59448),ea=e.i(41334),en=e.i(22734),er=e.i(14747),ei=e.i(46786),eo=e.i(92134);let es=(0,er.join)((0,ei.homedir)(),".agx","agents");var el=e.i(40813),ed=e.i(49953),ec=e.i(54799);let eu=new Map,ep=new Map;function eg(e){return null!==e}let ef="I evolve through experience and collaboration.";function em(e,t){let a=e.replace(/\s+/g," ").trim();if(!a)return`I am ${t}. ${ef}`;let n=a.replace(/^you are\b[^.!?\n]*[.!?]?\s*/i,`I am ${t}. `);return(/^i am\b/i.test(n)?n:`I am ${t}. ${n}`).slice(0,500).trim()}function eh(e,t){(0,ea.ensureAgent)(e.id,{voice:e.voice?.trim()||`${e.name} style`,seed:function(e,t,a){let n=String(a||"").trim();if(n)return em(n,t);let r=String(e||"").trim();return r?em(r,t):`I am ${t}. ${ef}`}(t,e.name,e.seed)})}async function ey(e){eh(e);let t=(0,ea.readIdentity)(e.id);if(!t)return;let a=(0,ee.readSelf)(e.id),n=(0,ee.readReflectionState)(e.id),r=(0,et.readJournalSince)(e.id,n?.lastProcessedJournalId).filter(e=>"post"===e.type);if(0===r.length)return;let i=(0,ea.getTeamSelves)(e.id),o=(a?.version??0)+1,s=(0,el.listKnowledgeEntries)({scope:"agent",subjectId:e.id,limit:50}),l=(0,ee.buildStructuredReflectionPrompt)(t,a,r,i,s),d="";await (0,V.runCliResponse)({provider:e.provider,model:e.model,systemContext:"You are performing a self-modeling exercise. Output ONLY raw JSON matching the requested schema. No markdown fences, no commentary.",prompt:l,signal:void 0,onDelta:e=>{d+=e}});let c=d.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim(),u=null;try{u=JSON.parse(c)}catch{u=null}let p=u?.self_model?.trim()||"";if(!p)return;let g=Array.isArray(u?.memories)?u.memories.slice(0,3).map(t=>({scope:"agent",subjectId:e.id,sourceType:"reflection",sourceId:r[r.length-1]?.id||`reflection:${e.id}:${o}`,kind:t.kind,title:String(t.title??"").trim(),body:String(t.body??"").trim(),confidence:t.confidence,durability:t.durability,tags:t.tags,evidence:Array.isArray(t.evidence)?t.evidence.map(e=>{let t=String(e?.note??"").trim(),a="string"==typeof e?.id?e.id.trim():"";return t?a?{id:a,note:t}:{note:t}:null}).filter(eg):[],metadata:{reflection_window_start:r[0]?.id??null,reflection_window_end:r[r.length-1]?.id??null,self_version:o}})).filter(e=>e.title&&e.body):[],f=(0,el.storeKnowledgeEntries)(g);if((0,ee.writeSelf)(e.id,p,o),(0,ee.writeReflectionState)(e.id,{lastProcessedJournalId:r[r.length-1]?.id??n?.lastProcessedJournalId??null,updatedAt:new Date().toISOString()}),f>0){let t=(0,$.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
8
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),a=`reflection:${e.id}:${r[r.length-1]?.id??o}`,n=Date.now();for(let r of g){let i="decision"===r.kind?"decision":"gotcha"===r.kind||"constraint"===r.kind?"gotcha":"outcome"===r.kind?"outcome":"pattern",o=(0,ec.createHash)("sha256").update(r.body.trim()).digest("hex");t.run((0,ec.randomUUID)(),e.id,a,i,r.body.trim(),o,n)}}(0,et.appendJournal)(e.id,{t:new Date().toISOString(),type:"reflection",observation:"Reflected after 10 messages",judgement:"Updated self-model from incremental journal evidence and deduped agent memories",delta:`self-model updated to v${o}${f>0?`; stored ${f} agent memories`:""}`,threads:[],selfVersion:o,body:p});let m=(0,ea.listAgents)().filter(t=>t!==e.id).flatMap(e=>(0,et.readJournal)(e,3).map(t=>({agentId:e,entry:t})));if(m.length>0){let t=m.map(e=>`${e.entry.id}: ${e.entry.observation.slice(0,200)}`).join("\n"),a="";try{await (0,V.runCliResponse)({provider:e.provider,model:e.model,prompt:`You are ${e.id}. Review these recent entries from other agents and react to any that resonate with you.
9
9
 
10
10
  Entries:
11
11
  ${t}
@@ -15,12 +15,12 @@ REACT <entryId> <type>
15
15
 
16
16
  Valid types: agree, disagree, learned-from, builds-on, curious
17
17
 
18
- Only react to entries that genuinely resonate. It's fine to react to zero entries. Output nothing else.`,signal:void 0,onDelta:e=>{a+=e}})}catch{}for(let t of a.split("\n")){let a=t.trim().match(/^REACT\s+(\S+)\s+(agree|disagree|learned-from|builds-on|curious)$/);if(a)try{!function(e,t,a){let n;if(!function(e){let[t]=e.split(":");return!!t&&(0,et.readJournal)(t).some(t=>t.id===e)}(t))throw Error(`Target entry ${t} not found`);n=(0,er.join)(es,e),(0,en.existsSync)(n)||(0,en.mkdirSync)(n,{recursive:!0});let r={agent:e,t:new Date().toISOString(),targetEntry:t,type:a};(0,en.appendFileSync)((0,er.join)(es,e,"reactions.jsonl"),JSON.stringify(r)+"\n","utf-8"),(0,eo.logActivity)(e,"mesh-reaction",{meta:{target:t,type:a}})}(e.id,a[1],a[2])}catch{}}}}async function em(e){try{return await (0,Q.readFile)(e,"utf-8")}catch(a){let t=a instanceof Error?a.message:String(a);return`[Error reading ${e}: ${t}]`}}async function eh(e){let t=e.trim();if(!t)return{label:"unknown",content:"[Empty file reference]"};let a=function(e){let t=e.trim();if(!t)return null;let a=t.match(/^attachment:([a-zA-Z0-9-]+)$/);if(a)return a[1];let n=t.match(/\/api\/attachments\/([a-zA-Z0-9-]+)/);return n?n[1]:t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t:null}(t);if(a){let e=await (0,S.getAttachmentMeta)(a);if(e){let t=await em(e.diskPath);return{label:e.filename,content:t}}}return{label:t,content:await em(t)}}function ey(e,t){let a=new Set(e.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean)),n=new Set(t.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean));if(0===a.size||0===n.size)return 0;let r=0;for(let e of a)n.has(e)&&r++;return r/(a.size+n.size-r)}async function ew(e,t,a,n,r,i,o,s,l,d,c,u,p,g){let f,m,h,y,w,S,$="";u({type:"participant-thinking",participantId:t.id});let b=Object.fromEntries((d?.provenanceByAgentId?.[t.id]?.variables??d?.variables??[]).map(e=>[e.key,e.value])),k=e=>Object.keys(b).length>0?e.replace(/\{\{(\w+)\}\}/g,(e,t)=>b[t]??`{{${t}}}`):e,R=t.identity?k(t.identity):t.identity;eg(t,R);let E=(0,ee.readSelf)(t.id);E?.content&&(y=`[Self-Model]
19
- ${E.content}`);let C=d?.provenanceByAgentId?.[t.id],x=C?.memory??[];if(x.length>0){let e=x.map(e=>`- (${e.source}) ${e.content}`);y=[y,`[Knowledge: Agent Derived]
20
- ${e.join("\n")}`].filter(Boolean).join("\n\n")}let A=function(e,t){let a=t?.provenanceByAgentId?.[e.id]?.skills;if(a&&a.length>0)return a;let n=[],r=new Set;for(let t of e.skills??[]){let e=t.file.split("/").pop()||t.file;r.has(e)||(r.add(e),n.push({file:t.file,condition:t.condition,source:"agent"}))}for(let e of t?.skills??[]){let t=e.file.split("/").pop()||e.file;r.has(t)||(r.add(t),n.push({file:e.file,condition:e.condition,source:"project"}))}return n}(t,d);if(A.length>0){let e=await Promise.all(A.map(async e=>{let t=k(e.file),a=e.condition?k(e.condition):e.condition,n=await eh(t),r=a?`--- ${n.label} [${e.source}] ---
18
+ Only react to entries that genuinely resonate. It's fine to react to zero entries. Output nothing else.`,signal:void 0,onDelta:e=>{a+=e}})}catch{}for(let t of a.split("\n")){let a=t.trim().match(/^REACT\s+(\S+)\s+(agree|disagree|learned-from|builds-on|curious)$/);if(a)try{!function(e,t,a){let n;if(!function(e){let[t]=e.split(":");return!!t&&(0,et.readJournal)(t).some(t=>t.id===e)}(t))throw Error(`Target entry ${t} not found`);n=(0,er.join)(es,e),(0,en.existsSync)(n)||(0,en.mkdirSync)(n,{recursive:!0});let r={agent:e,t:new Date().toISOString(),targetEntry:t,type:a};(0,en.appendFileSync)((0,er.join)(es,e,"reactions.jsonl"),JSON.stringify(r)+"\n","utf-8"),(0,eo.logActivity)(e,"mesh-reaction",{meta:{target:t,type:a}})}(e.id,a[1],a[2])}catch{}}}}async function ew(e){try{return await (0,Q.readFile)(e,"utf-8")}catch(a){let t=a instanceof Error?a.message:String(a);return`[Error reading ${e}: ${t}]`}}async function eI(e){let t=e.trim();if(!t)return{label:"unknown",content:"[Empty file reference]"};let a=function(e){let t=e.trim();if(!t)return null;let a=t.match(/^attachment:([a-zA-Z0-9-]+)$/);if(a)return a[1];let n=t.match(/\/api\/attachments\/([a-zA-Z0-9-]+)/);return n?n[1]:t.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t:null}(t);if(a){let e=await (0,S.getAttachmentMeta)(a);if(e){let t=await ew(e.diskPath);return{label:e.filename,content:t}}}return{label:t,content:await ew(t)}}function eS(e,t){let a=new Set(e.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean)),n=new Set(t.toLowerCase().replace(/[^\w\s]/g,"").split(/\s+/).filter(Boolean));if(0===a.size||0===n.size)return 0;let r=0;for(let e of a)n.has(e)&&r++;return r/(a.size+n.size-r)}async function e$(e,t,a,n,r,i,o,s,l,d,c,u,p,g){var f;let m,h,y,w,S,v,b,k="";u({type:"participant-thinking",participantId:t.id});let R=Object.fromEntries((d?.provenanceByAgentId?.[t.id]?.variables??d?.variables??[]).map(e=>[e.key,e.value])),C=e=>Object.keys(R).length>0?e.replace(/\{\{(\w+)\}\}/g,(e,t)=>R[t]??`{{${t}}}`):e,E=t.identity?C(t.identity):t.identity,x=t.seed?C(t.seed):t.seed,A=(f={...t,identity:E,seed:x},(m=[String(E??f.identity??"").trim(),f.voice?.trim()?`Voice: ${f.voice.trim()}`:"",f.seed?.trim()?`Core orientation: ${f.seed.trim()}`:""].filter(Boolean)).length>0?m.join("\n\n"):void 0);eh({...t,seed:x},A);let _=(0,ee.readSelf)(t.id);_?.content&&(S=`[Self-Model]
19
+ ${_.content}`);let j=d?.provenanceByAgentId?.[t.id],T=j?.memory??[];if(T.length>0){let e=T.map(e=>`- (${e.source}) ${e.content}`);S=[S,`[Knowledge: Agent Derived]
20
+ ${e.join("\n")}`].filter(Boolean).join("\n\n")}let D=function(e,t,a){let n=t?.provenanceByAgentId?.[e.id]?.skills;if(n&&n.length>0)return n;let r=[],i=new Set;for(let t of e.skills??[]){let e=t.file.split("/").pop()||t.file;i.has(e)||(i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"}))}for(let t of(0,ed.resolveBoundSkillFiles)(e.skillBindings??[],a,e.provider)){let e=t.file.split("/").pop()||t.file;i.has(e)||(i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"}))}for(let e of t?.skills??[]){let t=e.file.split("/").pop()||e.file;i.has(t)||(i.add(t),r.push({file:e.file,condition:e.condition,source:"project"}))}return r}(t,d,r);if(D.length>0){let e=await Promise.all(D.map(async e=>{let t=C(e.file),a=e.condition?C(e.condition):e.condition,n=await eI(t),r=a?`--- ${n.label} [${e.source}] ---
21
21
  Use when: ${a}`:`--- ${n.label} [${e.source}] ---`;return`${r}
22
- ${n.content}`}));w=`[Knowledge References]
23
- ${e.join("\n\n")}`}let _=[function(e,t,a,n,r,i,o,s){let l=a.filter(t=>t.id!==e.id).map(e=>e.name).join(", "),d=t.map(e=>e.name).join(", "),c=t.find(t=>t.id!==e.id)?.name||"Name",u=`<role>
22
+ ${n.content}`}));v=`[Knowledge References]
23
+ ${e.join("\n\n")}`}let P=[function(e,t,a,n,r,i,o,s){let l=a.filter(t=>t.id!==e.id).map(e=>e.name).join(", "),d=t.map(e=>e.name).join(", "),c=t.find(t=>t.id!==e.id)?.name||"Name",u=`<role>
24
24
  You are "${e.name}" in a group chat. All agents: ${d}.`;l&&(u+=` Currently active in this exchange: ${l}.`),u+=`
25
25
  Respond as ${e.name} only. Keep responses conversational and concise.
26
26
  IMPORTANT: Always respond to the user's actual question. Do not reference unrelated technical context, previous threads, or system internals unless directly asked.
@@ -87,26 +87,26 @@ Project knowledge notes:`,a))u+=`
87
87
  - ${e.content}${e.source?` (source: ${e.source})`:""}`;let n=s?.repoKnowledge;if(n&&n.length>0)for(let e of(u+=`
88
88
  Repo knowledge:`,n)){let t=e.path?`${e.repoName} (${e.path})`:e.repoName;u+=`
89
89
  - ${t}: ${e.content}`}u+=`
90
- </project-context>`}return u}(t,a,n,i,o,s,l,d),C?`<execution-provenance>
91
- Resolved skills: ${C.skills.map(e=>`${e.file} (${e.source})`).join(", ")||"none"}
92
- Resolved variables: ${C.variables.map(e=>`${e.key} (${e.source})`).join(", ")||"none"}
93
- Resolved memory entries: ${C.memory.map(e=>`${e.source}${e.id?`:${e.id}`:""}`).join(", ")||"none"}
90
+ </project-context>`}return u}(t,a,n,i,o,s,l,d),j?`<execution-provenance>
91
+ Resolved skills: ${j.skills.map(e=>`${e.file} (${e.source})`).join(", ")||"none"}
92
+ Resolved variables: ${j.variables.map(e=>`${e.key} (${e.source})`).join(", ")||"none"}
93
+ Resolved memory entries: ${j.memory.map(e=>`${e.source}${e.id?`:${e.id}`:""}`).join(", ")||"none"}
94
94
  </execution-provenance>`:null].filter(Boolean).join("\n\n");u({type:"log",participantId:t.id,stream:"stdout",line:`[DIAGNOSTIC] Model payload for ${t.id}:
95
- ${JSON.stringify({provider:t.provider,model:t.model,promptLength:r.length,identity:R?R.slice(0,200)+"...":void 0,self:y?y.slice(0,200)+"...":void 0,skills:w?w.slice(0,200)+"...":void 0,provenance:C,systemContext:_.slice(0,500)+"..."},null,2)}`});let j=`${t.id}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,T=(0,Y.register)({workspaceId:e,threadId:p||"",agentId:t.id,pid:0,state:"spawning",sinceMessageId:l||"",responseMessageId:j,startedAt:Date.now(),lastActivity:Date.now(),projectSlug:d?.activeProject?.slug||""});g?.(T);let D=null;try{await (0,V.runCliResponse)({provider:t.provider,model:t.model,prompt:r,identity:R,self:y,skills:w,systemContext:_,signal:c,onSpawn:a=>{D=a,(0,Y.update)(e,t.id,{pid:a,state:"running",lastActivity:Date.now()})},onLog:(e,a)=>{u({type:"log",participantId:t.id,stream:e,line:a})},onDelta:a=>{$+=a,(0,Y.update)(e,t.id,{lastActivity:Date.now()})}}),(0,Y.update)(e,t.id,{state:"done",lastActivity:Date.now()})}catch(r){let a=r instanceof Error?r.message:String(r),n=c?.aborted;(0,Y.update)(e,t.id,{state:n?"killed":"error",lastActivity:Date.now()}),(0,eo.logActivity)(t.id,"error",{thread:p||e,error:a}),u({type:"participant-error",participantId:t.id,error:a})}finally{}let P=(f=[],m=[],h=$.replace(Z,(e,t)=>{let a=function(e){let t=new Map;for(X.lastIndex=0;;){let a=X.exec(e);if(!a)break;let n=a[1].toLowerCase(),r=a[2],i=a[3],o=a[4],s=(r??i??o??"").replace(/\\(["'\\])/g,"$1").trim();t.set(n,s)}return t}(String(t)),n=(a.get("target")||"").trim(),r=(a.get("type")||"").trim().toLowerCase(),i=(a.get("reason")||"").trim(),o=(a.get("blockercode")||a.get("blocker_code")||"").trim();return n?G.has(r)?"clarify"!==r&&"blocked"!==r||i?f.push({raw:e,target:n,type:r,reason:i||void 0,blockerCode:"blocked"===r&&o||void 0}):m.push({raw:e,error:`"${r}" requires reason`}):m.push({raw:e,error:`Invalid type: ${r||"(empty)"}`}):m.push({raw:e,error:"Missing target"}),""}).replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim(),{signals:f,invalid:m,cleanedText:h});for(let e of P.invalid)u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] ignored ${e.raw}: ${e.error}`});for(let a of P.signals)try{let n=await (0,I.setReaction)({threadId:e,messageId:a.target,participantId:t.id,type:a.type,reason:a.reason,blockerCode:a.blockerCode,hostPid:D,responseMessageId:j});u({type:"message-reactions",messageId:a.target,reactions:n.reactions})}catch(n){let e=n instanceof Error?n.message:String(n);u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] failed ${a.raw}: ${e}`})}let M=P.cleanedText.trim();if("[SKIP]"===M)return(0,eo.logActivity)(t.id,"skip",{thread:p||e}),u({type:"participant-end",participantId:t.id}),{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:T};let O=function(e,t){let a=e;for(let e of(a=a.replace(/@@all/gi,"@all"),t))a=(a=a.replace(RegExp(`@@${e.name}`,"gi"),`@${e.name}`)).replace(RegExp(`@@${e.id}`,"gi"),`@${e.id}`);return a}(M,a);if(O)try{await (0,I.saveMessages)(e,[{id:j,role:"assistant",participantId:t.id,content:O,timestamp:Date.now(),rootMessageId:p||null,parentMessageId:p||null,depth:+!!p}]),S=j}catch(a){let e=a instanceof Error?a.message:String(a);u({type:"log",participantId:t.id,stream:"stderr",line:`[history] failed to save assistant message: ${e}`})}if(O&&O.length>20)try{let a,n,r,i,o,s,l,d,c,u,g,f,m,h;eg(t,R);let y=(o=(i=O.trim()).slice(0,120).replace(/\n/g," "),s=/\?/.test(i),l=i.match(/@\w+/g)||[],d=/\b(should|need to|must|plan|steps?|implement|fix|verify|ship|next|start)\b/i.test(i),c=/\b(maybe|might|could|unsure|not sure|unclear)\b/i.test(i),u=/\b(i will|i'll|i can|i'm going to|starting|checking|verified|fixed|done|shipped)\b/i.test(i),g=/```/.test(i)||/\bfunction\b|\bconst\b|\binterface\b/i.test(i),f=/\|.*\|.*\|/.test(i)||/^#{1,3}\s/m.test(i),m=/\b(finding|issue|bug|problem|missing|broken|wrong)\b/i.test(i),a=g&&f?`Observed a structured technical response with code or implementation detail — "${o}..."`:g?`Observed code-centric output — "${o}..."`:f?`Observed structured analysis or specification language — "${o}..."`:m?`Observed review or issue-spotting behavior — "${o}..."`:u?`Observed a concrete commitment to action — "${o}..."`:d?`Observed direction-setting or next-step guidance — "${o}..."`:s?`Observed clarifying or exploratory questioning — "${o}..."`:c?`Observed explicit uncertainty or caveating — "${o}..."`:l.length>0?`Observed coordination with ${l.join(", ")} — "${o}..."`:`Observed a general perspective contribution — "${o}..."`,h=[],(g||f)&&h.push("technical depth"),(d||u)&&h.push("execution bias"),s&&h.push("inquiry instinct"),m&&h.push("critical eye"),l.length>0&&h.push("team coordination"),c&&h.push("intellectual honesty"),n=h.length>0?`Candidate specialization signals: ${h.join(" + ")}. Treat as suggestive evidence, not settled identity.`:"Low-signal contribution for specialization; keep as weak evidence only.",d||u?r="Follow through on the action I just committed to.":m?r="Verify the issues I flagged get addressed.":s&&(r="Wait for the answer before moving forward."),{judgement:a,delta:n,intent:r});(0,et.appendJournal)(t.id,{t:new Date().toISOString(),type:"post",thread:p||e,observation:"Responded to thread",judgement:y.judgement,delta:y.delta,intent:y.intent})}catch{}if(O){let e;eg(t,R);let a=(ec.get(t.id)||0)+1;ec.set(t.id,a),a%10==0&&(e=(eu.get(t.id)??Promise.resolve()).catch(()=>{}).then(()=>ef(t)),eu.set(t.id,e),e.finally(()=>{eu.get(t.id)===e&&eu.delete(t.id)})).catch(()=>{})}let{ids:L,parallel:N}=O?function(e,t){let a=new Set,n=new Set,r=e.toLowerCase(),i=r.includes("@@all");if(r.includes("@all")||i){for(let e of t)a.add(e.id),i&&n.add(e.id);return{ids:a,parallel:n}}try{let e=(0,v.getSQLiteDb)();for(let t of e.prepare("SELECT id, name, slug FROM projects").all()){let i=t.name.toLowerCase(),o=t.slug.toLowerCase(),s=r.includes(`@@${i}`)||r.includes(`@@${o}`),l=r.includes(`@${i}`)||r.includes(`@${o}`);if(s||l)for(let r of e.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC").all(t.id))a.add(r.agent_id),s&&n.add(r.agent_id)}}catch{}for(let e of t){let t=e.id.toLowerCase(),i=e.name.toLowerCase(),o=r.includes(`@@${t}`),s=r.includes(`@@${i}`),l=r.includes(`@${t}`),d=r.includes(`@${i}`);(o||s||l||d)&&(a.add(e.id),(o||s)&&n.add(e.id))}return{ids:a,parallel:n}}(O,a):{ids:new Set,parallel:new Set};if(L.delete(t.id),N.delete(t.id),O){let a=P.signals.map(e=>e.type);(0,eo.logActivity)(t.id,"message",{thread:p||e,messageId:S,response:O,prompt:r,mentions:L.size>0?[...L]:void 0,reactions:a.length>0?a:void 0})}return(u({type:"participant-end",participantId:t.id,messageId:S,content:O||void 0}),O)?{skipped:!1,response:O,mentions:L,parallel:N.size>0,parallelIds:N,messageId:S,agentProcessId:T}:{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:T}}async function eI(e){return(0,I.getChatRun)(e)}async function eS(e){return(0,I.updateChatRun)(e)}async function ev(e){let t=await (0,I.listChatRunSteps)(e.chatRunId);return(0,I.appendChatRunStep)({id:crypto.randomUUID(),chatRunId:e.chatRunId,stepIndex:t.length+1,kind:e.kind,status:e.status,participantId:e.participantId,inputPayload:e.inputPayload,outputPayload:e.outputPayload})}async function e$(e){return(0,I.updateChatRunStep)({id:e.stepId,status:e.status,outputPayload:e.outputPayload,completedAt:Date.now()})}var eb=e.i(37269);async function ek(e){var t;(0,eb.writeDebugLog)("chat-processor.start.received",{jobId:e.id,chatRunId:e.data.chatRunId,signal:e.data.signal});let a=await eI(e.data.chatRunId);if(!a){(0,eb.writeDebugLog)("chat-processor.start.missing",{chatRunId:e.data.chatRunId,jobId:e.id}),console.warn(`[chat-processor] Chat run ${e.data.chatRunId} not found, skipping`);return}if("completed"===a.status||"failed"===a.status||"cancelled"===a.status)return void(0,eb.writeDebugLog)("chat-processor.start.skip_terminal",{chatRunId:a.id,status:a.status});if(!((t=a.payload)&&"object"==typeof t&&"string"==typeof t.threadId&&"string"==typeof t.prompt&&Array.isArray(t.participantIds))){(0,eb.writeDebugLog)("chat-processor.start.invalid_payload",{chatRunId:a.id}),await eS({id:a.id,status:"failed",lastError:"Chat run payload is missing or invalid",completedAt:Date.now()});return}let n=await ev({chatRunId:a.id,kind:"model_turn",status:"running",inputPayload:{participantIds:a.payload.participantIds,rootMessageId:a.payload.rootMessageId,maxRounds:a.payload.maxRounds}});await eS({id:a.id,status:"running",currentStep:n.stepIndex,stepsUsed:n.stepIndex,lastError:null});try{(0,eb.writeDebugLog)("chat-processor.start.running",{chatRunId:a.id,threadId:a.threadId,rootMessageId:a.rootMessageId,participantIds:a.payload.participantIds});let e=await (0,w.loadDbParticipants)(),t=new Set(a.payload.participantIds),r=a.payload.participantIds.map(t=>e.find(e=>e.id===t)).filter(e=>!!e);if(0===r.length)throw(0,eb.writeDebugLog)("chat-processor.start.no_participants_resolved",{chatRunId:a.id,participantIds:a.payload.participantIds}),Error("No participants resolved for chat run");let i=new Set(a.payload.mentionedIds.filter(e=>t.has(e))),o=new Set(a.payload.initialParallelIds.filter(e=>t.has(e))),s=(function({threadId:e,allParticipants:t,mentioned:a,initialParallelIds:n,prompt:r,projectContext:i,signal:o,maxRounds:s,recentHistory:l,currentUserMessageId:d,rootMessageId:c}){let u=new TextEncoder;return new ReadableStream({async start(p){let g=[],f=new Map,m=e=>{try{p.enqueue(u.encode(`data: ${JSON.stringify(e)}
95
+ ${JSON.stringify({provider:t.provider,model:t.model,promptLength:r.length,identity:A?A.slice(0,200)+"...":void 0,self:S?S.slice(0,200)+"...":void 0,skills:v?v.slice(0,200)+"...":void 0,provenance:j,systemContext:P.slice(0,500)+"..."},null,2)}`});let M=`${t.id}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,O=(0,Y.register)({workspaceId:e,threadId:p||"",agentId:t.id,pid:0,state:"spawning",sinceMessageId:l||"",responseMessageId:M,startedAt:Date.now(),lastActivity:Date.now(),projectSlug:d?.activeProject?.slug||""});g?.(O);let L=null;try{await (0,V.runCliResponse)({provider:t.provider,model:t.model,prompt:r,identity:A,self:S,skills:v,systemContext:P,signal:c,onSpawn:a=>{L=a,(0,Y.update)(e,t.id,{pid:a,state:"running",lastActivity:Date.now()})},onLog:(e,a)=>{u({type:"log",participantId:t.id,stream:e,line:a})},onDelta:a=>{k+=a,(0,Y.update)(e,t.id,{lastActivity:Date.now()})}}),(0,Y.update)(e,t.id,{state:"done",lastActivity:Date.now()})}catch(r){let a=r instanceof Error?r.message:String(r),n=c?.aborted;(0,Y.update)(e,t.id,{state:n?"killed":"error",lastActivity:Date.now()}),(0,eo.logActivity)(t.id,"error",{thread:p||e,error:a}),u({type:"participant-error",participantId:t.id,error:a})}finally{}let N=(h=[],y=[],w=k.replace(Z,(e,t)=>{let a=function(e){let t=new Map;for(X.lastIndex=0;;){let a=X.exec(e);if(!a)break;let n=a[1].toLowerCase(),r=a[2],i=a[3],o=a[4],s=(r??i??o??"").replace(/\\(["'\\])/g,"$1").trim();t.set(n,s)}return t}(String(t)),n=(a.get("target")||"").trim(),r=(a.get("type")||"").trim().toLowerCase(),i=(a.get("reason")||"").trim(),o=(a.get("blockercode")||a.get("blocker_code")||"").trim();return n?G.has(r)?"clarify"!==r&&"blocked"!==r||i?h.push({raw:e,target:n,type:r,reason:i||void 0,blockerCode:"blocked"===r&&o||void 0}):y.push({raw:e,error:`"${r}" requires reason`}):y.push({raw:e,error:`Invalid type: ${r||"(empty)"}`}):y.push({raw:e,error:"Missing target"}),""}).replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim(),{signals:h,invalid:y,cleanedText:w});for(let e of N.invalid)u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] ignored ${e.raw}: ${e.error}`});for(let a of N.signals)try{let n=await (0,I.setReaction)({threadId:e,messageId:a.target,participantId:t.id,type:a.type,reason:a.reason,blockerCode:a.blockerCode,hostPid:L,responseMessageId:M});u({type:"message-reactions",messageId:a.target,reactions:n.reactions})}catch(n){let e=n instanceof Error?n.message:String(n);u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] failed ${a.raw}: ${e}`})}let U=N.cleanedText.trim();if("[SKIP]"===U)return(0,eo.logActivity)(t.id,"skip",{thread:p||e}),u({type:"participant-end",participantId:t.id}),{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:O};let q=function(e,t){let a=e;for(let e of(a=a.replace(/@@all/gi,"@all"),t))a=(a=a.replace(RegExp(`@@${e.name}`,"gi"),`@${e.name}`)).replace(RegExp(`@@${e.id}`,"gi"),`@${e.id}`);return a}(U,a);if(q)try{await (0,I.saveMessages)(e,[{id:M,role:"assistant",participantId:t.id,content:q,timestamp:Date.now(),rootMessageId:p||null,parentMessageId:p||null,depth:+!!p}]),b=M}catch(a){let e=a instanceof Error?a.message:String(a);u({type:"log",participantId:t.id,stream:"stderr",line:`[history] failed to save assistant message: ${e}`})}if(q&&q.length>20)try{let a,n,r,i,o,s,l,d,c,u,g,f,m,h;eh(t,A);let y=(o=(i=q.trim()).slice(0,120).replace(/\n/g," "),s=/\?/.test(i),l=i.match(/@\w+/g)||[],d=/\b(should|need to|must|plan|steps?|implement|fix|verify|ship|next|start)\b/i.test(i),c=/\b(maybe|might|could|unsure|not sure|unclear)\b/i.test(i),u=/\b(i will|i'll|i can|i'm going to|starting|checking|verified|fixed|done|shipped)\b/i.test(i),g=/```/.test(i)||/\bfunction\b|\bconst\b|\binterface\b/i.test(i),f=/\|.*\|.*\|/.test(i)||/^#{1,3}\s/m.test(i),m=/\b(finding|issue|bug|problem|missing|broken|wrong)\b/i.test(i),a=g&&f?`Observed a structured technical response with code or implementation detail — "${o}..."`:g?`Observed code-centric output — "${o}..."`:f?`Observed structured analysis or specification language — "${o}..."`:m?`Observed review or issue-spotting behavior — "${o}..."`:u?`Observed a concrete commitment to action — "${o}..."`:d?`Observed direction-setting or next-step guidance — "${o}..."`:s?`Observed clarifying or exploratory questioning — "${o}..."`:c?`Observed explicit uncertainty or caveating — "${o}..."`:l.length>0?`Observed coordination with ${l.join(", ")} — "${o}..."`:`Observed a general perspective contribution — "${o}..."`,h=[],(g||f)&&h.push("technical depth"),(d||u)&&h.push("execution bias"),s&&h.push("inquiry instinct"),m&&h.push("critical eye"),l.length>0&&h.push("team coordination"),c&&h.push("intellectual honesty"),n=h.length>0?`Candidate specialization signals: ${h.join(" + ")}. Treat as suggestive evidence, not settled identity.`:"Low-signal contribution for specialization; keep as weak evidence only.",d||u?r="Follow through on the action I just committed to.":m?r="Verify the issues I flagged get addressed.":s&&(r="Wait for the answer before moving forward."),{judgement:a,delta:n,intent:r});(0,et.appendJournal)(t.id,{t:new Date().toISOString(),type:"post",thread:p||e,observation:"Responded to thread",judgement:y.judgement,delta:y.delta,intent:y.intent})}catch{}if(q){let e;eh(t,A);let a=(eu.get(t.id)||0)+1;eu.set(t.id,a),a%10==0&&(e=(ep.get(t.id)??Promise.resolve()).catch(()=>{}).then(()=>ey(t)),ep.set(t.id,e),e.finally(()=>{ep.get(t.id)===e&&ep.delete(t.id)})).catch(()=>{})}let{ids:B,parallel:z}=q?function(e,t){let a=new Set,n=new Set,r=e.toLowerCase(),i=r.includes("@@all");if(r.includes("@all")||i){for(let e of t)a.add(e.id),i&&n.add(e.id);return{ids:a,parallel:n}}try{let e=(0,$.getSQLiteDb)();for(let t of e.prepare("SELECT id, name, slug FROM projects").all()){let i=t.name.toLowerCase(),o=t.slug.toLowerCase(),s=r.includes(`@@${i}`)||r.includes(`@@${o}`),l=r.includes(`@${i}`)||r.includes(`@${o}`);if(s||l)for(let r of e.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC").all(t.id))a.add(r.agent_id),s&&n.add(r.agent_id)}}catch{}for(let e of t){let t=e.id.toLowerCase(),i=e.name.toLowerCase(),o=r.includes(`@@${t}`),s=r.includes(`@@${i}`),l=r.includes(`@${t}`),d=r.includes(`@${i}`);(o||s||l||d)&&(a.add(e.id),(o||s)&&n.add(e.id))}return{ids:a,parallel:n}}(q,a):{ids:new Set,parallel:new Set};if(B.delete(t.id),z.delete(t.id),q){let a=N.signals.map(e=>e.type);(0,eo.logActivity)(t.id,"message",{thread:p||e,messageId:b,response:q,prompt:r,mentions:B.size>0?[...B]:void 0,reactions:a.length>0?a:void 0})}return(u({type:"participant-end",participantId:t.id,messageId:b,content:q||void 0}),q)?{skipped:!1,response:q,mentions:B,parallel:z.size>0,parallelIds:z,messageId:b,agentProcessId:O}:{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:O}}async function ev(e){return(0,I.getChatRun)(e)}async function eb(e){return(0,I.updateChatRun)(e)}async function ek(e){let t=await (0,I.listChatRunSteps)(e.chatRunId);return(0,I.appendChatRunStep)({id:crypto.randomUUID(),chatRunId:e.chatRunId,stepIndex:t.length+1,kind:e.kind,status:e.status,participantId:e.participantId,inputPayload:e.inputPayload,outputPayload:e.outputPayload})}async function eR(e){return(0,I.updateChatRunStep)({id:e.stepId,status:e.status,outputPayload:e.outputPayload,completedAt:Date.now()})}var eC=e.i(37269);async function eE(e){var t;(0,eC.writeDebugLog)("chat-processor.start.received",{jobId:e.id,chatRunId:e.data.chatRunId,signal:e.data.signal});let a=await ev(e.data.chatRunId);if(!a){(0,eC.writeDebugLog)("chat-processor.start.missing",{chatRunId:e.data.chatRunId,jobId:e.id}),console.warn(`[chat-processor] Chat run ${e.data.chatRunId} not found, skipping`);return}if("completed"===a.status||"failed"===a.status||"cancelled"===a.status)return void(0,eC.writeDebugLog)("chat-processor.start.skip_terminal",{chatRunId:a.id,status:a.status});if(!((t=a.payload)&&"object"==typeof t&&"string"==typeof t.threadId&&"string"==typeof t.prompt&&Array.isArray(t.participantIds))){(0,eC.writeDebugLog)("chat-processor.start.invalid_payload",{chatRunId:a.id}),await eb({id:a.id,status:"failed",lastError:"Chat run payload is missing or invalid",completedAt:Date.now()});return}let n=await ek({chatRunId:a.id,kind:"model_turn",status:"running",inputPayload:{participantIds:a.payload.participantIds,rootMessageId:a.payload.rootMessageId,maxRounds:a.payload.maxRounds}});await eb({id:a.id,status:"running",currentStep:n.stepIndex,stepsUsed:n.stepIndex,lastError:null});try{(0,eC.writeDebugLog)("chat-processor.start.running",{chatRunId:a.id,threadId:a.threadId,rootMessageId:a.rootMessageId,participantIds:a.payload.participantIds});let e=await (0,w.loadDbParticipants)(),t=new Set(a.payload.participantIds),r=a.payload.participantIds.map(t=>e.find(e=>e.id===t)).filter(e=>!!e);if(0===r.length)throw(0,eC.writeDebugLog)("chat-processor.start.no_participants_resolved",{chatRunId:a.id,participantIds:a.payload.participantIds}),Error("No participants resolved for chat run");let i=new Set(a.payload.mentionedIds.filter(e=>t.has(e))),o=new Set(a.payload.initialParallelIds.filter(e=>t.has(e))),s=(function({threadId:e,allParticipants:t,mentioned:a,initialParallelIds:n,prompt:r,projectContext:i,signal:o,maxRounds:s,recentHistory:l,currentUserMessageId:d,rootMessageId:c}){let u=new TextEncoder;return new ReadableStream({async start(p){let g=[],f=new Map,m=e=>{try{p.enqueue(u.encode(`data: ${JSON.stringify(e)}
96
96
 
97
- `))}catch{}if("log"===e.type){let t=f.get(e.participantId);t&&g.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},h=async()=>{if(0===g.length)return;let e=new Map;for(let t of g){let a=e.get(t.agentProcessId);a||(a=[],e.set(t.agentProcessId,a)),a.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,I.saveLogs)(e,t).catch(()=>{})))},y=[],w=[],S=l?l.map(e=>({name:e.name,content:e.content})):[],v=t[0],$=new Set;if(a.size>0)for(let e of a)$.add(e);else $.add(v.id);let b=s??10,k=new Set($);for(let a=0;a<b&&!o?.aborted;a++){let s=!0,u=t.filter(e=>$.has(e.id)),p=new Set,g=new Set;if(0===a&&n&&n.size>0){let a=u.filter(e=>n.has(e.id)&&k.has(e.id));if(a.length>0){for(let e of a)g.add(e.id);let n=a.map(async a=>{let n=await ew(e,a,t,u,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(a.id,e));return{agent:a,result:n}});for(let e of(await Promise.allSettled(n))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped)for(let e of(a.response&&a.messageId&&w.push({id:a.messageId,name:t.name,content:a.response}),a.response&&([...S,...y].filter(e=>e.name===t.name).some(e=>ey(e.content,a.response)>.5)||(y.push({name:t.name,content:a.response}),s=!1)),a.mentions))$.add(e),u.findIndex(t=>t.id===e)>=0&&!g.has(e)&&k.has(e)||p.add(e)}}}for(let a=0;a<u.length;a++){let n=u[a];if(o?.aborted)break;if(!k.has(n.id)||g.has(n.id))continue;let h=await ew(e,n,t,u,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(n.id,e));if(h.skipped||(h.response&&h.messageId&&w.push({id:h.messageId,name:n.name,content:h.response}),h.response&&[...S,...y].filter(e=>e.name===n.name).some(e=>ey(e.content,h.response)>.5)))continue;for(let e of(s=!1,h.response&&y.push({name:n.name,content:h.response}),h.mentions))u.findIndex(t=>t.id===e)>a&&k.has(e)||p.add(e);let I=new Set;for(let e of h.mentions)$.has(e)||($.add(e),I.add(e));let v=new Set([...h.parallelIds].filter(e=>I.has(e)));if(v.size>0){let a=t.filter(e=>v.has(e.id)),n=t.filter(e=>$.has(e.id)),s=a.map(async a=>{let s=await ew(e,a,t,n,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(a.id,e));return{agent:a,result:s}});for(let e of(await Promise.allSettled(s))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped){if(a.response&&a.messageId&&w.push({id:a.messageId,name:t.name,content:a.response}),a.response){if([...S,...y].filter(e=>e.name===t.name).some(e=>ey(e.content,a.response)>.5))continue;y.push({name:t.name,content:a.response})}for(let e of a.mentions)$.add(e),p.add(e)}}}}if(s)break;k=p}await h(),m({type:"done"}),p.close()}})})({threadId:a.payload.threadId,allParticipants:r,mentioned:i,initialParallelIds:o,prompt:a.payload.prompt,projectContext:a.payload.projectContext,maxRounds:a.payload.maxRounds,recentHistory:a.payload.recentHistory,currentUserMessageId:a.payload.currentUserMessageId,rootMessageId:a.payload.rootMessageId}).getReader();for((0,eb.writeDebugLog)("chat-processor.stream.open",{chatRunId:a.id,participantCount:r.length});;){let{done:e}=await s.read();if(e)break}(0,eb.writeDebugLog)("chat-processor.stream.complete",{chatRunId:a.id}),await e$({stepId:n.id,status:"completed",outputPayload:{completed:!0,participantCount:r.length}}),await eS({id:a.id,status:"completed",completedAt:Date.now(),result:{participantIds:r.map(e=>e.id),rootMessageId:a.payload.rootMessageId}}),(0,eb.writeDebugLog)("chat-processor.complete",{chatRunId:a.id,rootMessageId:a.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);(0,eb.writeDebugLog)("chat-processor.error",{chatRunId:a.id,error:t,message:e}),await e$({stepId:n.id,status:"failed",outputPayload:{error:e}}),await eS({id:a.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function eR(e){(0,eb.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await eI(e.data.chatRunId);t&&(t.rootMessageId?(0,Y.killByThread)(t.rootMessageId):(0,Y.killByWorkspace)(t.threadId),await eS({id:t.id,status:"cancelled",lastError:e.data.payload?.reason||"Cancelled",completedAt:Date.now(),result:{cancelled:!0}}),(0,eb.writeDebugLog)("chat-processor.cancel.complete",{chatRunId:t.id,threadId:t.threadId}))}async function eE(e){switch(e.data.signal){case"start":await ek(e);break;case"cancel":await eR(e);break;default:console.warn(`[chat-processor] Unknown signal: ${e.data.signal}`)}}async function eC(e){for(let t of e)await eE(t)}let ex=null;async function eA(){return ex||(ex=(async()=>{(0,eb.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,x.getQueue)();await e.work(x.QUEUE_NAMES.TASK_PROCESS,B,{batchSize:5}),await e.work(x.QUEUE_NAMES.CHAT_RUN_PROCESS,eC,{batchSize:2}),(0,eb.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[x.QUEUE_NAMES.TASK_PROCESS,x.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,eb.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),ex=null,e}))}let e_="<!-- thread-summary -->",ej=/@([A-Za-z0-9_-]+)/g,eT=/@~project:([a-z0-9][a-z0-9-]*)/gi;function eD(e){return e.replace(/\s+/g," ").trim()}function eP(e,t){return"user"===e.role?"User":e.participantId?t[e.participantId]?.name||e.participantId:"Assistant"}function eM(e){return"string"!=typeof e?"":e.trim().toLowerCase()}async function eO(e,t,a=[]){let n,r,i,o,s,l=new Set;for(let a of(e&&l.add(e),t))a&&l.add(a);if(0===l.size)return;let d=await Promise.all(Array.from(l).map(async e=>{try{let t=await $.db.getProjectWithRepos(e,E.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),c=new Map;for(let[e,t]of d)t&&c.set(e,t);let u=e?c.get(e):void 0,p=t.map(e=>c.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(u||0!==p.length){if(u)try{let[e,t,l]=await Promise.all([(0,b.getProjectSkills)(u.id),(0,b.getProjectVariables)(u.id),(0,b.getProjectMemory)(u.id,"human")]),d=(0,R.getKnowledgeNote)("project",u.id);e.length>0&&(n=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),t.length>0&&(r=t.map(e=>({key:e.key,value:e.value}))),l.length>0&&(i=l.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),d?.content&&(i=[...i??[],{content:d.content,source:"system-note"}]);let c=(0,k.listResolvedRepoKnowledge)(u.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(c.length>0&&(o=c),a.length>0){let e=(0,v.getSQLiteDb)();for(let t of(s={},a)){let a=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);s[t.id]=await (0,b.buildExecutionProvenance)(t.id,u.id,t.skills??[],a)}}}catch(e){console.warn("Failed to load project resources",{projectId:u.id,error:e})}return{activeProject:u?{id:u.id,slug:u.slug,name:u.name}:void 0,mentionedProjects:p.length>0?p:void 0,skills:n,variables:r,memory:i,repoKnowledge:o,provenanceByAgentId:s}}}async function eL(e){let t=await e.json().catch(()=>({})),a="string"==typeof t.prompt?t.prompt.trim():"",n="string"==typeof t.threadId?t.threadId.trim():"",r=eM(t.projectSlug);if(!n)return(0,eb.writeDebugLog)("chat.post.reject",{reason:"missing_thread_id",promptLength:a.length}),new Response(JSON.stringify({error:"threadId is required"}),{status:400,headers:{"Content-Type":"application/json"}});if(!a)return(0,eb.writeDebugLog)("chat.post.reject",{reason:"missing_prompt",threadId:n}),new Response(JSON.stringify({error:"No prompt provided"}),{status:400,headers:{"Content-Type":"application/json"}});let i=await (0,w.loadDbParticipants)(),o=Array.isArray(t.activeParticipantIds),s=function(e){if(!Array.isArray(e))return[];let t=new Set,a=[];for(let n of e){if("string"!=typeof n)continue;let e=n.trim();!e||t.has(e)||(t.add(e),a.push(e))}return a}(t.activeParticipantIds),l=o?new Set(s):null,d=null===l?i:i.filter(e=>l.has(e.id)),c=null!==l&&s.length>0&&0===d.length?i:d,{mentioned:u,parallel:p}=function(e,t,a){let n=new Set,r=new Set,i=e.toLowerCase(),o=i.includes("@@all");if(i.includes("@all")||o){for(let e of a??t)n.add(e.id),o&&r.add(e.id);return{mentioned:n,parallel:r}}let{projects:s,agentsByProject:l}=function(){try{let e=(0,v.getSQLiteDb)(),t=e.prepare("SELECT id, name, slug FROM projects").all(),a=e.prepare("SELECT * FROM project_agents ORDER BY routing_order ASC").all(),n={};for(let e of a)(n[e.project_id]??=[]).push(e);return{projects:t,agentsByProject:n}}catch{return{projects:[],agentsByProject:{}}}}();for(let e of s){let t=e.name.toLowerCase(),a=e.slug.toLowerCase(),o=i.includes(`@@${t}`)||i.includes(`@@${a}`),s=i.includes(`@${t}`)||i.includes(`@${a}`);if(o||s)for(let t of l[e.id]??[])n.add(t.agent_id),o&&r.add(t.agent_id)}for(let e of t){let t=e.id.toLowerCase(),a=e.name.toLowerCase(),o=i.includes(`@@${t}`)||i.includes(`@@${a}`),s=i.includes(`@${t}`)||i.includes(`@${a}`);(o||s)&&(n.add(e.id),o&&r.add(e.id))}return{mentioned:n,parallel:r}}(a,i,c),g=new Set(c.map(e=>e.id));for(let e of u)g.add(e);let f=i.filter(e=>g.has(e.id)),m=new Map(s.map((e,t)=>[e,t])),h=f.sort((e,t)=>(m.get(e.id)??Number.MAX_SAFE_INTEGER)-(m.get(t.id)??Number.MAX_SAFE_INTEGER));if(0===h.length)return(0,eb.writeDebugLog)("chat.post.reject",{reason:"no_participants",threadId:n,requestedActiveIds:s,scopedProjectSlug:r}),new Response(JSON.stringify({error:"No active agents configured for this project"}),{status:400,headers:{"Content-Type":"application/json"}});let y=await eO(r,function(e){let t=new Set;for(let a of e.matchAll(eT)){let e=eM(a[1]);e&&t.add(e)}return Array.from(t)}(a),h),$=Date.now(),b=("string"==typeof t.userMessageId?t.userMessageId.trim():"")||crypto.randomUUID(),k="string"==typeof t.rootMessageId&&t.rootMessageId.trim()||null;await (0,I.sweepStaleWorkingReactions)(n);let R=await (0,I.loadHistory)(n),A=Object.fromEntries(i.map(e=>[e.id,{name:e.name}])),_=R.filter(e=>"user"===e.role&&!e.rootMessageId&&e.id!==(k||"")),j=k?function(e,t,a){let n=Array.from(e.matchAll(ej),e=>e[1].toLowerCase());if(0===n.length||0===a.length)return[];let r=function(e){let t=new Set(["all"]);for(let a of e)for(let e of(t.add(a.id.toLowerCase()),eD(a.name).toLowerCase().split(/\s+/).filter(Boolean)))t.add(e);return t}(t),i=new Map;[...a].sort((e,t)=>t.timestamp-e.timestamp).forEach((e,t)=>{i.set(e.id.toLowerCase(),e.id),i.set(`chat${t+1}`,e.id);let a=function(e){let t=eD(e).toLowerCase().replace(/[^a-z0-9\s_-]/g," ").trim();if(!t)return null;let a=t.split(/\s+/).filter(Boolean).slice(0,6);return 0===a.length?null:a.join("-")}(e.content);a&&!i.has(a)&&i.set(a,e.id)});let o=new Set;for(let e of n){if(r.has(e)||e.startsWith("project-"))continue;let t=i.get(e);t&&o.add(t)}return Array.from(o)}(a,i,_):[],T=R.filter(e=>e.id===k||e.rootMessageId===k),D=[function(e,t){let a=[],n=0;for(let r=e.length-1;r>=0;r--){let i=e[r],o=`${eP(i,t)}: ${i.content}`;if(n+o.length>2e5)break;a.unshift(o),n+=o.length}return 0===a.length?"":`Previous conversation (for background context only — do NOT re-discuss or repeat these topics unless the user brings them up again):
98
- ${a.join("\n")}`}(T,A),function(e,t,a){if(0===a.length)return"";let n=[];for(let r of a){let a=e.find(e=>e.id===r);if(!a)continue;let i=e.filter(e=>e.id===r||e.rootMessageId===r).sort((e,t)=>e.timestamp-t.timestamp);if(0===i.length)continue;let o=i.map(e=>{let a=eP(e,t),n=function(e){var t;return((t=e.content).startsWith(e_)&&eD(t.slice(e_.length))||null)??e.content}(e);return`${a}: ${n}`});n.push(`Referenced chat (${a.id})
99
- Root: ${eD(a.content)}
97
+ `))}catch{}if("log"===e.type){let t=f.get(e.participantId);t&&g.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},h=async()=>{if(0===g.length)return;let e=new Map;for(let t of g){let a=e.get(t.agentProcessId);a||(a=[],e.set(t.agentProcessId,a)),a.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,I.saveLogs)(e,t).catch(()=>{})))},y=[],w=[],S=l?l.map(e=>({name:e.name,content:e.content})):[],$=t[0],v=new Set;if(a.size>0)for(let e of a)v.add(e);else v.add($.id);let b=s??10,k=new Set(v);for(let a=0;a<b&&!o?.aborted;a++){let s=!0,u=t.filter(e=>v.has(e.id)),p=new Set,g=new Set;if(0===a&&n&&n.size>0){let a=u.filter(e=>n.has(e.id)&&k.has(e.id));if(a.length>0){for(let e of a)g.add(e.id);let n=a.map(async a=>{let n=await e$(e,a,t,u,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(a.id,e));return{agent:a,result:n}});for(let e of(await Promise.allSettled(n))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped)for(let e of(a.response&&a.messageId&&w.push({id:a.messageId,name:t.name,content:a.response}),a.response&&([...S,...y].filter(e=>e.name===t.name).some(e=>eS(e.content,a.response)>.5)||(y.push({name:t.name,content:a.response}),s=!1)),a.mentions))v.add(e),u.findIndex(t=>t.id===e)>=0&&!g.has(e)&&k.has(e)||p.add(e)}}}for(let a=0;a<u.length;a++){let n=u[a];if(o?.aborted)break;if(!k.has(n.id)||g.has(n.id))continue;let h=await e$(e,n,t,u,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(n.id,e));if(h.skipped||(h.response&&h.messageId&&w.push({id:h.messageId,name:n.name,content:h.response}),h.response&&[...S,...y].filter(e=>e.name===n.name).some(e=>eS(e.content,h.response)>.5)))continue;for(let e of(s=!1,h.response&&y.push({name:n.name,content:h.response}),h.mentions))u.findIndex(t=>t.id===e)>a&&k.has(e)||p.add(e);let I=new Set;for(let e of h.mentions)v.has(e)||(v.add(e),I.add(e));let $=new Set([...h.parallelIds].filter(e=>I.has(e)));if($.size>0){let a=t.filter(e=>$.has(e.id)),n=t.filter(e=>v.has(e.id)),s=a.map(async a=>{let s=await e$(e,a,t,n,r,y,l||[],w,d||null,i,o,m,c,e=>f.set(a.id,e));return{agent:a,result:s}});for(let e of(await Promise.allSettled(s))){if("fulfilled"!==e.status)continue;let{agent:t,result:a}=e.value;if(!a.skipped){if(a.response&&a.messageId&&w.push({id:a.messageId,name:t.name,content:a.response}),a.response){if([...S,...y].filter(e=>e.name===t.name).some(e=>eS(e.content,a.response)>.5))continue;y.push({name:t.name,content:a.response})}for(let e of a.mentions)v.add(e),p.add(e)}}}}if(s)break;k=p}await h(),m({type:"done"}),p.close()}})})({threadId:a.payload.threadId,allParticipants:r,mentioned:i,initialParallelIds:o,prompt:a.payload.prompt,projectContext:a.payload.projectContext,maxRounds:a.payload.maxRounds,recentHistory:a.payload.recentHistory,currentUserMessageId:a.payload.currentUserMessageId,rootMessageId:a.payload.rootMessageId}).getReader();for((0,eC.writeDebugLog)("chat-processor.stream.open",{chatRunId:a.id,participantCount:r.length});;){let{done:e}=await s.read();if(e)break}(0,eC.writeDebugLog)("chat-processor.stream.complete",{chatRunId:a.id}),await eR({stepId:n.id,status:"completed",outputPayload:{completed:!0,participantCount:r.length}}),await eb({id:a.id,status:"completed",completedAt:Date.now(),result:{participantIds:r.map(e=>e.id),rootMessageId:a.payload.rootMessageId}}),(0,eC.writeDebugLog)("chat-processor.complete",{chatRunId:a.id,rootMessageId:a.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);(0,eC.writeDebugLog)("chat-processor.error",{chatRunId:a.id,error:t,message:e}),await eR({stepId:n.id,status:"failed",outputPayload:{error:e}}),await eb({id:a.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function ex(e){(0,eC.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await ev(e.data.chatRunId);t&&(t.rootMessageId?(0,Y.killByThread)(t.rootMessageId):(0,Y.killByWorkspace)(t.threadId),await eb({id:t.id,status:"cancelled",lastError:e.data.payload?.reason||"Cancelled",completedAt:Date.now(),result:{cancelled:!0}}),(0,eC.writeDebugLog)("chat-processor.cancel.complete",{chatRunId:t.id,threadId:t.threadId}))}async function eA(e){switch(e.data.signal){case"start":await eE(e);break;case"cancel":await ex(e);break;default:console.warn(`[chat-processor] Unknown signal: ${e.data.signal}`)}}async function e_(e){for(let t of e)await eA(t)}let ej=null;async function eT(){return ej||(ej=(async()=>{(0,eC.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,x.getQueue)();await e.work(x.QUEUE_NAMES.TASK_PROCESS,z,{batchSize:5}),await e.work(x.QUEUE_NAMES.CHAT_RUN_PROCESS,e_,{batchSize:2}),(0,eC.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[x.QUEUE_NAMES.TASK_PROCESS,x.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,eC.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),ej=null,e}))}let eD="<!-- thread-summary -->",eP=/@([A-Za-z0-9_-]+)/g,eM=/@~project:([a-z0-9][a-z0-9-]*)/gi;function eO(e){return e.replace(/\s+/g," ").trim()}function eL(e,t){return"user"===e.role?"User":e.participantId?t[e.participantId]?.name||e.participantId:"Assistant"}function eN(e){return"string"!=typeof e?"":e.trim().toLowerCase()}async function eU(e,t,a=[]){let n,r,i,o,s,l=new Set;for(let a of(e&&l.add(e),t))a&&l.add(a);if(0===l.size)return;let d=await Promise.all(Array.from(l).map(async e=>{try{let t=await v.db.getProjectWithRepos(e,C.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),c=new Map;for(let[e,t]of d)t&&c.set(e,t);let u=e?c.get(e):void 0,p=t.map(e=>c.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(u||0!==p.length){if(u)try{let[e,t,l]=await Promise.all([(0,b.getProjectSkills)(u.id),(0,b.getProjectVariables)(u.id),(0,b.getProjectMemory)(u.id,"human")]),d=(0,R.getKnowledgeNote)("project",u.id);e.length>0&&(n=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),t.length>0&&(r=t.map(e=>({key:e.key,value:e.value}))),l.length>0&&(i=l.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),d?.content&&(i=[...i??[],{content:d.content,source:"system-note"}]);let c=(0,k.listResolvedRepoKnowledge)(u.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(c.length>0&&(o=c),a.length>0){let e=(0,$.getSQLiteDb)();for(let t of(s={},a)){let a=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);s[t.id]=await (0,b.buildExecutionProvenance)(t.id,u.id,t.skills??[],a)}}}catch(e){console.warn("Failed to load project resources",{projectId:u.id,error:e})}return{activeProject:u?{id:u.id,slug:u.slug,name:u.name}:void 0,mentionedProjects:p.length>0?p:void 0,skills:n,variables:r,memory:i,repoKnowledge:o,provenanceByAgentId:s}}}async function eq(e){let t=await e.json().catch(()=>({})),a="string"==typeof t.prompt?t.prompt.trim():"",n="string"==typeof t.threadId?t.threadId.trim():"",r="string"==typeof t.promptPrefix?t.promptPrefix:"",i=eN(t.projectSlug);if(!n)return(0,eC.writeDebugLog)("chat.post.reject",{reason:"missing_thread_id",promptLength:a.length}),new Response(JSON.stringify({error:"threadId is required"}),{status:400,headers:{"Content-Type":"application/json"}});if(!a)return(0,eC.writeDebugLog)("chat.post.reject",{reason:"missing_prompt",threadId:n}),new Response(JSON.stringify({error:"No prompt provided"}),{status:400,headers:{"Content-Type":"application/json"}});let o=await (0,w.loadDbParticipants)(),s=Array.isArray(t.activeParticipantIds),l=function(e){if(!Array.isArray(e))return[];let t=new Set,a=[];for(let n of e){if("string"!=typeof n)continue;let e=n.trim();!e||t.has(e)||(t.add(e),a.push(e))}return a}(t.activeParticipantIds),d=s?new Set(l):null,c=null===d?o:o.filter(e=>d.has(e.id)),u=null!==d&&l.length>0&&0===c.length?o:c,{mentioned:p,parallel:g}=function(e,t,a){let n=new Set,r=new Set,i=e.toLowerCase(),o=i.includes("@@all");if(i.includes("@all")||o){for(let e of a??t)n.add(e.id),o&&r.add(e.id);return{mentioned:n,parallel:r}}let{projects:s,agentsByProject:l}=function(){try{let e=(0,$.getSQLiteDb)(),t=e.prepare("SELECT id, name, slug FROM projects").all(),a=e.prepare("SELECT * FROM project_agents ORDER BY routing_order ASC").all(),n={};for(let e of a)(n[e.project_id]??=[]).push(e);return{projects:t,agentsByProject:n}}catch{return{projects:[],agentsByProject:{}}}}();for(let e of s){let t=e.name.toLowerCase(),a=e.slug.toLowerCase(),o=i.includes(`@@${t}`)||i.includes(`@@${a}`),s=i.includes(`@${t}`)||i.includes(`@${a}`);if(o||s)for(let t of l[e.id]??[])n.add(t.agent_id),o&&r.add(t.agent_id)}for(let e of t){let t=e.id.toLowerCase(),a=e.name.toLowerCase(),o=i.includes(`@@${t}`)||i.includes(`@@${a}`),s=i.includes(`@${t}`)||i.includes(`@${a}`);(o||s)&&(n.add(e.id),o&&r.add(e.id))}return{mentioned:n,parallel:r}}(a,o,u),f=new Set(u.map(e=>e.id));for(let e of p)f.add(e);let m=o.filter(e=>f.has(e.id)),h=new Map(l.map((e,t)=>[e,t])),y=m.sort((e,t)=>(h.get(e.id)??Number.MAX_SAFE_INTEGER)-(h.get(t.id)??Number.MAX_SAFE_INTEGER));if(0===y.length)return(0,eC.writeDebugLog)("chat.post.reject",{reason:"no_participants",threadId:n,requestedActiveIds:l,scopedProjectSlug:i}),new Response(JSON.stringify({error:"No active agents configured for this project"}),{status:400,headers:{"Content-Type":"application/json"}});let v=await eU(i,function(e){let t=new Set;for(let a of e.matchAll(eM)){let e=eN(a[1]);e&&t.add(e)}return Array.from(t)}(a),y),b=Date.now(),k=("string"==typeof t.userMessageId?t.userMessageId.trim():"")||crypto.randomUUID(),R="string"==typeof t.rootMessageId&&t.rootMessageId.trim()||null;await (0,I.sweepStaleWorkingReactions)(n);let A=await (0,I.loadHistory)(n),_=Object.fromEntries(o.map(e=>[e.id,{name:e.name}])),j=A.filter(e=>"user"===e.role&&!e.rootMessageId&&e.id!==(R||"")),T=R?function(e,t,a){let n=Array.from(e.matchAll(eP),e=>e[1].toLowerCase());if(0===n.length||0===a.length)return[];let r=function(e){let t=new Set(["all"]);for(let a of e)for(let e of(t.add(a.id.toLowerCase()),eO(a.name).toLowerCase().split(/\s+/).filter(Boolean)))t.add(e);return t}(t),i=new Map;[...a].sort((e,t)=>t.timestamp-e.timestamp).forEach((e,t)=>{i.set(e.id.toLowerCase(),e.id),i.set(`chat${t+1}`,e.id);let a=function(e){let t=eO(e).toLowerCase().replace(/[^a-z0-9\s_-]/g," ").trim();if(!t)return null;let a=t.split(/\s+/).filter(Boolean).slice(0,6);return 0===a.length?null:a.join("-")}(e.content);a&&!i.has(a)&&i.set(a,e.id)});let o=new Set;for(let e of n){if(r.has(e)||e.startsWith("project-"))continue;let t=i.get(e);t&&o.add(t)}return Array.from(o)}(a,o,j):[],D=A.filter(e=>e.id===R||e.rootMessageId===R),P=[function(e,t){let a=[],n=0;for(let r=e.length-1;r>=0;r--){let i=e[r],o=`${eL(i,t)}: ${i.content}`;if(n+o.length>2e5)break;a.unshift(o),n+=o.length}return 0===a.length?"":`Previous conversation (for background context only — do NOT re-discuss or repeat these topics unless the user brings them up again):
98
+ ${a.join("\n")}`}(D,_),function(e,t,a){if(0===a.length)return"";let n=[];for(let r of a){let a=e.find(e=>e.id===r);if(!a)continue;let i=e.filter(e=>e.id===r||e.rootMessageId===r).sort((e,t)=>e.timestamp-t.timestamp);if(0===i.length)continue;let o=i.map(e=>{let a=eL(e,t),n=function(e){var t;return((t=e.content).startsWith(eD)&&eO(t.slice(eD.length))||null)??e.content}(e);return`${a}: ${n}`});n.push(`Referenced chat (${a.id})
99
+ Root: ${eO(a.content)}
100
100
  ${o.join("\n")}`)}return 0===n.length?"":`Referenced chats (only because the user explicitly @mentioned them):
101
101
 
102
- ${n.join("\n\n---\n\n")}`}(R,A,j)].filter(Boolean).join("\n\n---\n\n"),P="agent"===t.role?"assistant":"user",M="assistant"===P&&"string"==typeof t.agent&&t.agent.trim()||null,O="assistant"===P?M?i.find(e=>e.id===M||e.name.toLowerCase()===M.toLowerCase())?.id??M:h[0]?.id??null:null;if(await (0,I.saveMessages)(n,[{id:b,role:P,participantId:O,content:a,timestamp:$,rootMessageId:k,parentMessageId:k,depth:+!!k}]),k&&"user"===P)try{(0,C.deactivateSchedulesByRootMessageId)(k)}catch(e){console.warn("Failed to deactivate autonomous schedule on user composer message",{rootMessageId:k,error:e})}let L=Array.isArray(t.attachmentIds)?t.attachmentIds.filter(e=>"string"==typeof e):[],N="";if(L.length>0){let e=await (0,S.finalizeAttachments)(b,L);if(e.length>0){let t=e.map(e=>`- ${e.filename} (${e.mimeType}, ${e.size} bytes): ${e.diskPath}`);N=`
102
+ ${n.join("\n\n---\n\n")}`}(A,_,T)].filter(Boolean).join("\n\n---\n\n"),M="agent"===t.role?"assistant":"user",O="assistant"===M&&"string"==typeof t.agent&&t.agent.trim()||null,L="assistant"===M?O?o.find(e=>e.id===O||e.name.toLowerCase()===O.toLowerCase())?.id??O:y[0]?.id??null:null;if(await (0,I.saveMessages)(n,[{id:k,role:M,participantId:L,content:a,timestamp:b,rootMessageId:R,parentMessageId:R,depth:+!!R}]),R&&"user"===M)try{(0,E.deactivateSchedulesByRootMessageId)(R)}catch(e){console.warn("Failed to deactivate autonomous schedule on user composer message",{rootMessageId:R,error:e})}let N=Array.isArray(t.attachmentIds)?t.attachmentIds.filter(e=>"string"==typeof e):[],U="";if(N.length>0){let e=await (0,S.finalizeAttachments)(k,N);if(e.length>0){let t=e.map(e=>`- ${e.filename} (${e.mimeType}, ${e.size} bytes): ${e.diskPath}`);U=`
103
103
 
104
104
  [Attached files]
105
105
  ${t.join("\n")}
106
- `}}let U=k||b,q=Math.min(Math.max(Number(t.maxRounds)||10,1),50),z=D?`${D}
106
+ `}}let q=R||k,B=Math.min(Math.max(Number(t.maxRounds)||10,1),50),z=r?r+a:a,F=P?`${P}
107
107
 
108
108
  ---
109
109
  Current user message:
110
- ${a}${N}`:`${a}${N}`,B=T.slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?A[e.participantId]?.name||e.participantId:"Assistant",content:e.content})),H=crypto.randomUUID(),F={threadId:n,prompt:z,projectContext:y,mentionedIds:Array.from(u),initialParallelIds:Array.from(p),maxRounds:q,recentHistory:B,currentUserMessageId:b,rootMessageId:U,participantIds:h.map(e=>e.id)};(0,eb.writeDebugLog)("chat.post.accepted",{threadId:n,chatRunId:H,userMessageId:b,rootMessageId:U,explicitRootMessageId:k,participantIds:h.map(e=>e.id),providerIdsMentioned:Array.from(u),parallelIds:Array.from(p),scopedProjectSlug:r||null,hasProjectContext:!!y,promptLength:a.length,debugLogPath:(0,eb.getDebugLogPath)()}),await (0,I.createChatRun)({id:H,threadId:n,rootMessageId:U,userId:E.LOCAL_USER.id,projectSlug:r||null,maxSteps:q,activeParticipantIds:h.map(e=>e.id),payload:F}),await eA(),(0,eb.writeDebugLog)("chat.runtime.ready",{chatRunId:H,threadId:n});let K=await (0,x.getQueue)();return await K.send(x.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:H,userId:E.LOCAL_USER.id,signal:"start"}),(0,eb.writeDebugLog)("chat.queue.sent",{chatRunId:H,threadId:n,queue:x.QUEUE_NAMES.CHAT_RUN_PROCESS}),Response.json({ok:!0,userMessageId:b,chatRunId:H},{status:202})}e.s(["POST",()=>eL,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],76021);var eN=e.i(76021);let eU=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/chat/route",pathname:"/api/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/chat/route.ts",nextConfigOutput:"standalone",userland:eN}),{workAsyncStorage:eq,workUnitAsyncStorage:ez,serverHooks:eB}=eU;function eH(){return(0,n.patchFetch)({workAsyncStorage:eq,workUnitAsyncStorage:ez})}async function eF(e,t,n){eU.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/chat/route";w=w.replace(/\/index$/,"")||"/";let I=await eU.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!I)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:v,nextConfig:$,parsedUrl:b,isDraftMode:k,prerenderManifest:R,routerServerContext:E,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,resolvedPathname:A,clientReferenceManifest:_,serverActionsManifest:j}=I,T=(0,s.normalizeAppPath)(w),D=!!(R.dynamicRoutes[T]||R.routes[A]),P=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!R.routes[A],t=R.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if($.experimental.adapterPath)return await P();throw new h.NoFallbackError}}let M=null;!D||eU.isDev||k||(M="/index"===(M=A)?"/":M);let O=!0===eU.isDev||!D,L=D&&!O;j&&_&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:_,serverActionsManifest:j});let N=e.method||"GET",U=(0,i.getTracer)(),q=U.getActiveScopeSpan(),z={params:v,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!$.experimental.authInterrupts},cacheComponents:!!$.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:$.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>eU.onRequestError(e,t,n,r,E)},sharedContext:{buildId:S}},B=new l.NodeNextRequest(e),H=new l.NodeNextResponse(t),F=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>eU.handle(F,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=U.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${N} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${N} ${w}`)}),s=!!(0,r.getRequestMeta)(e,"minimalMode"),l=async r=>{var i,l;let d=async({previousCacheEntry:a})=>{try{if(!s&&C&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(r);e.fetchMetrics=z.renderOpts.fetchMetrics;let l=z.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=z.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(B,H,i,z.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await eU.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:C})},!1,E),t}},c=await eU.handleResponse({req:e,nextConfig:$,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!D)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",C?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return s&&D||h.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,H,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};q?await l(q):await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${N} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await eU.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:C})},!1,E),D)throw t;return await (0,p.sendResponse)(B,H,new Response(null,{status:500})),null}}e.s(["handler",()=>eF,"patchFetch",()=>eH,"routeModule",()=>eU,"serverHooks",()=>eB,"workAsyncStorage",()=>eq,"workUnitAsyncStorage",()=>ez],61378)}];
110
+ ${z}${U}`:`${z}${U}`,H=D.slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?_[e.participantId]?.name||e.participantId:"Assistant",content:e.content})),K=crypto.randomUUID(),J={threadId:n,prompt:F,projectContext:v,mentionedIds:Array.from(p),initialParallelIds:Array.from(g),maxRounds:B,recentHistory:H,currentUserMessageId:k,rootMessageId:q,participantIds:y.map(e=>e.id)};(0,eC.writeDebugLog)("chat.post.accepted",{threadId:n,chatRunId:K,userMessageId:k,rootMessageId:q,explicitRootMessageId:R,participantIds:y.map(e=>e.id),providerIdsMentioned:Array.from(p),parallelIds:Array.from(g),scopedProjectSlug:i||null,hasProjectContext:!!v,promptLength:a.length,debugLogPath:(0,eC.getDebugLogPath)()}),await (0,I.createChatRun)({id:K,threadId:n,rootMessageId:q,userId:C.LOCAL_USER.id,projectSlug:i||null,maxSteps:B,activeParticipantIds:y.map(e=>e.id),payload:J}),await eT(),(0,eC.writeDebugLog)("chat.runtime.ready",{chatRunId:K,threadId:n});let W=await (0,x.getQueue)();return await W.send(x.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:K,userId:C.LOCAL_USER.id,signal:"start"}),(0,eC.writeDebugLog)("chat.queue.sent",{chatRunId:K,threadId:n,queue:x.QUEUE_NAMES.CHAT_RUN_PROCESS}),Response.json({ok:!0,userMessageId:k,chatRunId:K},{status:202})}e.s(["POST",()=>eq,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],76021);var eB=e.i(76021);let ez=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/chat/route",pathname:"/api/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/chat/route.ts",nextConfigOutput:"standalone",userland:eB}),{workAsyncStorage:eF,workUnitAsyncStorage:eH,serverHooks:eK}=ez;function eJ(){return(0,n.patchFetch)({workAsyncStorage:eF,workUnitAsyncStorage:eH})}async function eW(e,t,n){ez.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/chat/route";w=w.replace(/\/index$/,"")||"/";let I=await ez.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!I)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:$,nextConfig:v,parsedUrl:b,isDraftMode:k,prerenderManifest:R,routerServerContext:C,isOnDemandRevalidate:E,revalidateOnlyGenerated:x,resolvedPathname:A,clientReferenceManifest:_,serverActionsManifest:j}=I,T=(0,s.normalizeAppPath)(w),D=!!(R.dynamicRoutes[T]||R.routes[A]),P=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!R.routes[A],t=R.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await P();throw new h.NoFallbackError}}let M=null;!D||ez.isDev||k||(M="/index"===(M=A)?"/":M);let O=!0===ez.isDev||!D,L=D&&!O;j&&_&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:_,serverActionsManifest:j});let N=e.method||"GET",U=(0,i.getTracer)(),q=U.getActiveScopeSpan(),B={params:$,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>ez.onRequestError(e,t,n,r,C)},sharedContext:{buildId:S}},z=new l.NodeNextRequest(e),F=new l.NodeNextResponse(t),H=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let o=async e=>ez.handle(H,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=U.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route");if(n){let t=`${N} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${N} ${w}`)}),s=!!(0,r.getRequestMeta)(e,"minimalMode"),l=async r=>{var i,l;let d=async({previousCacheEntry:a})=>{try{if(!s&&E&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(r);e.fetchMetrics=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(z,F,i,B.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await ez.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:E})},!1,C),t}},c=await ez.handleResponse({req:e,nextConfig:v,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:s});if(!D)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",E?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,g.fromNodeOutgoingHttpHeaders)(c.value.headers);return s&&D||h.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(z,F,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};q?await l(q):await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${N} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await ez.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:E})},!1,C),D)throw t;return await (0,p.sendResponse)(z,F,new Response(null,{status:500})),null}}e.s(["handler",()=>eW,"patchFetch",()=>eJ,"routeModule",()=>ez,"serverHooks",()=>eK,"workAsyncStorage",()=>eF,"workUnitAsyncStorage",()=>eH],61378)}];
111
111
 
112
112
  //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_371d0bff.js.map
@@ -0,0 +1,10 @@
1
+ module.exports=[24049,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),o=e.i(59756),i=e.i(61916),a=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),f=e.i(74838),g=e.i(10372),R=e.i(93695);e.i(52474);var m=e.i(220),v=e.i(94028),w=e.i(22734),y=e.i(14747),A=e.i(46786),E=e.i(38479),b=e.i(35338);function x(e,t){return"condition"===e.triggerType?t+e.checkEveryMs:(0,b.computeNextRun)(e.cronExpr,t)}var S=e.i(62294),C=e.i(49041),O=e.i(14350);let N=(0,y.join)((0,A.homedir)(),".agx","agents");async function P(e){let t,n,r,o=await (0,S.getAgent)(e,C.LOCAL_USER.id);if(!o)return{provider:"claude",model:null,identity:void 0,self:void 0,skills:void 0};let i=(0,y.join)(N,e),a=[];o.name&&a.push(`Name: ${o.name}`),o.description&&a.push(o.description),o.voice&&a.push(`Voice: ${o.voice}`),a.length>0&&(t=a.join("\n"));let s=(0,y.join)(i,"self.md");if((0,w.existsSync)(s)){let e=(0,w.readFileSync)(s,"utf-8"),t=e.match(/^---[\s\S]*?---\s*\n?([\s\S]*)$/);(n=t?t[1].trim():e.trim())||(n=void 0)}let l=await (0,S.getAgentSkills)(e);if(l.length>0){let e=[];for(let t of l){let n=t.file.startsWith("/")?t.file:(0,y.join)(i,t.file);if((0,w.existsSync)(n))try{let r=(0,w.readFileSync)(n,"utf-8");e.push(`## ${t.file}
2
+ ${r}`)}catch{}}e.length>0&&(r=e.join("\n\n"))}return{provider:o.provider||"claude",model:o.model||null,identity:t,self:n,skills:r}}async function j(e){return e.agentId?P(e.agentId):{provider:e.provider||"claude",model:e.model||null,identity:void 0,self:void 0,skills:void 0}}async function D(e){let t=Date.now(),n="";try{return await (0,O.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{n+=e}}),{output:n,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:n,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}async function k(e,t){let n=(0,E.getPromptJobStore)(),r=await j(e),o=`You are a condition evaluator. Evaluate whether the following condition is currently true. Respond with ONLY "yes" or "no" (lowercase, nothing else).
3
+
4
+ Condition: ${e.condition}`;n.updateRun(t.id,{status:"running",startedAt:new Date().toISOString()});let i=await D({...r,prompt:o,cliArgs:e.cliArgs}),a=i.output.trim().toLowerCase(),s=a.startsWith("yes");if("success"!==i.status||!s){n.updateRun(t.id,{status:"success",output:`Gate: ${a}
5
+ (condition not met — skipped action)`,durationMs:i.durationMs,finishedAt:new Date().toISOString()}),n.updateJob(e.id,{lastOutcome:"success",lastRunAt:Date.now()});return}n.updateRun(t.id,{output:`Gate: yes
6
+ Executing action prompt...`});let l=await D({...r,prompt:e.prompt,cliArgs:e.cliArgs});n.updateRun(t.id,{status:l.status,output:`Gate: yes
7
+ ---
8
+ ${l.output}`,error:l.error||void 0,durationMs:i.durationMs+l.durationMs,finishedAt:new Date().toISOString()}),n.updateJob(e.id,{lastOutcome:l.status,lastRunAt:Date.now()})}async function T(e,t){let n=(0,E.getPromptJobStore)(),r=await j(e);n.updateRun(t.id,{status:"running",startedAt:new Date().toISOString()});let o=await D({...r,prompt:e.prompt,cliArgs:e.cliArgs});n.updateRun(t.id,{status:o.status,output:o.output,error:o.error||void 0,durationMs:o.durationMs,finishedAt:new Date().toISOString()});let i="condition"===e.triggerType?Date.now()+e.checkEveryMs:(0,b.computeNextRun)(e.cronExpr)??null;n.updateJob(e.id,{lastOutcome:o.status,lastRunAt:Date.now(),nextRunAt:i})}function I(e,t){("condition"===e.triggerType&&e.condition?k:T)(e,t).catch(n=>{let r=(0,E.getPromptJobStore)();r.updateRun(t.id,{status:"failed",error:`Dispatch error: ${n instanceof Error?n.message:String(n)}`,finishedAt:new Date().toISOString()}),r.updateJob(e.id,{lastOutcome:"failed"})})}async function _(e){try{let t=(0,E.getPromptJobStore)(),n={};try{n=await e.json()}catch{}if(n.jobId){let e=t.getJob(n.jobId);if(!e)return v.NextResponse.json({error:"Job not found"},{status:404});let r=t.createRun(e.id);return I(e,r),v.NextResponse.json({queued:[r],skipped:[]})}let r=function(e,t=Date.now()){for(let n of e.listJobs({state:"active"}))if(null===n.nextRunAt&&n.cronExpr){let r=x(n,t);r&&e.updateJob(n.id,{nextRunAt:r})}let n=e.getDueJobs(t),r=[],o=[];for(let i of n){if("skip"===i.overlapPolicy&&e.hasRunningRun(i.id)){o.push({jobId:i.id,reason:"overlap_skip"});let n=x(i,t);e.updateJob(i.id,{nextRunAt:n});continue}let n=function(e,t){if("condition"===e.triggerType||!e.nextRunAt)return 1;let n=0,r=e.nextRunAt;for(;r<=t&&n<100;){n++;let t=(0,b.computeNextRun)(e.cronExpr,r);if(!t||t<=r)break;r=t}return Math.max(1,n)}(i,t);if("skip"===i.catchUpPolicy&&n>1){o.push({jobId:i.id,reason:`catch_up_skip (${n} missed)`});let r=x(i,t);e.updateJob(i.id,{nextRunAt:r,lastRunAt:t});continue}if("replay_all"===i.catchUpPolicy&&n>1)for(let t=0;t<n;t++){let t=e.createRun(i.id);r.push(t)}else{let t=e.createRun(i.id);r.push(t)}let a=x(i,t);e.updateJob(i.id,{nextRunAt:a,lastRunAt:t})}return{queued:r,skipped:o}}(t);for(let e of r.queued){let n=t.getJob(e.jobId);n&&I(n,e)}return v.NextResponse.json({queued:r.queued,skipped:r.skipped})}catch(e){return console.error("Failed to poll prompt jobs:",e),v.NextResponse.json({error:"Failed to poll prompt jobs",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["POST",()=>_,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],27060);var M=e.i(27060);let U=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/prompt-jobs/poll/route",pathname:"/api/prompt-jobs/poll",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/prompt-jobs/poll/route.ts",nextConfigOutput:"standalone",userland:M}),{workAsyncStorage:$,workUnitAsyncStorage:q,serverHooks:H}=U;function J(){return(0,r.patchFetch)({workAsyncStorage:$,workUnitAsyncStorage:q})}async function F(e,t,r){U.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/prompt-jobs/poll/route";v=v.replace(/\/index$/,"")||"/";let w=await U.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:A,nextConfig:E,parsedUrl:b,isDraftMode:x,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:D}=w,k=(0,s.normalizeAppPath)(v),T=!!(S.dynamicRoutes[k]||S.routes[P]),I=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(T&&!x){let e=!!S.routes[P],t=S.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await I();throw new R.NoFallbackError}}let _=null;!T||U.isDev||x||(_="/index"===(_=P)?"/":_);let M=!0===U.isDev||!T,$=T&&!M;D&&j&&(0,a.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:D});let q=e.method||"GET",H=(0,i.getTracer)(),J=H.getActiveScopeSpan(),F={params:A,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,o)=>U.onRequestError(e,t,r,o,C)},sharedContext:{buildId:y}},L=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let a=async e=>U.handle(B,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=H.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${v}`)}),s=!!(0,o.getRequestMeta)(e,"minimalMode"),l=async o=>{var i,l;let u=async({previousCacheEntry:n})=>{try{if(!s&&O&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await a(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let u=F.renderOpts.collectedTags;if(!T)return await (0,c.sendResponse)(L,K,i,F.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,r=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:O})},!1,C),t}},d=await U.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:s});if(!T)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",O?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return s&&T||R.delete(g.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(L,K,new Response(d.value.body,{headers:R,status:d.value.status||200})),null};J?await l(J):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:O})},!1,C),T)throw t;return await (0,c.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>F,"patchFetch",()=>J,"routeModule",()=>U,"serverHooks",()=>H,"workAsyncStorage",()=>$,"workUnitAsyncStorage",()=>q],24049)}];
9
+
10
+ //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js.map
@@ -1,7 +1,8 @@
1
- module.exports=[33601,e=>{"use strict";var t,n=e.i(74533),r=e.i(12057),i=e.i(55494);let o={tests_pass:{command:"npm test",timeout:3e5,required:!0},lint_clean:{command:"npm run lint",timeout:6e4,required:!1},coverage_threshold:{command:"npm run coverage",timeout:3e5,required:!0},build_success:{command:"npm run build",timeout:6e5,required:!0},types_valid:{command:"npm run typecheck",timeout:12e4,required:!0}};async function a(e,t){let r=Date.now();return new Promise(i=>{let o,a="",s="",d=!1,u=!1,c=(0,n.spawn)(e,{cwd:t.cwd,env:t.env,shell:!0,stdio:["ignore","pipe","pipe"]}),l=setTimeout(()=>{u=!0,c.kill("SIGTERM"),o=setTimeout(()=>{d||c.kill("SIGKILL")},500),o.unref?.()},Math.max(1,t.timeoutMs));l.unref?.();let p=e=>{d||(d=!0,clearTimeout(l),o&&clearTimeout(o),i({exitCode:e,stdout:a,stderr:s,durationMs:Date.now()-r,timedOut:u}))};c.stdout?.on("data",e=>{a+=e.toString()}),c.stderr?.on("data",e=>{s+=e.toString()}),c.on("error",e=>{s+=e.message,p(1)}),c.on("close",e=>{p(e)})})}async function s(e,t={}){if(!Object.prototype.hasOwnProperty.call(o,e))return{check:e,passed:!1,message:`Unknown auto-check '${e}' was skipped`,required:!1,command:"",timeoutMs:0,timedOut:!1,exitCode:null};let n=o[e],r=t.executor??a,i=await r(n.command,{cwd:t.cwd,env:t.env,timeoutMs:n.timeout}),d=0===i.exitCode&&!i.timedOut,u=i.timedOut?`Check timed out after ${n.timeout}ms`:d?`Check passed (${n.command})`:`Check failed with exit code ${i.exitCode??"null"}`;return{check:e,passed:d,message:u,latencyMs:i.durationMs,details:{stdout:i.stdout,stderr:i.stderr},required:n.required,command:n.command,timeoutMs:n.timeout,timedOut:i.timedOut,exitCode:i.exitCode}}async function d(e,t={}){let n=[];for(let r of e){let e=await s(r,t);n.push(e)}return n}var u=e.i(61860),c=((t={}).GATE_FAILURE="gate_failure",t.WORK_EXHAUSTED="work_exhausted",t.AGENT_REQUEST="agent_request",t.HUMAN_REQUEST="human_request",t.SCOPE_CHANGE="scope_change",t);class l extends Error{constructor(e){super(e),this.name="ReplanError"}}class p extends l{constructor(){super("Replan rejected: replan budget exhausted."),this.name="ReplanBudgetExceededError"}}class f extends l{constructor(e){super(`Replan rejected: node "${e}" is not a valid replan point.`),this.name="InvalidReplanPointError"}}class m extends l{constructor(e){super(e),this.name="ReplanConstraintViolationError"}}class g extends l{validationErrors;constructor(e){super("Replan rejected: resulting graph violates validation invariants."),this.name="ReplanValidationError",this.validationErrors=e}}let y=new Set(["progress","quality_gate","design_gate","handoff_gate"]);function h(e,t){if(!e.nodes[t])throw new m(`Replan references unknown node "${t}".`)}function w(e,t){if(e.policy.replanBudgetRemaining<=0)throw new p;if(!function(e,t){var n;let r=e.nodes[t.triggeredAtNodeId];return!!r&&("gate"===r.type&&("progress"===r.gateType||("quality_gate"===r.gateType||"design_gate"===r.gateType||"handoff_gate"===r.gateType)&&"failed"===r.status)||!("work"!==r.type||"work_exhausted"!==t.trigger||!("work"===r.type&&"failed"===r.status&&r.attempts>=r.maxAttempts)||function(e,t){let n=function(e){let t=new Map;for(let n of e){if("hard"!==n.type)continue;let e=t.get(n.from);e?e.push(n.to):t.set(n.from,[n.to])}return t}(e.edges),r=[...n.get(t)??[]],i=new Set(r);for(;r.length>0;){var o;let t=r.shift();if(t){if(o=e.nodes[t],o?.type==="gate"&&y.has(o.gateType))return!0;for(let e of n.get(t)??[])i.has(e)||(i.add(e),r.push(e))}}return!1}(e,t.triggeredAtNodeId))&&(n=t.triggeredAtNodeId,!e.versionHistory.some(e=>"replan"===e.eventType&&e.triggeredAtNodeId===n)))}(e,t))throw new f(t.triggeredAtNodeId);let n=structuredClone(e),r=function(e,t){let n=new Set(t);if(0===n.size)return[];for(let t of n){let n=e.nodes[t];if(!n)throw new m(`Cannot remove unknown node "${t}".`);if("gate"===n.type&&n.required)throw new m(`Cannot remove required gate "${t}" during replan.`)}for(let t of n)delete e.nodes[t];for(let t of(e.edges=e.edges.filter(e=>!n.has(e.from)&&!n.has(e.to)),Object.values(e.nodes)))t.deps=t.deps.filter(e=>!n.has(e));return[...n]}(n,t.removeNodes??[]),i=function(e,t){let n=Object.entries(t);if(0===n.length)return[];let r=new Set;for(let[t]of n)if(e.nodes[t])throw new m(`Cannot add duplicate node "${t}".`);for(let[t,r]of n)e.nodes[t]=r;for(let[t,i]of n)for(let n of i.deps){if(!e.nodes[n])throw new m(`Added node "${t}" depends on unknown node "${n}".`);r.add(`${n}=>${t}`)}for(let t of r){let[n,r]=t.split("=>");e.edges.push({from:n,to:r,type:"hard"})}return n.map(([e])=>e)}(n,t.addNodes??{}),o=function(e,t){let n=[];for(let[r,i]of Object.entries(t)){h(e,r);let t=e.nodes[r];if(!t)continue;let o=[...new Set(i)];for(let t of o)h(e,t);let a=new Map;for(let t of e.edges)t.to!==r||a.has(t.from)||a.set(t.from,t);for(let n of(e.edges=e.edges.filter(e=>e.to!==r),t.deps=o,o)){let t=a.get(n);e.edges.push(t??{from:n,to:r,type:"hard"})}n.push(r)}return n}(n,t.rewireDeps??{}),a=function(e,t){let n={};for(let[r,i]of Object.entries(t)){h(e,r);let t=e.nodes[r];if(!t)continue;let o=t.estimateMinutes??0;if(null===i){delete t.estimateMinutes,n[r]=0-o;continue}t.estimateMinutes=i,n[r]=i-o}return n}(n,t.estimateUpdates??{});if(t.addEdges)for(let e of t.addEdges)n.edges.push(e);n.edges=function(e){let t=[],n=new Set;for(let r of e){let e=`${r.from}|${r.to}|${r.type}|${r.condition??""}`;n.has(e)||(n.add(e),t.push(r))}return t}(n.edges);let s=new Map;for(let e of n.edges){let t=s.get(e.to);t?t.includes(e.from)||t.push(e.from):s.set(e.to,[e.from])}for(let[e,t]of Object.entries(n.nodes))t.deps=[...s.get(e)??[]];for(let[t,r]of Object.entries(e.nodes))if("gate"===r.type&&r.required&&!n.nodes[t])throw new m(`Required gate "${t}" must remain present after replan.`);let d=(0,u.validateGraph)(n);if(!d.valid)throw new g(d.errors);let c=t.now??new Date().toISOString(),l=n.graphVersion,w=l+1;return n.graphVersion=w,n.policy.replanBudgetRemaining-=1,n.updatedAt=c,n.versionHistory.push({eventType:"replan",fromVersion:l,toVersion:w,timestamp:c,reason:t.reason,triggeredBy:t.triggeredBy,triggeredAtNodeId:t.triggeredAtNodeId,changes:{addedNodes:i,removedNodes:r,rewiredDeps:o,estimateDeltas:a}}),n}async function v(t){let{execSync:n}=await e.A(82848),r={cwd:t,encoding:"utf-8",maxBuffer:524288};try{let e=n("git diff HEAD",r).trim();if(e)return e}catch{}try{let e=n("git diff --cached",r).trim();if(e)return e}catch{}return""}function k(e){for(let t of Object.values(e.nodes))if("root"===t.type)return t}async function A(e,t,n,r){let i,o,a=k(e);if(!a)return E("LLM review skipped: no root node found");let s=await v(r);if(!s)return E("LLM review skipped: no changes detected");let d=(i=a.criteria?.length?`
1
+ module.exports=[33601,e=>{"use strict";var t,n=e.i(74533),i=e.i(12057),r=e.i(55494);let o={tests_pass:{command:"npm test",timeout:3e5,required:!0},lint_clean:{command:"npm run lint",timeout:6e4,required:!1},coverage_threshold:{command:"npm run coverage",timeout:3e5,required:!0},build_success:{command:"npm run build",timeout:6e5,required:!0},types_valid:{command:"npm run typecheck",timeout:12e4,required:!0}};async function a(e,t){let i=Date.now();return new Promise(r=>{let o,a="",s="",d=!1,u=!1,c=(0,n.spawn)(e,{cwd:t.cwd,env:t.env,shell:!0,stdio:["ignore","pipe","pipe"]}),l=setTimeout(()=>{u=!0,c.kill("SIGTERM"),o=setTimeout(()=>{d||c.kill("SIGKILL")},500),o.unref?.()},Math.max(1,t.timeoutMs));l.unref?.();let p=e=>{d||(d=!0,clearTimeout(l),o&&clearTimeout(o),r({exitCode:e,stdout:a,stderr:s,durationMs:Date.now()-i,timedOut:u}))};c.stdout?.on("data",e=>{a+=e.toString()}),c.stderr?.on("data",e=>{s+=e.toString()}),c.on("error",e=>{s+=e.message,p(1)}),c.on("close",e=>{p(e)})})}async function s(e,t={}){if(!Object.prototype.hasOwnProperty.call(o,e))return{check:e,passed:!1,message:`Unknown auto-check '${e}' was skipped`,required:!1,command:"",timeoutMs:0,timedOut:!1,exitCode:null};let n=o[e],i=t.executor??a,r=await i(n.command,{cwd:t.cwd,env:t.env,timeoutMs:n.timeout}),d=0===r.exitCode&&!r.timedOut,u=r.timedOut?`Check timed out after ${n.timeout}ms`:d?`Check passed (${n.command})`:`Check failed with exit code ${r.exitCode??"null"}`;return{check:e,passed:d,message:u,latencyMs:r.durationMs,details:{stdout:r.stdout,stderr:r.stderr},required:n.required,command:n.command,timeoutMs:n.timeout,timedOut:r.timedOut,exitCode:r.exitCode}}async function d(e,t={}){let n=[];for(let i of e){let e=await s(i,t);n.push(e)}return n}var u=e.i(61860),c=((t={}).GATE_FAILURE="gate_failure",t.WORK_EXHAUSTED="work_exhausted",t.AGENT_REQUEST="agent_request",t.HUMAN_REQUEST="human_request",t.SCOPE_CHANGE="scope_change",t);class l extends Error{constructor(e){super(e),this.name="ReplanError"}}class p extends l{constructor(){super("Replan rejected: replan budget exhausted."),this.name="ReplanBudgetExceededError"}}class f extends l{constructor(e){super(`Replan rejected: node "${e}" is not a valid replan point.`),this.name="InvalidReplanPointError"}}class m extends l{constructor(e){super(e),this.name="ReplanConstraintViolationError"}}class g extends l{validationErrors;constructor(e){super("Replan rejected: resulting graph violates validation invariants."),this.name="ReplanValidationError",this.validationErrors=e}}let y=new Set(["progress","quality_gate","design_gate","handoff_gate"]);function h(e,t){if(!e.nodes[t])throw new m(`Replan references unknown node "${t}".`)}function w(e,t){if(e.policy.replanBudgetRemaining<=0)throw new p;if(!function(e,t){var n;let i=e.nodes[t.triggeredAtNodeId];return!!i&&("gate"===i.type&&("progress"===i.gateType||("quality_gate"===i.gateType||"design_gate"===i.gateType||"handoff_gate"===i.gateType)&&"failed"===i.status)||!("work"!==i.type||"work_exhausted"!==t.trigger||!("work"===i.type&&"failed"===i.status&&i.attempts>=i.maxAttempts)||function(e,t){let n=function(e){let t=new Map;for(let n of e){if("hard"!==n.type)continue;let e=t.get(n.from);e?e.push(n.to):t.set(n.from,[n.to])}return t}(e.edges),i=[...n.get(t)??[]],r=new Set(i);for(;i.length>0;){var o;let t=i.shift();if(t){if(o=e.nodes[t],o?.type==="gate"&&y.has(o.gateType))return!0;for(let e of n.get(t)??[])r.has(e)||(r.add(e),i.push(e))}}return!1}(e,t.triggeredAtNodeId))&&(n=t.triggeredAtNodeId,!e.versionHistory.some(e=>"replan"===e.eventType&&e.triggeredAtNodeId===n)))}(e,t))throw new f(t.triggeredAtNodeId);let n=structuredClone(e),i=function(e,t){let n=new Set(t);if(0===n.size)return[];for(let t of n){let n=e.nodes[t];if(!n)throw new m(`Cannot remove unknown node "${t}".`);if("gate"===n.type&&n.required)throw new m(`Cannot remove required gate "${t}" during replan.`)}for(let t of n)delete e.nodes[t];for(let t of(e.edges=e.edges.filter(e=>!n.has(e.from)&&!n.has(e.to)),Object.values(e.nodes)))t.deps=t.deps.filter(e=>!n.has(e));return[...n]}(n,t.removeNodes??[]),r=function(e,t){let n=Object.entries(t);if(0===n.length)return[];let i=new Set;for(let[t]of n)if(e.nodes[t])throw new m(`Cannot add duplicate node "${t}".`);for(let[t,i]of n)e.nodes[t]=i;for(let[t,r]of n)for(let n of r.deps){if(!e.nodes[n])throw new m(`Added node "${t}" depends on unknown node "${n}".`);i.add(`${n}=>${t}`)}for(let t of i){let[n,i]=t.split("=>");e.edges.push({from:n,to:i,type:"hard"})}return n.map(([e])=>e)}(n,t.addNodes??{}),o=function(e,t){let n=[];for(let[i,r]of Object.entries(t)){h(e,i);let t=e.nodes[i];if(!t)continue;let o=[...new Set(r)];for(let t of o)h(e,t);let a=new Map;for(let t of e.edges)t.to!==i||a.has(t.from)||a.set(t.from,t);for(let n of(e.edges=e.edges.filter(e=>e.to!==i),t.deps=o,o)){let t=a.get(n);e.edges.push(t??{from:n,to:i,type:"hard"})}n.push(i)}return n}(n,t.rewireDeps??{}),a=function(e,t){let n={};for(let[i,r]of Object.entries(t)){h(e,i);let t=e.nodes[i];if(!t)continue;let o=t.estimateMinutes??0;if(null===r){delete t.estimateMinutes,n[i]=0-o;continue}t.estimateMinutes=r,n[i]=r-o}return n}(n,t.estimateUpdates??{});if(t.addEdges)for(let e of t.addEdges)n.edges.push(e);n.edges=function(e){let t=[],n=new Set;for(let i of e){let e=`${i.from}|${i.to}|${i.type}|${i.condition??""}`;n.has(e)||(n.add(e),t.push(i))}return t}(n.edges);let s=new Map;for(let e of n.edges){let t=s.get(e.to);t?t.includes(e.from)||t.push(e.from):s.set(e.to,[e.from])}for(let[e,t]of Object.entries(n.nodes))t.deps=[...s.get(e)??[]];for(let[t,i]of Object.entries(e.nodes))if("gate"===i.type&&i.required&&!n.nodes[t])throw new m(`Required gate "${t}" must remain present after replan.`);let d=(0,u.validateGraph)(n);if(!d.valid)throw new g(d.errors);let c=t.now??new Date().toISOString(),l=n.graphVersion,w=l+1;return n.graphVersion=w,n.policy.replanBudgetRemaining-=1,n.updatedAt=c,n.versionHistory.push({eventType:"replan",fromVersion:l,toVersion:w,timestamp:c,reason:t.reason,triggeredBy:t.triggeredBy,triggeredAtNodeId:t.triggeredAtNodeId,changes:{addedNodes:r,removedNodes:i,rewiredDeps:o,estimateDeltas:a}}),n}async function v(t){let{execSync:n}=await e.A(82848),i={cwd:t,encoding:"utf-8",maxBuffer:524288};try{let e=n("git diff HEAD",i).trim();if(e)return e}catch{}try{let e=n("git diff --cached",i).trim();if(e)return e}catch{}return""}function k(e){for(let t of Object.values(e.nodes))if("root"===t.type)return t}async function A(e,t,n,i,r){let o,a,s,d=k(e);if(!d)return E("LLM review skipped: no root node found");let u=await v(i);if(!u)return E("LLM review skipped: no changes detected");let c=(o=d.criteria?.length?`
2
2
 
3
3
  Acceptance Criteria:
4
- ${a.criteria.map((e,t)=>`${t+1}. ${e}`).join("\n")}`:"",o=s.length>3e4?s.slice(0,3e4)+"\n\n... (diff truncated)":s,{type:"work",status:"pending",workType:"spike",title:`Quality gate review: ${a.title}`,description:["You are a code reviewer. Evaluate whether the code changes satisfy the task objective.\n\n## Task Objective",a.objective,i,"\n## Code Changes (git diff)\n```diff",o,'```\n\nRespond with your decision:\n- If the changes satisfy the objective, mark this task as done with output: {"passed": true, "reasoning": "..."}\n- If the changes do NOT satisfy the objective, mark this task as failed with output: {"passed": false, "reasoning": "..."}\n\nBe pragmatic: if the changes clearly address the objective, pass it. Only fail if the changes are clearly incomplete, wrong, or unrelated.'].join("\n"),acceptanceCriteria:a.criteria,deps:[],attempts:0,maxAttempts:1,retryPolicy:{backoffMs:0,onExhaust:"fail"},stage:"review",planNodeKey:`${t}:llm-review`}),u=await n(d,e);if("success"===u.status){let e=u.output,t=e?.passed!==!1;return{check:"llm_review",passed:t,message:e?.reasoning??"Review completed by agent",details:e?{agentOutput:e}:void 0,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:+!t}}return{check:"llm_review",passed:!1,message:"failure"===u.status?`Agent review failed: ${u.message??"unknown error"}`:`Agent review blocked: ${u.message??"unknown reason"}`,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:1}}function E(e){return{check:"llm_review",passed:!0,message:e,required:!0,command:"daemon:llm_review",timeoutMs:0,timedOut:!1,exitCode:0}}var R=e.i(97681);let T={progress:{defaultChecks:[],humanRequirement:"never"},quality_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold"],humanRequirement:"optional"},design_gate:{defaultChecks:["build_success","types_valid"],humanRequirement:"often"},handoff_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold","build_success","types_valid"],humanRequirement:"always"},approval_gate:{defaultChecks:[],humanRequirement:"always"}};class N extends Error{constructor(e){super(e),this.name="GateVerificationError"}}function _(e,t){return{...e,verificationResult:t}}function x(e,t){return{eventType:"gate_verification",nodeId:e,timestamp:t.verifiedAt,result:t}}function S(e,t,n){let r=Math.max(0,e.verifyBudgetRemaining-1);return{policy:{...e,verifyBudgetRemaining:r},exhausted:0===r,event:{eventType:"budget_consumed",budgetType:"verify",remaining:r,timestamp:n,triggerNodeId:t}}}function C(e,t,n,r){return{passed:e,checks:n,verifiedAt:r,verifiedBy:t}}async function O(e){let{gateId:t}=e,n=e.now??new Date().toISOString(),r=e.depsSatisfied??!0,i=(s=e.gate,"pending"===s.status?(0,R.transitionGateNode)(s,{type:"START",depsSatisfied:r}):s),o={...e.policy},a=[];var s,u,c,l,p,f,m=i.status;if("passed"===m||"failed"===m||"skipped"===m)throw new N(`Cannot verify gate from terminal status '${m}'`);if("progress"===i.gateType&&"running"===i.status)return i=_((0,R.transitionGateNode)(i,{type:"AUTO_PASS",humanRequired:!1}),C(!0,"agent",[],n)),a.push(x(t,i.verificationResult)),{gate:i,policy:o,autoCheckResults:[],awaitingHuman:!1,escalated:!1,events:a};let g=[];if("running"===i.status){let r,s="progress"===(u=i).gateType||"approval_gate"===u.gateType?[]:u.verificationStrategy.checks&&u.verificationStrategy.checks.length>0?[...u.verificationStrategy.checks]:[...T[u.gateType].defaultChecks];if(!(g=await d(s,e)).every(e=>!e.required||e.passed)){let e,r;return c=i,l=o,p=g,e=_((0,R.transitionGateNode)(c,{type:"AUTO_FAIL"}),C(!1,"agent",p,n)),{gate:e,policy:(r=S(l,t,n)).policy,autoCheckResults:p,awaitingHuman:!1,escalated:r.exhausted,escalationReason:r.exhausted?"verify_budget_exhausted":void 0,events:[x(t,e.verificationResult),r.event]}}if("quality_gate"===i.gateType&&e.graph&&e.dispatchReview){let r=await A(e.graph,t,e.dispatchReview,e.cwd);if(g.push(r),!r.passed){let e=_((0,R.transitionGateNode)(i,{type:"AUTO_FAIL"}),C(!1,"agent",g,n));return a.push(x(t,e.verificationResult)),{gate:e,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a,llmReviewFailed:!0,llmReviewFeedback:r.message??"LLM review failed"}}}let m="never"!==(r=T[(f=i).gateType]).humanRequirement&&("always"===r.humanRequirement||("optional"===r.humanRequirement?"human"===f.verificationStrategy.type||"hybrid"===f.verificationStrategy.type:"auto"!==f.verificationStrategy.type));if(i=_(i=(0,R.transitionGateNode)(i,{type:"AUTO_PASS",humanRequired:m}),C(!0,"agent",g,n)),a.push(x(t,i.verificationResult)),!m)return{gate:i,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a}}if("awaiting_human"!==i.status)throw new N(`Unexpected gate status '${i.status}' after verification flow`);if(void 0===e.humanDecision)return{gate:i,policy:o,autoCheckResults:g,awaitingHuman:!0,escalated:!1,events:a};if("approve"===e.humanDecision)return i=_(i=(0,R.transitionGateNode)(i,{type:"HUMAN_APPROVE"}),C(!0,"human",i.verificationResult?.checks??g,n)),a.push(x(t,i.verificationResult)),{gate:i,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a};i=_(i=(0,R.transitionGateNode)(i,{type:"HUMAN_REJECT"}),C(!1,"human",i.verificationResult?.checks??g,n));let y=S(o,t,n);return o=y.policy,a.push(x(t,i.verificationResult)),a.push(y.event),{gate:i,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:y.exhausted,escalationReason:y.exhausted?"verify_budget_exhausted":void 0,events:a}}var M=e.i(248);class b extends Error{timeoutMs;constructor(e){super(`Graph execution exceeded timeout (${e}ms).`),this.name="GraphExecutionTimeoutError",this.timeoutMs=e}}class I extends Error{nodeId;timeoutMs;constructor(e,t){super(`Node "${e}" execution exceeded timeout (${t}ms).`),this.name="NodeExecutionTimeoutError",this.nodeId=e,this.timeoutMs=t}}let $=async()=>void 0,F=(0,r.promisify)(n.execFile);function q(e){return e.nowMs?.()??Date.now()}function j(e){return new Date(q(e)).toISOString()}function U(e,t){return"gate"===t.type&&"number"==typeof t.verificationStrategy.timeout&&t.verificationStrategy.timeout>0?t.verificationStrategy.timeout:Math.max(1,e.policy.nodeTimeoutMs)}async function L(e,t){let n=Math.max(1,e.timeoutMs??t.policy.nodeTimeoutMs);try{let{stdout:t}=await F("bash",["-lc",e.command],{timeout:n,maxBuffer:65536,env:process.env,windowsHide:!0});return{status:"success",output:function(e,t){let n,r=e.trim();if(!r)throw Error(`Function node "${t}" produced empty stdout.`);try{n=JSON.parse(r)}catch(n){let e=n instanceof Error?n.message:String(n);throw Error(`Function node "${t}" stdout is not valid JSON: ${e}`)}if(!n||"object"!=typeof n||Array.isArray(n))throw Error(`Function node "${t}" stdout JSON must be an object.`);return n}(t,e.command)}}catch(e){return{status:"failure",message:function(e){if(e&&"object"==typeof e){if("ERR_CHILD_PROCESS_STDIO_MAXBUFFER"===e.code)return"Function stdout exceeded 65536 bytes.";if(e.killed&&e.signal)return`Function command timed out and was terminated (${e.signal}).`;let t=e.stderr?.trim();if(t)return t;if(e.message)return e.message}return"string"==typeof e?e:"Unknown function execution error."}(e),error:e}}}async function P(e,t,n){let r;try{return await Promise.race([e,new Promise((e,i)=>{r=setTimeout(()=>i(n()),t)})])}finally{r&&clearTimeout(r)}}function G(e,t){let n=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0};return{...e,metrics:{...n,errorMessages:[...n.errorMessages??[],t],retryCount:"work"===e.type?e.attempts:n.retryCount}}}function D(e,t,n,r){let i=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0},o="done"===e.status||"passed"===e.status||"failed"===e.status||"skipped"===e.status?j(n):e.completedAt;return{...e,completedAt:o,metrics:{...i,tokensUsed:i.tokensUsed+(r??0),latencyMs:Math.max(0,q(n)-t),retryCount:"work"===e.type?e.attempts:i.retryCount}}}async function H(e,t,n,r,i,o){let a=(0,R.transitionWorkNode)(n,{type:"FAIL",transient:o});if("pending"===a.status){let e=r.sleep??$;await e(Math.max(0,n.retryPolicy.backoffMs))}else"blocked"===a.status&&"escalate"===n.retryPolicy.onExhaust&&await r.onEscalateWorkFailure?.(a,i,e);return G(a,i.message)}async function B(e,t,n,r){let i=n;"pending"===i.status&&(i=(0,R.transitionWorkNode)(i,{type:"START",depsSatisfied:!0})),i.startedAt||(i={...i,startedAt:j(r)});let o=q(r),a=U(e,i),s=!1;try{let n=r.dispatchWork??(async()=>({status:"success"})),d=await P(n(i,e),a,()=>new I(t,a));if("success"===d.status){let e=(0,R.transitionWorkNode)(i,{type:"COMPLETE"});return{node:D({...e,output:d.output??e.output},o,r,d.tokensUsed),timedOut:s}}if("blocked"===d.status){let e=(0,R.transitionWorkNode)(i,{type:"BLOCK"}),t=d.message?G(e,d.message):e;return{node:D(t,o,r),timedOut:s}}let u=Error(d.message??"Work node failed."),c=await H(e,t,i,r,u,d.transient??!0);return{node:D(c,o,r),timedOut:s}}catch(a){let n=a instanceof Error?a:Error("string"==typeof a?a:"Unknown work execution error");return s=n instanceof I,{node:D(await H(e,t,i,r,n,!0),o,r),timedOut:s}}}async function K(e,t,n){let r=e.nodes[t];if(!r||"gate"!==r.type)throw Error(`Node "${t}" is not a gate node.`);let i=q(n),o=U(e,r),a=!1,s=e,d=!1;try{let e=await P(O({gateId:t,gate:r,policy:s.policy,now:j(n),humanDecision:n.humanDecisionsByGateId?.[t],cwd:n.checkCwd,env:n.checkEnv,executor:n.checkExecutor,graph:s,dispatchReview:n.dispatchWork}),o,()=>new I(t,o)),u=D(e.gate,i,n);if(s.nodes[t]=u,s.policy=e.policy,e.llmReviewFailed){let r=e.llmReviewFeedback??"Quality gate review failed",i=n.makeReplanFromReviewFeedback??(async(e,t,n)=>{let r,i,o,a,s;return r=k(e),i=e.graphVersion,o=`fix-from-review-v${i}`,a=`quality-gate-v${i+1}`,s={type:"work",status:"pending",workType:"implementation",title:`Fix issues from quality review (v${i})`,description:["The quality gate review found issues with the current changes.\n\n## Review Feedback",n,"",r?`## Original Objective
5
- ${r.objective}`:"","\nAddress the feedback above and fix the issues identified by the reviewer."].join("\n"),acceptanceCriteria:["Address all issues raised in the review feedback"],deps:[],attempts:0,maxAttempts:3,retryPolicy:{backoffMs:1e3,onExhaust:"fail"},stage:"fix"},{trigger:c.GATE_FAILURE,triggeredAtNodeId:t,reason:`Quality gate LLM review failed: ${n.slice(0,200)}`,triggeredBy:"agent",addNodes:{[o]:s,[a]:{type:"gate",status:"pending",gateType:"quality_gate",required:!0,verificationStrategy:{type:"auto",checks:[],timeout:3e5},deps:[o]}},addEdges:[{from:t,to:o,type:"hard",condition:"on_failure"}]}}),o=await i(s,t,r);o&&(s=(n.replan??w)(s,o),d=!0)}else if(e.escalated&&n.makeReplanRequest){let r=n.makeReplanRequest(s,t,e);r&&(s=(n.replan??w)(s,r),d=!0)}return{graph:s,node:s.nodes[t],events:e.events,replanApplied:d,timedOut:a}}catch(u){let e=u instanceof Error?u:Error("string"==typeof u?u:"Unknown gate execution error");a=e instanceof I;let o=r;"pending"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"START",depsSatisfied:!0})),"running"===o.status?o=(0,R.transitionGateNode)(o,{type:"AUTO_FAIL"}):"awaiting_human"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"HUMAN_REJECT"}));let d=G(o,e.message);return s.nodes[t]=D(d,i,n),{graph:s,node:s.nodes[t],events:[],replanApplied:!1,timedOut:a}}}async function W(t,n,r,i){let o=r;"pending"===o.status&&(o=(0,R.transitionFunctionNode)(o,{type:"START",depsSatisfied:!0})),o.startedAt||(o={...o,startedAt:j(i)});let a=q(i),s=o.timeoutMs??t.policy.nodeTimeoutMs,d=!1;try{let r=i.dispatchFunction??(async(t,n)=>{if("bash"===t.kind)return L(t,n);let{createDispatchFunction:r}=await e.A(97757);return r()(t,n)}),u=await P(r(o,t),s,()=>new I(n,s));if("success"===u.status){let e=(0,R.transitionFunctionNode)(o,{type:"COMPLETE"});return{node:D({...e,output:u.output??e.output},a,i),timedOut:d}}let c=(0,R.transitionFunctionNode)(o,{type:"FAIL"}),l=u.message?G(c,u.message):c;return u.message?.toLowerCase().includes("timed out")&&(d=!0),{node:D(l,a,i),timedOut:d}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return d=e instanceof I,{node:D(G((0,R.transitionFunctionNode)(o,{type:"FAIL"}),e.message),a,i),timedOut:d}}}async function V(e,t,n={}){!function(e,t){if(!e.policy.graphTimeoutMs)return;let n=function(e,t){if(void 0!==t.graphStartedAtMs)return t.graphStartedAtMs;let n=Date.parse(e.createdAt);return Number.isNaN(n)?q(t):n}(e,t);if(q(t)-n>e.policy.graphTimeoutMs)throw new b(e.policy.graphTimeoutMs)}(e,n);let r=structuredClone(e),o=r.nodes[t];if(!o)throw Error(`Unknown node "${t}".`);if("function"===o.type){let e=await W(r,t,o,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("work"===o.type){let e=await B(r,t,o,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("gate"===o.type){let e=await K(r,t,n);return{graph:e.graph,nodeId:t,node:e.graph.nodes[t],events:e.events,replanApplied:e.replanApplied,timedOut:e.timedOut}}if("fork"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"fork"!==n.type)throw Error(`Node "${t}" is not a fork node.`);if("pending"!==n.status||!n.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return n;let r=(0,R.transitionForkNode)(n,{type:"ACTIVATE",depsSatisfied:!0});return e.nodes[t]=r,r}(r,t);return{graph:r,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}if("join"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"join"!==n.type)throw Error(`Node "${t}" is not a join node.`);if("pending"!==n.status&&"running"!==n.status)return n;let r=n.deps.map(n=>({nodeId:n,status:e.nodes[n]?.status??"failed",edgeType:e.edges.find(e=>e.from===n&&e.to===t)?.type??"hard"})),i=(0,R.transitionJoinNode)(n,{type:"EVALUATE",dependencies:r});return e.nodes[t]=i,i}(r,t);return{graph:r,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}let a=function(e,t,n){let r=e.nodes[t];if(!r||"conditional"!==r.type)throw Error(`Node "${t}" is not a conditional node.`);if("pending"!==r.status||!r.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return r;let o=(0,R.transitionConditionalNode)(r,{type:"START",depsSatisfied:!0}).node;try{var a;let s=function(e,t,n){let r=e.nodes[t];if(!r||"conditional"!==r.type)return{graph:e,nodeId:t,ctx:{graph:e,nodeId:t}};let i=e.nodes[r.condition.inputFrom],o=i&&"output"in i?i.output??null:null;return{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:o,ctx:{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:o},...n[t]??{}}}(e,t,n.conditionContextByNodeId??{}),d=!!((a=s.input)&&"object"==typeof a&&!Array.isArray(a))&&(0,i.evaluateCondition)(r.condition.expression,s),u=(0,R.transitionConditionalNode)(o,{type:d?"CONDITION_TRUE":"CONDITION_FALSE"});for(let n of(e.nodes[t]=u.node,u.skippedBranchNodeIds)){let t=e.nodes[n];t&&"pending"===t.status&&("work"===t.type?e.nodes[n]=(0,R.transitionWorkNode)(t,{type:"SKIP"}):"function"===t.type?e.nodes[n]=(0,R.transitionFunctionNode)(t,{type:"SKIP"}):"gate"===t.type?e.nodes[n]=(0,R.transitionGateNode)(t,{type:"SKIP"}):"fork"===t.type?e.nodes[n]=(0,R.transitionForkNode)(t,{type:"SKIP"}):"join"===t.type?e.nodes[n]=(0,R.transitionJoinNode)(t,{type:"SKIP"}):"conditional"===t.type&&(e.nodes[n]=(0,R.transitionConditionalNode)(t,{type:"SKIP"}).node))}return u.node}catch(i){let n=(0,R.transitionConditionalNode)(o,{type:"CONDITION_ERROR"}).node,r=i instanceof Error?i:Error("string"==typeof i?i:"Condition evaluation failed.");return e.nodes[t]=G(n,r.message),e.nodes[t]}}(r,t,n);return{graph:r,nodeId:t,node:a,events:[],replanApplied:!1,timedOut:!1}}e.s(["executeNode",()=>V],33601)}];
4
+ ${d.criteria.map((e,t)=>`${t+1}. ${e}`).join("\n")}`:"",a=u.length>3e4?u.slice(0,3e4)+"\n\n... (diff truncated)":u,s=[r?.name?.trim()?`Reviewer: ${r.name.trim()}`:null,r?.voice?.trim()?`Voice: ${r.voice.trim()}`:null,r?.seed?.trim()?`Core orientation: ${r.seed.trim()}`:null].filter(Boolean),{type:"work",status:"pending",workType:"spike",title:`Quality gate review: ${d.title}`,description:["You are reviewing this change against the task objective.",s.length>0?`Preserve the reviewer's distinct perspective instead of flattening into generic review language.
5
+ ${s.join("\n")}`:"Preserve your configured reviewer voice and perspective. Do not flatten into generic review language.","\n## Task Objective",d.objective,o,"\n## Code Changes (git diff)\n```diff",a,'```\n\nRespond with your decision:\n- If the changes satisfy the objective, mark this task as done with output: {"passed": true, "reasoning": "..."}\n- If the changes do NOT satisfy the objective, mark this task as failed with output: {"passed": false, "reasoning": "..."}\n\nBe pragmatic: if the changes clearly address the objective, pass it. Only fail if the changes are clearly incomplete, wrong, or unrelated.'].join("\n"),acceptanceCriteria:d.criteria,deps:[],attempts:0,maxAttempts:1,retryPolicy:{backoffMs:0,onExhaust:"fail"},stage:"review",planNodeKey:`${t}:llm-review`}),l=await n(c,e);if("success"===l.status){let e=l.output,t=e?.passed!==!1;return{check:"llm_review",passed:t,message:e?.reasoning??"Review completed by agent",details:e?{agentOutput:e}:void 0,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:+!t}}return{check:"llm_review",passed:!1,message:"failure"===l.status?`Agent review failed: ${l.message??"unknown error"}`:`Agent review blocked: ${l.message??"unknown reason"}`,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:1}}function E(e){return{check:"llm_review",passed:!0,message:e,required:!0,command:"daemon:llm_review",timeoutMs:0,timedOut:!1,exitCode:0}}var R=e.i(97681);let T={progress:{defaultChecks:[],humanRequirement:"never"},quality_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold"],humanRequirement:"optional"},design_gate:{defaultChecks:["build_success","types_valid"],humanRequirement:"often"},handoff_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold","build_success","types_valid"],humanRequirement:"always"},approval_gate:{defaultChecks:[],humanRequirement:"always"}};class N extends Error{constructor(e){super(e),this.name="GateVerificationError"}}function _(e,t){return{...e,verificationResult:t}}function x(e,t){return{eventType:"gate_verification",nodeId:e,timestamp:t.verifiedAt,result:t}}function S(e,t,n){let i=Math.max(0,e.verifyBudgetRemaining-1);return{policy:{...e,verifyBudgetRemaining:i},exhausted:0===i,event:{eventType:"budget_consumed",budgetType:"verify",remaining:i,timestamp:n,triggerNodeId:t}}}function C(e,t,n,i){return{passed:e,checks:n,verifiedAt:i,verifiedBy:t}}async function O(e){let{gateId:t}=e,n=e.now??new Date().toISOString(),i=e.depsSatisfied??!0,r=(s=e.gate,"pending"===s.status?(0,R.transitionGateNode)(s,{type:"START",depsSatisfied:i}):s),o={...e.policy},a=[];var s,u,c,l,p,f,m=r.status;if("passed"===m||"failed"===m||"skipped"===m)throw new N(`Cannot verify gate from terminal status '${m}'`);if("progress"===r.gateType&&"running"===r.status)return r=_((0,R.transitionGateNode)(r,{type:"AUTO_PASS",humanRequired:!1}),C(!0,"agent",[],n)),a.push(x(t,r.verificationResult)),{gate:r,policy:o,autoCheckResults:[],awaitingHuman:!1,escalated:!1,events:a};let g=[];if("running"===r.status){let i,s="progress"===(u=r).gateType||"approval_gate"===u.gateType?[]:u.verificationStrategy.checks&&u.verificationStrategy.checks.length>0?[...u.verificationStrategy.checks]:[...T[u.gateType].defaultChecks];if(!(g=await d(s,e)).every(e=>!e.required||e.passed)){let e,i;return c=r,l=o,p=g,e=_((0,R.transitionGateNode)(c,{type:"AUTO_FAIL"}),C(!1,"agent",p,n)),{gate:e,policy:(i=S(l,t,n)).policy,autoCheckResults:p,awaitingHuman:!1,escalated:i.exhausted,escalationReason:i.exhausted?"verify_budget_exhausted":void 0,events:[x(t,e.verificationResult),i.event]}}if("quality_gate"===r.gateType&&e.graph&&e.dispatchReview){let i=await A(e.graph,t,e.dispatchReview,e.cwd);if(g.push(i),!i.passed){let e=_((0,R.transitionGateNode)(r,{type:"AUTO_FAIL"}),C(!1,"agent",g,n));return a.push(x(t,e.verificationResult)),{gate:e,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a,llmReviewFailed:!0,llmReviewFeedback:i.message??"LLM review failed"}}}let m="never"!==(i=T[(f=r).gateType]).humanRequirement&&("always"===i.humanRequirement||("optional"===i.humanRequirement?"human"===f.verificationStrategy.type||"hybrid"===f.verificationStrategy.type:"auto"!==f.verificationStrategy.type));if(r=_(r=(0,R.transitionGateNode)(r,{type:"AUTO_PASS",humanRequired:m}),C(!0,"agent",g,n)),a.push(x(t,r.verificationResult)),!m)return{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a}}if("awaiting_human"!==r.status)throw new N(`Unexpected gate status '${r.status}' after verification flow`);if(void 0===e.humanDecision)return{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!0,escalated:!1,events:a};if("approve"===e.humanDecision)return r=_(r=(0,R.transitionGateNode)(r,{type:"HUMAN_APPROVE"}),C(!0,"human",r.verificationResult?.checks??g,n)),a.push(x(t,r.verificationResult)),{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a};r=_(r=(0,R.transitionGateNode)(r,{type:"HUMAN_REJECT"}),C(!1,"human",r.verificationResult?.checks??g,n));let y=S(o,t,n);return o=y.policy,a.push(x(t,r.verificationResult)),a.push(y.event),{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:y.exhausted,escalationReason:y.exhausted?"verify_budget_exhausted":void 0,events:a}}var M=e.i(248);class b extends Error{timeoutMs;constructor(e){super(`Graph execution exceeded timeout (${e}ms).`),this.name="GraphExecutionTimeoutError",this.timeoutMs=e}}class $ extends Error{nodeId;timeoutMs;constructor(e,t){super(`Node "${e}" execution exceeded timeout (${t}ms).`),this.name="NodeExecutionTimeoutError",this.nodeId=e,this.timeoutMs=t}}let I=async()=>void 0,F=(0,i.promisify)(n.execFile);function q(e){return e.nowMs?.()??Date.now()}function j(e){return new Date(q(e)).toISOString()}function U(e,t){return"gate"===t.type&&"number"==typeof t.verificationStrategy.timeout&&t.verificationStrategy.timeout>0?t.verificationStrategy.timeout:Math.max(1,e.policy.nodeTimeoutMs)}async function L(e,t){let n=Math.max(1,e.timeoutMs??t.policy.nodeTimeoutMs);try{let{stdout:t}=await F("bash",["-lc",e.command],{timeout:n,maxBuffer:65536,env:process.env,windowsHide:!0});return{status:"success",output:function(e,t){let n,i=e.trim();if(!i)throw Error(`Function node "${t}" produced empty stdout.`);try{n=JSON.parse(i)}catch(n){let e=n instanceof Error?n.message:String(n);throw Error(`Function node "${t}" stdout is not valid JSON: ${e}`)}if(!n||"object"!=typeof n||Array.isArray(n))throw Error(`Function node "${t}" stdout JSON must be an object.`);return n}(t,e.command)}}catch(e){return{status:"failure",message:function(e){if(e&&"object"==typeof e){if("ERR_CHILD_PROCESS_STDIO_MAXBUFFER"===e.code)return"Function stdout exceeded 65536 bytes.";if(e.killed&&e.signal)return`Function command timed out and was terminated (${e.signal}).`;let t=e.stderr?.trim();if(t)return t;if(e.message)return e.message}return"string"==typeof e?e:"Unknown function execution error."}(e),error:e}}}async function P(e,t,n){let i;try{return await Promise.race([e,new Promise((e,r)=>{i=setTimeout(()=>r(n()),t)})])}finally{i&&clearTimeout(i)}}function D(e,t){let n=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0};return{...e,metrics:{...n,errorMessages:[...n.errorMessages??[],t],retryCount:"work"===e.type?e.attempts:n.retryCount}}}function G(e,t,n,i){let r=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0},o="done"===e.status||"passed"===e.status||"failed"===e.status||"skipped"===e.status?j(n):e.completedAt;return{...e,completedAt:o,metrics:{...r,tokensUsed:r.tokensUsed+(i??0),latencyMs:Math.max(0,q(n)-t),retryCount:"work"===e.type?e.attempts:r.retryCount}}}async function H(e,t,n,i,r,o){let a=(0,R.transitionWorkNode)(n,{type:"FAIL",transient:o});if("pending"===a.status){let e=i.sleep??I;await e(Math.max(0,n.retryPolicy.backoffMs))}else"blocked"===a.status&&"escalate"===n.retryPolicy.onExhaust&&await i.onEscalateWorkFailure?.(a,r,e);return D(a,r.message)}async function B(e,t,n,i){let r=n;"pending"===r.status&&(r=(0,R.transitionWorkNode)(r,{type:"START",depsSatisfied:!0})),r.startedAt||(r={...r,startedAt:j(i)});let o=q(i),a=U(e,r),s=!1;try{let n=i.dispatchWork??(async()=>({status:"success"})),d=await P(n(r,e),a,()=>new $(t,a));if("success"===d.status){let e=(0,R.transitionWorkNode)(r,{type:"COMPLETE"});return{node:G({...e,output:d.output??e.output},o,i,d.tokensUsed),timedOut:s}}if("blocked"===d.status){let e=(0,R.transitionWorkNode)(r,{type:"BLOCK"}),t=d.message?D(e,d.message):e;return{node:G(t,o,i),timedOut:s}}let u=Error(d.message??"Work node failed."),c=await H(e,t,r,i,u,d.transient??!0);return{node:G(c,o,i),timedOut:s}}catch(a){let n=a instanceof Error?a:Error("string"==typeof a?a:"Unknown work execution error");return s=n instanceof $,{node:G(await H(e,t,r,i,n,!0),o,i),timedOut:s}}}async function K(e,t,n){let i=e.nodes[t];if(!i||"gate"!==i.type)throw Error(`Node "${t}" is not a gate node.`);let r=q(n),o=U(e,i),a=!1,s=e,d=!1;try{let e=await P(O({gateId:t,gate:i,policy:s.policy,now:j(n),humanDecision:n.humanDecisionsByGateId?.[t],cwd:n.checkCwd,env:n.checkEnv,executor:n.checkExecutor,graph:s,dispatchReview:n.dispatchWork}),o,()=>new $(t,o)),u=G(e.gate,r,n);if(s.nodes[t]=u,s.policy=e.policy,e.llmReviewFailed){let i=e.llmReviewFeedback??"Quality gate review failed",r=n.makeReplanFromReviewFeedback??(async(e,t,n)=>{let i,r,o,a,s;return i=k(e),r=e.graphVersion,o=`fix-from-review-v${r}`,a=`quality-gate-v${r+1}`,s={type:"work",status:"pending",workType:"implementation",title:`Fix issues from quality review (v${r})`,description:["The quality gate review found issues with the current changes.\n\n## Review Feedback",n,"",i?`## Original Objective
6
+ ${i.objective}`:"","\nAddress the feedback above and fix the issues identified by the reviewer."].join("\n"),acceptanceCriteria:["Address all issues raised in the review feedback"],deps:[],attempts:0,maxAttempts:3,retryPolicy:{backoffMs:1e3,onExhaust:"fail"},stage:"fix"},{trigger:c.GATE_FAILURE,triggeredAtNodeId:t,reason:`Quality gate LLM review failed: ${n.slice(0,200)}`,triggeredBy:"agent",addNodes:{[o]:s,[a]:{type:"gate",status:"pending",gateType:"quality_gate",required:!0,verificationStrategy:{type:"auto",checks:[],timeout:3e5},deps:[o]}},addEdges:[{from:t,to:o,type:"hard",condition:"on_failure"}]}}),o=await r(s,t,i);o&&(s=(n.replan??w)(s,o),d=!0)}else if(e.escalated&&n.makeReplanRequest){let i=n.makeReplanRequest(s,t,e);i&&(s=(n.replan??w)(s,i),d=!0)}return{graph:s,node:s.nodes[t],events:e.events,replanApplied:d,timedOut:a}}catch(u){let e=u instanceof Error?u:Error("string"==typeof u?u:"Unknown gate execution error");a=e instanceof $;let o=i;"pending"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"START",depsSatisfied:!0})),"running"===o.status?o=(0,R.transitionGateNode)(o,{type:"AUTO_FAIL"}):"awaiting_human"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"HUMAN_REJECT"}));let d=D(o,e.message);return s.nodes[t]=G(d,r,n),{graph:s,node:s.nodes[t],events:[],replanApplied:!1,timedOut:a}}}async function V(t,n,i,r){let o=i;"pending"===o.status&&(o=(0,R.transitionFunctionNode)(o,{type:"START",depsSatisfied:!0})),o.startedAt||(o={...o,startedAt:j(r)});let a=q(r),s=o.timeoutMs??t.policy.nodeTimeoutMs,d=!1;try{let i=r.dispatchFunction??(async(t,n)=>{if("bash"===t.kind)return L(t,n);let{createDispatchFunction:i}=await e.A(97757);return i()(t,n)}),u=await P(i(o,t),s,()=>new $(n,s));if("success"===u.status){let e=(0,R.transitionFunctionNode)(o,{type:"COMPLETE"});return{node:G({...e,output:u.output??e.output},a,r),timedOut:d}}let c=(0,R.transitionFunctionNode)(o,{type:"FAIL"}),l=u.message?D(c,u.message):c;return u.message?.toLowerCase().includes("timed out")&&(d=!0),{node:G(l,a,r),timedOut:d}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return d=e instanceof $,{node:G(D((0,R.transitionFunctionNode)(o,{type:"FAIL"}),e.message),a,r),timedOut:d}}}async function W(e,t,n={}){!function(e,t){if(!e.policy.graphTimeoutMs)return;let n=function(e,t){if(void 0!==t.graphStartedAtMs)return t.graphStartedAtMs;let n=Date.parse(e.createdAt);return Number.isNaN(n)?q(t):n}(e,t);if(q(t)-n>e.policy.graphTimeoutMs)throw new b(e.policy.graphTimeoutMs)}(e,n);let i=structuredClone(e),o=i.nodes[t];if(!o)throw Error(`Unknown node "${t}".`);if("function"===o.type){let e=await V(i,t,o,n);return i.nodes[t]=e.node,{graph:i,nodeId:t,node:i.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("work"===o.type){let e=await B(i,t,o,n);return i.nodes[t]=e.node,{graph:i,nodeId:t,node:i.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("gate"===o.type){let e=await K(i,t,n);return{graph:e.graph,nodeId:t,node:e.graph.nodes[t],events:e.events,replanApplied:e.replanApplied,timedOut:e.timedOut}}if("fork"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"fork"!==n.type)throw Error(`Node "${t}" is not a fork node.`);if("pending"!==n.status||!n.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return n;let i=(0,R.transitionForkNode)(n,{type:"ACTIVATE",depsSatisfied:!0});return e.nodes[t]=i,i}(i,t);return{graph:i,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}if("join"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"join"!==n.type)throw Error(`Node "${t}" is not a join node.`);if("pending"!==n.status&&"running"!==n.status)return n;let i=n.deps.map(n=>({nodeId:n,status:e.nodes[n]?.status??"failed",edgeType:e.edges.find(e=>e.from===n&&e.to===t)?.type??"hard"})),r=(0,R.transitionJoinNode)(n,{type:"EVALUATE",dependencies:i});return e.nodes[t]=r,r}(i,t);return{graph:i,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}let a=function(e,t,n){let i=e.nodes[t];if(!i||"conditional"!==i.type)throw Error(`Node "${t}" is not a conditional node.`);if("pending"!==i.status||!i.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return i;let o=(0,R.transitionConditionalNode)(i,{type:"START",depsSatisfied:!0}).node;try{var a;let s=function(e,t,n){let i=e.nodes[t];if(!i||"conditional"!==i.type)return{graph:e,nodeId:t,ctx:{graph:e,nodeId:t}};let r=e.nodes[i.condition.inputFrom],o=r&&"output"in r?r.output??null:null;return{graph:e,nodeId:t,inputFrom:i.condition.inputFrom,input:o,ctx:{graph:e,nodeId:t,inputFrom:i.condition.inputFrom,input:o},...n[t]??{}}}(e,t,n.conditionContextByNodeId??{}),d=!!((a=s.input)&&"object"==typeof a&&!Array.isArray(a))&&(0,r.evaluateCondition)(i.condition.expression,s),u=(0,R.transitionConditionalNode)(o,{type:d?"CONDITION_TRUE":"CONDITION_FALSE"});for(let n of(e.nodes[t]=u.node,u.skippedBranchNodeIds)){let t=e.nodes[n];t&&"pending"===t.status&&("work"===t.type?e.nodes[n]=(0,R.transitionWorkNode)(t,{type:"SKIP"}):"function"===t.type?e.nodes[n]=(0,R.transitionFunctionNode)(t,{type:"SKIP"}):"gate"===t.type?e.nodes[n]=(0,R.transitionGateNode)(t,{type:"SKIP"}):"fork"===t.type?e.nodes[n]=(0,R.transitionForkNode)(t,{type:"SKIP"}):"join"===t.type?e.nodes[n]=(0,R.transitionJoinNode)(t,{type:"SKIP"}):"conditional"===t.type&&(e.nodes[n]=(0,R.transitionConditionalNode)(t,{type:"SKIP"}).node))}return u.node}catch(r){let n=(0,R.transitionConditionalNode)(o,{type:"CONDITION_ERROR"}).node,i=r instanceof Error?r:Error("string"==typeof r?r:"Condition evaluation failed.");return e.nodes[t]=D(n,i.message),e.nodes[t]}}(i,t,n);return{graph:i,nodeId:t,node:a,events:[],replanApplied:!1,timedOut:!1}}e.s(["executeNode",()=>W],33601)}];
6
7
 
7
8
  //# sourceMappingURL=src_graph_executor_ts_55c06268._.js.map