@mndrk/agx 2.0.25 → 2.0.32

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 (844) hide show
  1. package/README.md +4 -6
  2. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +6 -0
  4. package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
  5. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
  7. package/cloud-runtime/standalone/.next/routes-manifest.json +45 -0
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
  45. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -3
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
  49. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
  51. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
  70. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
  71. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
  75. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
  77. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
  81. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  84. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  86. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
  89. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
  91. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +3 -3
  93. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
  95. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +5 -4
  97. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
  99. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  101. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
  103. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  105. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
  109. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
  113. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
  119. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +3 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +5 -4
  125. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
  128. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +5 -4
  130. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -3
  132. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -3
  134. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  139. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +6 -5
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +4 -3
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +5 -4
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
  207. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
  208. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
  209. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
  210. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
  211. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
  212. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
  213. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
  214. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
  216. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
  218. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  221. package/cloud-runtime/standalone/.next/server/app/automations.rsc +4 -4
  222. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +4 -4
  223. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  225. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  226. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  227. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  231. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  232. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  233. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  242. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  243. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  244. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  250. package/cloud-runtime/standalone/.next/server/app/index.rsc +4 -4
  251. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  252. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  253. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  256. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
  263. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
  264. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
  265. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
  266. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
  267. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
  268. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
  269. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
  270. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
  276. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
  277. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
  278. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
  279. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
  280. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
  281. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
  282. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
  283. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  287. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  288. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  289. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  290. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  291. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  293. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  295. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  296. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  297. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  298. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  299. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  300. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  301. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  302. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  305. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
  306. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  308. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  309. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  311. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  312. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  313. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  314. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  315. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  317. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  319. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  320. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  321. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  322. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  323. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
  327. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  328. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  329. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
  330. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  331. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  332. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  333. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  334. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  335. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  336. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  338. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  339. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  340. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +6 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +46 -0
  343. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__10940c29._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12afd8a3._.js +3 -0
  345. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +29 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
  347. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +52 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +1 -1
  349. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +55 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2388b2b3._.js +3 -0
  351. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +20 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29ce9c60._.js +3 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2e596cc8._.js +4 -4
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +2 -2
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +14 -14
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__399b2ca9._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +8 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +52 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d318eb0._.js +146 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__507a4363._.js +4 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
  367. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5ca87ba0._.js +3 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c187704._.js +3 -0
  371. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6e59b27c._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75bff965._.js +46 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +8 -8
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__80655727._.js +3 -0
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__86f7d27b._.js +3 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94fa1edc._.js +46 -0
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98535eb3._.js +3 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9dfaaf72._.js +52 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +52 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b40c7aab._.js +1 -1
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
  385. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +52 -0
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c08bef05._.js +3 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5634f17._.js +112 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccfcbcd5._.js +42 -0
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
  392. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dede3dcd._.js +75 -0
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +25 -0
  395. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e446cb39._.js +3 -0
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e6ad07c3._.js +1 -1
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b70b67._.js +46 -0
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5a2358a._.js +7 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5b93200._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +15 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +3 -0
  404. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/_3e0d34cc._.js +97 -0
  408. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
  409. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
  410. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +57 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
  415. package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
  418. package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
  419. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  422. package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
  423. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
  424. package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
  425. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +57 -0
  430. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +18 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  432. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
  433. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +74 -30
  434. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +70 -31
  435. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
  436. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
  439. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
  440. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +3 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
  450. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
  451. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
  452. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
  453. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +3 -0
  454. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  455. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
  456. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.js +3 -0
  457. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9166c1d6._.js +3 -0
  459. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
  460. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
  463. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
  464. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0f4e70b1._.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +2 -4
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +3 -0
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _5b2b8a85._.js} +2 -2
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _68ac991e._.js} +2 -2
  470. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +3 -0
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _6fc3736e._.js} +2 -2
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +2 -4
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _fb292eed._.js} +2 -2
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _ff5799d6._.js} +2 -2
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  488. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  489. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
  490. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +3 -0
  491. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +4 -0
  492. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
  493. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  494. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  495. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  496. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  497. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  498. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  499. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  500. package/cloud-runtime/standalone/.next/static/chunks/010aff7b601302de.js +16 -0
  501. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
  502. package/cloud-runtime/standalone/.next/static/chunks/10b0642440302e99.css +2 -0
  503. package/cloud-runtime/standalone/.next/static/chunks/1f415d0ce7ebbd08.js +8 -0
  504. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +1 -0
  505. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +1 -0
  506. package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 4200b512bdc226bc.js} +1 -1
  507. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +1 -0
  508. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
  509. package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → 58025a80caa3629d.js} +1 -1
  510. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +1 -0
  511. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +1 -0
  512. package/cloud-runtime/standalone/.next/static/chunks/{da434b1ad885d636.js → 651c7c97d3bd77e0.js} +2 -4
  513. package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 6fbe08eab578c7d3.js} +1 -1
  514. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +1 -0
  515. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +1 -0
  516. package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 87f099ea02aa419d.js} +1 -1
  517. package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/{2acd153dc5252e88.js → 99174504a201d23e.js} +2 -4
  519. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +1 -0
  520. package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +1 -0
  521. package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
  522. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +1 -0
  523. package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +6 -0
  524. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
  525. package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
  526. package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.js +1 -0
  527. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
  528. package/cloud-runtime/standalone/README.md +3 -3
  529. package/cloud-runtime/standalone/app/api/chat/route.ts +38 -28
  530. package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
  531. package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
  532. package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
  533. package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
  534. package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
  535. package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
  536. package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
  537. package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
  538. package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
  539. package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
  540. package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
  541. package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
  542. package/cloud-runtime/standalone/app/globals.css +22 -22
  543. package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
  544. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +608 -0
  545. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
  546. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
  547. package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
  548. package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
  549. package/cloud-runtime/standalone/components/ActionToolbar.tsx +25 -0
  550. package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
  551. package/cloud-runtime/standalone/components/IconButton.tsx +35 -0
  552. package/cloud-runtime/standalone/components/ProjectCard.tsx +2 -2
  553. package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
  554. package/cloud-runtime/standalone/components/TaskCard.tsx +2 -4
  555. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +415 -76
  556. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +152 -101
  557. package/cloud-runtime/standalone/components/chat-ui/FileMentionPopoverItem.tsx +2 -2
  558. package/cloud-runtime/standalone/components/chat-ui/MessageList.tsx +46 -43
  559. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
  560. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +51 -23
  561. package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
  562. package/cloud-runtime/standalone/hooks/useGroupChat.ts +24 -1
  563. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +69 -6
  564. package/cloud-runtime/standalone/lib/history-store.ts +532 -38
  565. package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
  566. package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
  567. package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
  568. package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
  569. package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
  570. package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
  571. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +168 -0
  572. package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
  573. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +20 -0
  574. package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
  575. package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
  576. package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
  577. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
  578. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
  579. package/cloud-runtime/standalone/lib/task-context.ts +7 -4
  580. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
  581. package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
  582. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  583. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  584. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  585. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  586. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  587. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  588. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  589. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  590. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  591. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  592. package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  593. package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  594. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  595. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  596. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  597. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  598. package/cloud-runtime/standalone/package-lock.json +13 -0
  599. package/cloud-runtime/standalone/package.json +1 -0
  600. package/cloud-runtime/standalone/server.js +1 -1
  601. package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
  602. package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
  603. package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
  604. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
  605. package/cloud-runtime/standalone/src/graph/types.ts +3 -3
  606. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
  607. package/cloud-runtime/standalone/styles/workspaceSidebar.css +2 -0
  608. package/cloud-runtime/standalone/tsconfig.json +3 -1
  609. package/cloud-runtime/standalone/worker/index.js +2930 -137
  610. package/cloud-runtime/standalone/worker/index.ts +8 -1
  611. package/package.json +1 -1
  612. package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
  613. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
  614. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
  615. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
  616. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
  617. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
  618. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
  619. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
  620. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
  621. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
  622. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
  623. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
  624. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
  625. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
  626. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
  627. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
  628. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
  629. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
  630. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
  631. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
  632. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
  633. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
  634. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
  635. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
  636. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
  637. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
  639. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
  640. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
  641. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
  642. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
  643. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
  644. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
  645. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
  646. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
  647. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
  648. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
  649. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
  650. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
  651. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
  652. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
  653. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
  654. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
  655. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
  656. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
  657. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
  658. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
  659. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
  660. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
  661. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
  662. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
  663. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
  664. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
  665. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
  666. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
  667. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
  668. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
  669. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
  670. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
  671. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
  672. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
  673. package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
  674. package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
  675. package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
  676. package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
  677. package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
  678. package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
  679. package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
  680. package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
  681. package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
  682. package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
  683. package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
  684. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
  685. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
  686. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
  687. package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
  688. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
  689. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
  690. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
  691. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
  692. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
  693. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
  694. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
  695. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
  696. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
  697. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
  698. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
  699. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
  700. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
  701. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
  702. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
  703. package/cloud-runtime/standalone/.next/static/chunks/64f812259cf8c243.js +0 -18
  704. package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
  705. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
  706. package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
  707. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
  708. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
  709. package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
  710. package/cloud-runtime/standalone/.next/static/chunks/9d50c2514f72d926.css +0 -1
  711. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
  712. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
  713. package/cloud-runtime/standalone/.next/static/chunks/bd6c5b5b4fbd6413.css +0 -2
  714. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
  715. package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
  716. package/cloud-runtime/standalone/.next/static/chunks/eab1c7d0246592f8.js +0 -8
  717. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
  718. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  719. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  720. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  721. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  722. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  723. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  724. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  725. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  726. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  727. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  728. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  729. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  730. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  731. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  732. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  733. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  734. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  735. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  736. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  737. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  738. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  739. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  740. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  741. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  742. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  743. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  744. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  745. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  746. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  747. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  748. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  749. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  750. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  751. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  752. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  753. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  754. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  755. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  756. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  757. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  758. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  759. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  760. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  761. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  762. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  763. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  764. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  765. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  766. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  767. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  768. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  769. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  770. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  771. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  772. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  773. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  774. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  775. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  776. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  777. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  778. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  779. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  780. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  781. package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
  782. package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
  783. package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
  784. package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
  785. package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
  786. package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
  787. package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
  788. package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
  789. package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
  790. package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
  791. package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
  792. package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
  793. package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
  794. package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
  795. package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
  796. package/cloud-runtime/standalone/docs/runbook.md +0 -155
  797. package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
  798. package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
  799. package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
  800. package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
  801. package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
  802. package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
  803. package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
  804. package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
  805. package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
  806. package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
  807. package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
  808. package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
  809. package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
  810. package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
  811. package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
  812. package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
  813. package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  814. package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
  815. package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
  816. package/cloud-runtime/standalone/notes/context-audit.md +0 -21
  817. package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
  818. package/cloud-runtime/standalone/notes/project-layer.md +0 -123
  819. package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
  820. package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
  821. package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
  822. package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
  823. package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
  824. package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
  825. package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
  826. package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
  827. package/cloud-runtime/standalone/playwright-report/index.html +0 -85
  828. package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
  829. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
  830. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
  831. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
  832. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
  833. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
  834. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
  835. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
  836. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
  837. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
  838. package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
  839. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
  840. /package/cloud-runtime/standalone/.next/static/{HOfhTqGoYN6GjsW9CCf3t → i_9nSHyb52FGkCbRgv7EJ}/_buildManifest.js +0 -0
  841. /package/cloud-runtime/standalone/.next/static/{HOfhTqGoYN6GjsW9CCf3t → i_9nSHyb52FGkCbRgv7EJ}/_clientMiddlewareManifest.json +0 -0
  842. /package/cloud-runtime/standalone/.next/static/{HOfhTqGoYN6GjsW9CCf3t → i_9nSHyb52FGkCbRgv7EJ}/_ssgManifest.js +0 -0
  843. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  844. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -0,0 +1,46 @@
1
+ module.exports=[97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class n extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class a extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class i extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class o extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function s(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:n,output:a,...i}=e;return{type:t,status:r,config:i,output:a??null,metrics:n??null}}function l(e){let t={...p(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function g(e){return{query(t,r){let n=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(n.run(...r??[]),{rows:[]}):{rows:n.all(...r??[])}}}}class h{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),n=g(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=n.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new o(e.taskId,r.id);for(let[t,r]of(n.query(`INSERT INTO execution_graphs
2
+ (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
+ ON CONFLICT (id) DO UPDATE SET
5
+ task_id = excluded.task_id,
6
+ graph_version = excluded.graph_version,
7
+ mode = excluded.mode,
8
+ policy = excluded.policy,
9
+ done_criteria = excluded.done_criteria,
10
+ schedule = excluded.schedule,
11
+ created_at = excluded.created_at,
12
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,s(e.policy),s(e.doneCriteria),s(e.schedule??null),e.createdAt,e.updatedAt]),n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=c(r);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,s(a.config),s(a.output),s(a.metrics)])}for(let t of e.edges)n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,s(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(n,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(n,e.id,t);t?.skipTaskBinding||n.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let i=this.getGraphForTask(n,e.taskId);if(!i)throw new a(e.id);return i})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(g(t),e)}updateNodeRuntime(e,t,r){let n=this.getDb(),o=g(n);return n.transaction(()=>{if(!o.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new a(e);let r=Object.keys(t);if(0===r.length){let t=o.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let n=r.map(()=>"?").join(", "),c=o.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${n})`,[e,...r]),l=new Map;for(let e of c.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new i(e,g);for(let n of r){let r=t[n],a=l.get(n);if(!a||!r)continue;let i={...p(d(a.config)),...p(r.configPatch)};void 0!==r.startedAt&&(i.startedAt=r.startedAt),void 0!==r.completedAt&&(i.completedAt=r.completedAt),void 0!==r.actualMinutes&&(i.actualMinutes=r.actualMinutes),o.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??a.status,s(r.metrics??d(a.metrics)),s(r.output??d(a.output)),s(i),e,n])}let h=o.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:u(h.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let n=this.getDb(),i=g(n);return n.transaction(()=>{let r=i.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new a(e);if(t.nodes)for(let[r,n]of(i.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(n);i.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,s(t.config),s(t.output),s(t.metrics)])}if(t.edges)for(let r of(i.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))i.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
+ VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,s(r.dataMapping??null)]);let n=i.query(`UPDATE execution_graphs
19
+ SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
20
+ WHERE id = ?
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,s(t.policy??d(r.policy)??{}),s(t.doneCriteria??d(r.done_criteria)??{}),s(t.schedule??d(r.schedule)??null),e]);return{graphVersion:n.rows[0].graph_version,updatedAt:u(n.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(g(r),e,t)}getGraphForTask(e,t){let n=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!n)return null;let a=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[n.id]),i=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[n.id]),o=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[n.id]),s={};for(let e of a.rows)s[e.node_id]=function(e){let t={...p(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let n=d(e.output);return null!==n&&(t.output=n),t}(e);let c=i.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),g=[],h=[];for(let e of o.rows){let t=l(e);r.has(t.eventType)?g.push(t):h.push(t)}return{id:n.id,taskId:n.task_id,graphVersion:n.graph_version,mode:n.mode,nodes:s,edges:c,policy:d(n.policy)??{},doneCriteria:d(n.done_criteria)??{},schedule:d(n.schedule)??void 0,versionHistory:g,runtimeEvents:h,createdAt:u(n.created_at),updatedAt:u(n.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,s(r),r.timestamp])}}function E(){return new h}let _=new h;function m(e,t){return _.createGraph(e,t)}function f(e){return _.getGraph(e)}function y(e,t,r){return _.updateNodeRuntime(e,t,r)}function T(e,t,r){return _.updateGraphStructure(e,t,r)}function I(e,t){return _.appendEvent(e,t)}function S(e,r={}){let n=["graph_id = ?"],a=[e];r.eventType&&(n.push("event_type = ?"),a.push(r.eventType)),r.since&&(n.push("timestamp >= ?"),a.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
27
+ FROM graph_events
28
+ WHERE ${n.join(" AND ")}
29
+ ORDER BY timestamp ASC, event_type ASC
30
+ LIMIT ?`;return a.push(i),g((0,t.getSQLiteDb)()).query(o,a).rows.map(e=>l(e))}function v(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
31
+ FROM execution_graphs
32
+ WHERE schedule IS NOT NULL
33
+ AND json_extract(schedule, '$.rootMessageId') = ?
34
+ AND json_extract(schedule, '$.state') = 'active'
35
+ ORDER BY updated_at DESC
36
+ LIMIT 1`).get(r)??null:null}function R(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
37
+ FROM execution_graphs
38
+ WHERE schedule IS NOT NULL
39
+ AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function A(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
40
+ SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
41
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
42
+ WHERE schedule IS NOT NULL
43
+ AND json_extract(schedule, '$.rootMessageId') = ?
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>i,"GraphNotFoundError",()=>a,"GraphStore",()=>h,"GraphTaskAlreadyBoundError",()=>o,"GraphVersionConflictError",()=>n,"appendEvent",()=>I,"createGraph",()=>m,"createGraphStore",()=>E,"deactivateSchedulesByRootMessageId",()=>A,"getActiveScheduleForRootMessageId",()=>v,"getActiveScheduleRootMessageIds",()=>R,"getGraph",()=>f,"getGraphEvents",()=>S,"updateGraphStructure",()=>T,"updateNodeRuntime",()=>y])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),n=e.i(90081);async function a(e){let a=r.LOCAL_USER.id,i=await n.db.getTask(e.taskId,a);return i?{ok:!0,actor:{actorId:a,actorType:"service"},task:i,projectId:e.requestedProjectId??i.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>a])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function n(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function a(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function i(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function o(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function s(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function d(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>o,"buildGateVerificationEvent",()=>i,"buildGraphCreatedEvent",()=>n,"buildNodeStatusEvent",()=>a,"buildReplanEvent",()=>s,"buildRollbackEvent",()=>d],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},23297,83131,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function n(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function a(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>n,"isV2ReadPathEnabled",()=>a],83131);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),s=new Set(["done","passed","skipped"]);function d(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function u(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let n=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&s.has(r.status))})&&n||r.every(e=>i.has(e.status))&&n?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function p(e,t="INTAKE"){let r,n,a=u(e),o="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===a?100:0===(n=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(n.filter(e=>i.has(e.status)).length/n.length*100)));return{status:a,stage:o,progressPercent:s}}function c(e){var t;let r,a,i,o,s,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:p(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},a=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=d(t.legacy.stage,"INTAKE"),s=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&a.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&a.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&a.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===a.length)?null:{taskId:t.taskId,source:t.source,diffs:a});return u&&n()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>c,"projectLegacyCompatFromGraph",()=>p],23297)},88144,e=>{"use strict";var t=e.i(54799),r=e.i(79042);let n=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,a=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let s=o.replace(n,"").trim();if(!s)return r;let d=s.match(a);if(!d)return s;let u=s.slice(d[0].length).trim();return u||d[1].trim()||r}let s={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let n=new Date().toISOString(),a={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let n=i(e.objective);return n?o(n,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:a,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...s},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:n,updatedAt:n}}e.s(["createRootOnlyGraph",()=>d],88144)}];
45
+
46
+ //# sourceMappingURL=src_graph_14067235._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[86582,63279,e=>{"use strict";var t=e.i(94028),o=e.i(69719);let n=o.z.string().trim().min(1).refine(e=>!Number.isNaN(Date.parse(e)),{message:"Invalid ISO timestamp"}),a=o.z.string().trim().min(1),r=o.z.enum(["SIMPLE","PROJECT"]),i=o.z.enum(["work","gate","fork","join","conditional","root","function"]),s=o.z.enum(["pending","running","awaiting_human","done","passed","failed","blocked","skipped","paused","stopped"]),p=o.z.enum(["progress","quality_gate","design_gate","handoff_gate","approval_gate"]),l=o.z.enum(["fifo","critical_path","shortest_first"]),z=o.z.object({tokensUsed:o.z.number(),latencyMs:o.z.number(),retryCount:o.z.number(),errorMessages:o.z.array(o.z.string()).optional()}),u=o.z.object({backoffMs:o.z.number(),onExhaust:o.z.enum(["escalate","fail","skip"])}),d=o.z.object({id:a,content:a,author:a,createdAt:n}),c=o.z.object({content:o.z.string().trim().min(1,"Comment content is required")}),m=o.z.object({type:i,status:s,deps:o.z.array(o.z.string()),estimateMinutes:o.z.number().optional(),actualMinutes:o.z.number().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),stage:o.z.string().optional(),lane:o.z.string().optional(),metrics:z.optional(),comments:o.z.array(d).optional()}),g=o.z.object({check:a,passed:o.z.boolean(),message:o.z.string().optional(),latencyMs:o.z.number().optional(),details:o.z.record(o.z.string(),o.z.unknown()).optional()}),b=o.z.object({type:o.z.enum(["auto","human","hybrid"]),checks:o.z.array(o.z.string()).optional(),timeout:o.z.number().optional()}),h=o.z.object({passed:o.z.boolean(),checks:o.z.array(g),verifiedAt:n,verifiedBy:o.z.enum(["agent","human"])}),y=m.extend({type:o.z.literal("work"),status:o.z.enum(["pending","running","done","failed","blocked","skipped","paused","stopped"]),workType:o.z.enum(["implementation","spike"]).optional(),title:a,description:o.z.string().optional(),where:o.z.array(o.z.string()).optional(),whatChanges:o.z.array(o.z.string()).optional(),acceptanceCriteria:o.z.array(o.z.string()).optional(),todos:o.z.array(o.z.string()).optional(),verification:o.z.array(o.z.string()).optional(),generatedByPlanNodeId:o.z.string().optional(),planNodeKey:o.z.string().optional(),attempts:o.z.number(),maxAttempts:o.z.number(),retryPolicy:u,output:o.z.record(o.z.string(),o.z.unknown()).optional()}),j=m.extend({type:o.z.literal("gate"),status:o.z.enum(["pending","running","awaiting_human","passed","failed","skipped","paused","stopped"]),gateType:p,required:o.z.boolean(),verificationStrategy:b,verificationResult:h.optional()}),f=m.extend({type:o.z.literal("root"),status:s,title:a,objective:o.z.string(),criteria:o.z.array(o.z.string()).optional(),graphCreated:o.z.boolean(),planVersions:o.z.array(o.z.number()).optional()}),k=m.extend({type:o.z.literal("fork"),status:o.z.enum(["pending","done","skipped"])}),v=m.extend({type:o.z.literal("join"),status:o.z.enum(["pending","running","done","failed","skipped","paused","stopped"]),joinStrategy:o.z.enum(["all","any","n_of_m"]),requiredCount:o.z.number().optional()}),I=m.extend({type:o.z.literal("conditional"),status:o.z.enum(["pending","running","done","failed","skipped","paused","stopped"]),condition:o.z.object({expression:a,inputFrom:a}),thenBranch:o.z.array(o.z.string()),elseBranch:o.z.array(o.z.string()),evaluatedTo:o.z.enum(["then","else"]).optional()}),_=m.extend({type:o.z.literal("function"),status:o.z.enum(["pending","running","done","failed","skipped"]),kind:o.z.enum(["bash","mcp"]),title:a,description:o.z.string().optional(),command:a,args:o.z.record(o.z.string(),o.z.unknown()).optional(),timeoutMs:o.z.number().optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional()}),M=o.z.discriminatedUnion("type",[f,y,j,k,v,I,_]),R=o.z.object({from:a,to:a,type:o.z.enum(["hard","soft"]),condition:o.z.enum(["on_success","on_failure","always"]).optional(),dataMapping:o.z.array(o.z.object({sourceField:a,targetField:a})).optional()}),N=o.z.object({replanBudgetRemaining:o.z.number(),replanBudgetInitial:o.z.number(),verifyBudgetRemaining:o.z.number(),verifyBudgetInitial:o.z.number(),maxConcurrentAutoChecks:o.z.number(),immutableRequiredGates:o.z.boolean(),maxConcurrent:o.z.number(),priorityMode:l,nodeTimeoutMs:o.z.number(),graphTimeoutMs:o.z.number()}),C=o.z.object({allRequiredGatesPassed:o.z.boolean(),noRunnableOrPendingWork:o.z.boolean(),completionSinkNodeIds:o.z.array(o.z.string()).optional(),customCriteria:o.z.array(o.z.string()).optional()}),S=o.z.object({actorId:a,actorType:o.z.enum(["user","service","system"]),action:o.z.enum(["graph_create","graph_replan","graph_rollback","node_status_transition","gate_verification","budget_consumption"]),projectId:o.z.string().optional()}),A=o.z.object({eventType:o.z.literal("replan"),fromVersion:o.z.number(),toVersion:o.z.number(),timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),triggeredAtNodeId:a,changes:o.z.object({addedNodes:o.z.array(o.z.string()),removedNodes:o.z.array(o.z.string()),rewiredDeps:o.z.array(o.z.string()),estimateDeltas:o.z.record(o.z.string(),o.z.number())}),audit:S.optional()}),V=o.z.object({eventType:o.z.literal("rollback"),toCheckpoint:a,timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),audit:S.optional()}),w=o.z.object({eventType:o.z.literal("graph_created"),timestamp:n,mode:r,nodeCount:o.z.number(),edgeCount:o.z.number(),audit:S.optional()}),G=o.z.object({eventType:o.z.literal("node_status"),nodeId:a,fromStatus:s,toStatus:s,timestamp:n,reason:o.z.string().optional(),audit:S.optional()}),T=o.z.object({eventType:o.z.literal("gate_verification"),nodeId:a,timestamp:n,result:h,audit:S.optional()}),x=o.z.object({eventType:o.z.literal("budget_consumed"),budgetType:o.z.enum(["replan","verify"]),remaining:o.z.number(),timestamp:n,triggerNodeId:a,audit:S.optional()}),q=o.z.union([A,V]),B=o.z.union([w,G,T,x]),P=o.z.object({intervalMs:o.z.number().int().positive(),state:o.z.enum(["active","paused","stopped"]),resetNodeIds:o.z.array(o.z.string()),maxRuns:o.z.number().int().positive().optional(),runCount:o.z.number().int().nonnegative(),lastTickAt:o.z.number().optional(),tickInProgress:o.z.boolean(),createdAt:n,activeUntil:n.optional(),rootMessageId:a.optional()}),E=o.z.object({id:a,taskId:a,graphVersion:o.z.number(),mode:r,nodes:o.z.record(o.z.string(),M),edges:o.z.array(R),policy:N,doneCriteria:C,schedule:P.optional(),versionHistory:o.z.array(q),runtimeEvents:o.z.array(B).optional(),createdAt:n,updatedAt:n}),U=o.z.object({type:i.optional(),status:s.optional(),deps:o.z.array(o.z.string()).optional(),estimateMinutes:o.z.number().optional(),actualMinutes:o.z.number().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),stage:o.z.string().optional(),lane:o.z.string().optional(),metrics:z.optional(),title:o.z.string().optional(),description:o.z.string().optional(),workType:o.z.enum(["implementation","spike"]).optional(),where:o.z.array(o.z.string()).optional(),whatChanges:o.z.array(o.z.string()).optional(),acceptanceCriteria:o.z.array(o.z.string()).optional(),todos:o.z.array(o.z.string()).optional(),verification:o.z.array(o.z.string()).optional(),generatedByPlanNodeId:o.z.string().optional(),planNodeKey:o.z.string().optional(),attempts:o.z.number().optional(),maxAttempts:o.z.number().optional(),retryPolicy:u.partial().optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),gateType:p.optional(),required:o.z.boolean().optional(),verificationStrategy:b.partial().optional(),verificationResult:h.optional(),joinStrategy:o.z.enum(["all","any","n_of_m"]).optional(),requiredCount:o.z.number().optional(),condition:o.z.object({expression:o.z.string().optional(),inputFrom:o.z.string().optional()}).optional(),thenBranch:o.z.array(o.z.string()).optional(),elseBranch:o.z.array(o.z.string()).optional(),evaluatedTo:o.z.enum(["then","else"]).optional(),kind:o.z.enum(["bash","mcp"]).optional(),command:o.z.string().optional(),args:o.z.record(o.z.string(),o.z.unknown()).optional(),timeoutMs:o.z.number().optional(),objective:o.z.string().optional(),graphCreated:o.z.boolean().optional(),criteria:o.z.array(o.z.string()).optional()}).passthrough(),D=o.z.object({graph:E.optional(),mode:r.optional(),nodes:o.z.record(o.z.string(),U).optional(),edges:o.z.array(R).optional(),policy:N.partial().optional(),doneCriteria:C.partial().optional(),schedule:P.optional(),ifMatchGraphVersion:o.z.number().int().positive().optional(),projectId:a.optional(),project_id:a.optional(),migration:o.z.boolean().optional()}),F=o.z.object({status:s.optional(),metrics:z.optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),actualMinutes:o.z.number().optional(),configPatch:o.z.record(o.z.string(),o.z.unknown()).optional()}),O=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),nodeUpdates:o.z.record(o.z.string(),F),budgetUpdates:o.z.array(o.z.object({budgetType:o.z.enum(["replan","verify"]),remaining:o.z.number(),triggerNodeId:a})).optional(),projectId:a.optional(),project_id:a.optional()}),H=o.z.object({graph:E.optional(),graphId:a.optional(),mode:r.optional(),nodes:o.z.record(o.z.string(),M.or(U)).optional(),edges:o.z.array(R).optional(),policy:N.partial().optional(),doneCriteria:C.partial().optional(),schedule:P.optional(),runtimeEvents:o.z.array(B).optional(),status:o.z.string().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),timedOutAt:n.optional(),ifMatchGraphVersion:o.z.number().int().positive().optional(),projectId:a.optional(),project_id:a.optional()}).passthrough();o.z.union([O,H]);let J=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),triggeredAtNodeId:a,reason:a,projectId:a.optional(),project_id:a.optional(),proposedChanges:o.z.object({addNodes:o.z.record(o.z.string(),U).optional(),removeNodes:o.z.array(o.z.string()).optional(),rewireEdges:o.z.array(R).optional(),estimateDeltas:o.z.record(o.z.string(),o.z.number()).optional()}).optional()}),K=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),toCheckpoint:a,reason:o.z.string().optional(),projectId:a.optional(),project_id:a.optional()}),L=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),startedAt:n.optional(),projectId:a.optional(),project_id:a.optional()}),W=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),metrics:z.optional(),completedAt:n.nullable().optional(),actualMinutes:o.z.number().optional(),projectId:a.optional(),project_id:a.optional()}),$=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),error:a,retry:o.z.boolean().optional(),metrics:z.optional(),completedAt:n.nullable().optional(),projectId:a.optional(),project_id:a.optional()}),Q=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),approved:o.z.boolean(),feedback:o.z.string().optional(),checks:o.z.array(g).optional(),completedAt:n.nullable().optional(),projectId:a.optional(),project_id:a.optional()}),X=o.z.object({graph:E}),Y=o.z.object({graphId:a,nodeId:a,graphVersion:o.z.number(),updatedAt:n}),Z=o.z.object({update:o.z.object({graphVersion:o.z.number(),updatedAt:n})}),ee=o.z.object({error:a,expectedVersion:o.z.number(),actualVersion:o.z.number(),currentGraphVersion:o.z.number()}),et=o.z.object({version:o.z.number(),eventType:o.z.enum(["replan","rollback"]),timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),diff:o.z.object({addedNodes:o.z.array(o.z.string()),removedNodes:o.z.array(o.z.string()),rewiredDeps:o.z.array(o.z.string()),estimateDeltas:o.z.record(o.z.string(),o.z.number())}),checkpointNodeId:o.z.string().optional()}),eo=o.z.object({graphId:a,taskId:a,currentGraphVersion:o.z.number(),history:o.z.array(et)}),en=o.z.object({totalNodes:o.z.number(),completedNodes:o.z.number(),failedNodes:o.z.number(),totalTokensUsed:o.z.number(),totalLatencyMs:o.z.number(),estimatedMinutes:o.z.number(),actualMinutes:o.z.number(),replanCount:o.z.number(),gatePassRate:o.z.number()}),ea=o.z.object({graphId:a,taskId:a,currentGraphVersion:o.z.number(),metrics:en}),er=o.z.object({error:a});e.s(["AddNodeCommentRequestSchema",0,c,"CompleteNodeRequestSchema",0,W,"ConflictResponseSchema",0,ee,"CreateGraphRequestSchema",0,D,"DaemonGraphPatchRequestSchema",0,H,"ErrorResponseSchema",0,er,"FailNodeRequestSchema",0,$,"GraphEnvelopeResponseSchema",0,X,"GraphHistoryResponseSchema",0,eo,"GraphMetricsResponseSchema",0,ea,"GraphUpdateResponseSchema",0,Z,"NodeMutationResponseSchema",0,Y,"ReplanRequestSchema",0,J,"RollbackRequestSchema",0,K,"StartNodeRequestSchema",0,L,"UpdateNodeRuntimeRequestSchema",0,O,"VerifyGateRequestSchema",0,Q],63279);let ei=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function es(e){let t=e.trim();return t&&ei.test(t)?t:null}function ep(e){let t=e.trim();return t.length>0?t:null}function el(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}async function ez(e,o){let n=await e.json().catch(()=>({})),a=o.safeParse(n);return a.success?{ok:!0,data:a.data}:{ok:!1,response:t.NextResponse.json({error:"Invalid request payload",issues:a.error.issues.map(e=>({path:e.path.join("."),message:e.message}))},{status:400})}}function eu(e,o,n){return t.NextResponse.json(e.parse(o),n)}function ed(e){return eu(ee,{error:e.message,expectedVersion:e.expectedVersion,actualVersion:e.actualVersion,currentGraphVersion:e.actualVersion},{status:409})}e.s(["graphConflictResponse",()=>ed,"jsonWithSchema",()=>eu,"normalizeNodeId",()=>ep,"normalizeOptionalString",()=>el,"normalizeTaskId",()=>es,"parseJsonBody",()=>ez],86582)}];
1
+ module.exports=[86582,63279,e=>{"use strict";var t=e.i(94028),o=e.i(69719);let n=o.z.string().trim().min(1).refine(e=>!Number.isNaN(Date.parse(e)),{message:"Invalid ISO timestamp"}),a=o.z.string().trim().min(1),r=o.z.enum(["SIMPLE","PROJECT"]),i=o.z.enum(["work","gate","fork","join","conditional","root","function"]),s=o.z.enum(["pending","running","awaiting_human","done","passed","failed","blocked","skipped","paused","stopped"]),p=o.z.enum(["progress","quality_gate","design_gate","handoff_gate","approval_gate"]),l=o.z.enum(["fifo","critical_path","shortest_first"]),z=o.z.object({tokensUsed:o.z.number(),latencyMs:o.z.number(),retryCount:o.z.number(),errorMessages:o.z.array(o.z.string()).optional()}),u=o.z.object({backoffMs:o.z.number(),onExhaust:o.z.enum(["escalate","fail","skip"])}),d=o.z.object({id:a,content:a,author:a,createdAt:n}),c=o.z.object({content:o.z.string().trim().min(1,"Comment content is required")}),m=o.z.object({type:i,status:s,deps:o.z.array(o.z.string()),estimateMinutes:o.z.number().optional(),actualMinutes:o.z.number().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),stage:o.z.string().optional(),lane:o.z.string().optional(),metrics:z.optional(),comments:o.z.array(d).optional()}),g=o.z.object({check:a,passed:o.z.boolean(),message:o.z.string().optional(),latencyMs:o.z.number().optional(),details:o.z.record(o.z.string(),o.z.unknown()).optional()}),b=o.z.object({type:o.z.enum(["auto","human","hybrid"]),checks:o.z.array(o.z.string()).optional(),timeout:o.z.number().optional()}),h=o.z.object({passed:o.z.boolean(),checks:o.z.array(g),verifiedAt:n,verifiedBy:o.z.enum(["agent","human"])}),y=m.extend({type:o.z.literal("work"),status:o.z.enum(["pending","running","done","failed","blocked","skipped","paused","stopped"]),workType:o.z.enum(["implementation","spike"]).optional(),title:a,description:o.z.string().optional(),where:o.z.array(o.z.string()).optional(),whatChanges:o.z.array(o.z.string()).optional(),acceptanceCriteria:o.z.array(o.z.string()).optional(),todos:o.z.array(o.z.string()).optional(),verification:o.z.array(o.z.string()).optional(),generatedByPlanNodeId:o.z.string().optional(),planNodeKey:o.z.string().optional(),attempts:o.z.number(),maxAttempts:o.z.number(),retryPolicy:u,output:o.z.record(o.z.string(),o.z.unknown()).optional()}),j=m.extend({type:o.z.literal("gate"),status:o.z.enum(["pending","running","awaiting_human","passed","failed","skipped","paused","stopped"]),gateType:p,required:o.z.boolean(),verificationStrategy:b,verificationResult:h.optional()}),f=m.extend({type:o.z.literal("root"),status:s,title:a,objective:o.z.string(),criteria:o.z.array(o.z.string()).optional(),graphCreated:o.z.boolean(),planVersions:o.z.array(o.z.number()).optional()}),k=m.extend({type:o.z.literal("fork"),status:o.z.enum(["pending","done","skipped"])}),v=m.extend({type:o.z.literal("join"),status:o.z.enum(["pending","running","done","failed","skipped","paused","stopped"]),joinStrategy:o.z.enum(["all","any","n_of_m"]),requiredCount:o.z.number().optional()}),I=m.extend({type:o.z.literal("conditional"),status:o.z.enum(["pending","running","done","failed","skipped","paused","stopped"]),condition:o.z.object({expression:a,inputFrom:a}),thenBranch:o.z.array(o.z.string()),elseBranch:o.z.array(o.z.string()),evaluatedTo:o.z.enum(["then","else"]).optional()}),_=m.extend({type:o.z.literal("function"),status:o.z.enum(["pending","running","done","failed","skipped"]),kind:o.z.enum(["bash","mcp","internal"]),title:a,description:o.z.string().optional(),command:a,args:o.z.record(o.z.string(),o.z.unknown()).optional(),timeoutMs:o.z.number().optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional()}),M=o.z.discriminatedUnion("type",[f,y,j,k,v,I,_]),R=o.z.object({from:a,to:a,type:o.z.enum(["hard","soft"]),condition:o.z.enum(["on_success","on_failure","always"]).optional(),dataMapping:o.z.array(o.z.object({sourceField:a,targetField:a})).optional()}),N=o.z.object({replanBudgetRemaining:o.z.number(),replanBudgetInitial:o.z.number(),verifyBudgetRemaining:o.z.number(),verifyBudgetInitial:o.z.number(),maxConcurrentAutoChecks:o.z.number(),immutableRequiredGates:o.z.boolean(),maxConcurrent:o.z.number(),priorityMode:l,nodeTimeoutMs:o.z.number(),graphTimeoutMs:o.z.number()}),C=o.z.object({allRequiredGatesPassed:o.z.boolean(),noRunnableOrPendingWork:o.z.boolean(),completionSinkNodeIds:o.z.array(o.z.string()).optional(),customCriteria:o.z.array(o.z.string()).optional()}),S=o.z.object({actorId:a,actorType:o.z.enum(["user","service","system"]),action:o.z.enum(["graph_create","graph_replan","graph_rollback","node_status_transition","gate_verification","budget_consumption"]),projectId:o.z.string().optional()}),A=o.z.object({eventType:o.z.literal("replan"),fromVersion:o.z.number(),toVersion:o.z.number(),timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),triggeredAtNodeId:a,changes:o.z.object({addedNodes:o.z.array(o.z.string()),removedNodes:o.z.array(o.z.string()),rewiredDeps:o.z.array(o.z.string()),estimateDeltas:o.z.record(o.z.string(),o.z.number())}),audit:S.optional()}),V=o.z.object({eventType:o.z.literal("rollback"),toCheckpoint:a,timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),audit:S.optional()}),w=o.z.object({eventType:o.z.literal("graph_created"),timestamp:n,mode:r,nodeCount:o.z.number(),edgeCount:o.z.number(),audit:S.optional()}),G=o.z.object({eventType:o.z.literal("node_status"),nodeId:a,fromStatus:s,toStatus:s,timestamp:n,reason:o.z.string().optional(),audit:S.optional()}),T=o.z.object({eventType:o.z.literal("gate_verification"),nodeId:a,timestamp:n,result:h,audit:S.optional()}),x=o.z.object({eventType:o.z.literal("budget_consumed"),budgetType:o.z.enum(["replan","verify"]),remaining:o.z.number(),timestamp:n,triggerNodeId:a,audit:S.optional()}),q=o.z.union([A,V]),B=o.z.union([w,G,T,x]),P=o.z.object({intervalMs:o.z.number().int().positive(),state:o.z.enum(["active","paused","stopped"]),resetNodeIds:o.z.array(o.z.string()),maxRuns:o.z.number().int().positive().optional(),runCount:o.z.number().int().nonnegative(),lastTickAt:o.z.number().optional(),tickInProgress:o.z.boolean(),createdAt:n,activeUntil:n.optional(),rootMessageId:a.optional()}),E=o.z.object({id:a,taskId:a,graphVersion:o.z.number(),mode:r,nodes:o.z.record(o.z.string(),M),edges:o.z.array(R),policy:N,doneCriteria:C,schedule:P.optional(),versionHistory:o.z.array(q),runtimeEvents:o.z.array(B).optional(),createdAt:n,updatedAt:n}),U=o.z.object({type:i.optional(),status:s.optional(),deps:o.z.array(o.z.string()).optional(),estimateMinutes:o.z.number().optional(),actualMinutes:o.z.number().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),stage:o.z.string().optional(),lane:o.z.string().optional(),metrics:z.optional(),title:o.z.string().optional(),description:o.z.string().optional(),workType:o.z.enum(["implementation","spike"]).optional(),where:o.z.array(o.z.string()).optional(),whatChanges:o.z.array(o.z.string()).optional(),acceptanceCriteria:o.z.array(o.z.string()).optional(),todos:o.z.array(o.z.string()).optional(),verification:o.z.array(o.z.string()).optional(),generatedByPlanNodeId:o.z.string().optional(),planNodeKey:o.z.string().optional(),attempts:o.z.number().optional(),maxAttempts:o.z.number().optional(),retryPolicy:u.partial().optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),gateType:p.optional(),required:o.z.boolean().optional(),verificationStrategy:b.partial().optional(),verificationResult:h.optional(),joinStrategy:o.z.enum(["all","any","n_of_m"]).optional(),requiredCount:o.z.number().optional(),condition:o.z.object({expression:o.z.string().optional(),inputFrom:o.z.string().optional()}).optional(),thenBranch:o.z.array(o.z.string()).optional(),elseBranch:o.z.array(o.z.string()).optional(),evaluatedTo:o.z.enum(["then","else"]).optional(),kind:o.z.enum(["bash","mcp","internal"]).optional(),command:o.z.string().optional(),args:o.z.record(o.z.string(),o.z.unknown()).optional(),timeoutMs:o.z.number().optional(),objective:o.z.string().optional(),graphCreated:o.z.boolean().optional(),criteria:o.z.array(o.z.string()).optional()}).passthrough(),D=o.z.object({graph:E.optional(),mode:r.optional(),nodes:o.z.record(o.z.string(),U).optional(),edges:o.z.array(R).optional(),policy:N.partial().optional(),doneCriteria:C.partial().optional(),schedule:P.optional(),ifMatchGraphVersion:o.z.number().int().positive().optional(),projectId:a.optional(),project_id:a.optional(),migration:o.z.boolean().optional()}),F=o.z.object({status:s.optional(),metrics:z.optional(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),actualMinutes:o.z.number().optional(),configPatch:o.z.record(o.z.string(),o.z.unknown()).optional()}),O=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),nodeUpdates:o.z.record(o.z.string(),F),budgetUpdates:o.z.array(o.z.object({budgetType:o.z.enum(["replan","verify"]),remaining:o.z.number(),triggerNodeId:a})).optional(),projectId:a.optional(),project_id:a.optional()}),H=o.z.object({graph:E.optional(),graphId:a.optional(),mode:r.optional(),nodes:o.z.record(o.z.string(),M.or(U)).optional(),edges:o.z.array(R).optional(),policy:N.partial().optional(),doneCriteria:C.partial().optional(),schedule:P.optional(),runtimeEvents:o.z.array(B).optional(),status:o.z.string().optional(),startedAt:n.optional(),completedAt:n.nullable().optional(),timedOutAt:n.optional(),ifMatchGraphVersion:o.z.number().int().positive().optional(),projectId:a.optional(),project_id:a.optional()}).passthrough();o.z.union([O,H]);let J=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),triggeredAtNodeId:a,reason:a,projectId:a.optional(),project_id:a.optional(),proposedChanges:o.z.object({addNodes:o.z.record(o.z.string(),U).optional(),removeNodes:o.z.array(o.z.string()).optional(),rewireEdges:o.z.array(R).optional(),estimateDeltas:o.z.record(o.z.string(),o.z.number()).optional()}).optional()}),K=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),toCheckpoint:a,reason:o.z.string().optional(),projectId:a.optional(),project_id:a.optional()}),L=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),startedAt:n.optional(),projectId:a.optional(),project_id:a.optional()}),W=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),output:o.z.record(o.z.string(),o.z.unknown()).optional(),metrics:z.optional(),completedAt:n.nullable().optional(),actualMinutes:o.z.number().optional(),projectId:a.optional(),project_id:a.optional()}),$=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),error:a,retry:o.z.boolean().optional(),metrics:z.optional(),completedAt:n.nullable().optional(),projectId:a.optional(),project_id:a.optional()}),Q=o.z.object({ifMatchGraphVersion:o.z.number().int().positive(),approved:o.z.boolean(),feedback:o.z.string().optional(),checks:o.z.array(g).optional(),completedAt:n.nullable().optional(),projectId:a.optional(),project_id:a.optional()}),X=o.z.object({graph:E}),Y=o.z.object({graphId:a,nodeId:a,graphVersion:o.z.number(),updatedAt:n}),Z=o.z.object({update:o.z.object({graphVersion:o.z.number(),updatedAt:n})}),ee=o.z.object({error:a,expectedVersion:o.z.number(),actualVersion:o.z.number(),currentGraphVersion:o.z.number()}),et=o.z.object({version:o.z.number(),eventType:o.z.enum(["replan","rollback"]),timestamp:n,reason:a,triggeredBy:o.z.enum(["agent","human"]),diff:o.z.object({addedNodes:o.z.array(o.z.string()),removedNodes:o.z.array(o.z.string()),rewiredDeps:o.z.array(o.z.string()),estimateDeltas:o.z.record(o.z.string(),o.z.number())}),checkpointNodeId:o.z.string().optional()}),eo=o.z.object({graphId:a,taskId:a,currentGraphVersion:o.z.number(),history:o.z.array(et)}),en=o.z.object({totalNodes:o.z.number(),completedNodes:o.z.number(),failedNodes:o.z.number(),totalTokensUsed:o.z.number(),totalLatencyMs:o.z.number(),estimatedMinutes:o.z.number(),actualMinutes:o.z.number(),replanCount:o.z.number(),gatePassRate:o.z.number()}),ea=o.z.object({graphId:a,taskId:a,currentGraphVersion:o.z.number(),metrics:en}),er=o.z.object({error:a});e.s(["AddNodeCommentRequestSchema",0,c,"CompleteNodeRequestSchema",0,W,"ConflictResponseSchema",0,ee,"CreateGraphRequestSchema",0,D,"DaemonGraphPatchRequestSchema",0,H,"ErrorResponseSchema",0,er,"FailNodeRequestSchema",0,$,"GraphEnvelopeResponseSchema",0,X,"GraphHistoryResponseSchema",0,eo,"GraphMetricsResponseSchema",0,ea,"GraphUpdateResponseSchema",0,Z,"NodeMutationResponseSchema",0,Y,"ReplanRequestSchema",0,J,"RollbackRequestSchema",0,K,"StartNodeRequestSchema",0,L,"UpdateNodeRuntimeRequestSchema",0,O,"VerifyGateRequestSchema",0,Q],63279);let ei=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function es(e){let t=e.trim();return t&&ei.test(t)?t:null}function ep(e){let t=e.trim();return t.length>0?t:null}function el(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}async function ez(e,o){let n=await e.json().catch(()=>({})),a=o.safeParse(n);return a.success?{ok:!0,data:a.data}:{ok:!1,response:t.NextResponse.json({error:"Invalid request payload",issues:a.error.issues.map(e=>({path:e.path.join("."),message:e.message}))},{status:400})}}function eu(e,o,n){return t.NextResponse.json(e.parse(o),n)}function ed(e){return eu(ee,{error:e.message,expectedVersion:e.expectedVersion,actualVersion:e.actualVersion,currentGraphVersion:e.actualVersion},{status:409})}e.s(["graphConflictResponse",()=>ed,"jsonWithSchema",()=>eu,"normalizeNodeId",()=>ep,"normalizeOptionalString",()=>el,"normalizeTaskId",()=>es,"parseJsonBody",()=>ez],86582)}];
2
2
 
3
3
  //# sourceMappingURL=src_graph_api-route-utils_ts_b7225a0e._.js.map
@@ -0,0 +1,46 @@
1
+ module.exports=[97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class a extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class o extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function d(e){return null==e?null:JSON.stringify(e)}function s(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:a,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:a??null}}function l(e){let t={...p(s(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function g(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class h{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=g(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
2
+ (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
+ ON CONFLICT (id) DO UPDATE SET
5
+ task_id = excluded.task_id,
6
+ graph_version = excluded.graph_version,
7
+ mode = excluded.mode,
8
+ policy = excluded.policy,
9
+ done_criteria = excluded.done_criteria,
10
+ schedule = excluded.schedule,
11
+ created_at = excluded.created_at,
12
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,d(e.policy),d(e.doneCriteria),d(e.schedule??null),e.createdAt,e.updatedAt]),a.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),a.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let o=c(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,o.type,o.status,d(o.config),d(o.output),d(o.metrics)])}for(let t of e.edges)a.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,d(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(a,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(a,e.id,t);t?.skipTaskBinding||a.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(a,e.taskId);if(!n)throw new o(e.id);return n})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(g(t),e)}updateNodeRuntime(e,t,r){let a=this.getDb(),i=g(a);return a.transaction(()=>{if(!i.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new o(e);let r=Object.keys(t);if(0===r.length){let t=i.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),c=i.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),l=new Map;for(let e of c.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new n(e,g);for(let a of r){let r=t[a],o=l.get(a);if(!o||!r)continue;let n={...p(s(o.config)),...p(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),i.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,d(r.metrics??s(o.metrics)),d(r.output??s(o.output)),d(n),e,a])}let h=i.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:u(h.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),n=g(a);return a.transaction(()=>{let r=n.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new o(e);if(t.nodes)for(let[r,a]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(a);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,d(t.config),d(t.output),d(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
+ VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,d(r.dataMapping??null)]);let a=n.query(`UPDATE execution_graphs
19
+ SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
20
+ WHERE id = ?
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,d(t.policy??s(r.policy)??{}),d(t.doneCriteria??s(r.done_criteria)??{}),d(t.schedule??s(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:u(a.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(g(r),e,t)}getGraphForTask(e,t){let a=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!a)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[a.id]),i=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),d={};for(let e of o.rows)d[e.node_id]=function(e){let t={...p(s(e.config)),type:e.type,status:e.status},r=s(e.metrics);null!==r&&(t.metrics=r);let a=s(e.output);return null!==a&&(t.output=a),t}(e);let c=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:s(e.condition)}:{},...e.data_mapping?{dataMapping:s(e.data_mapping)}:{}})),g=[],h=[];for(let e of i.rows){let t=l(e);r.has(t.eventType)?g.push(t):h.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:d,edges:c,policy:s(a.policy)??{},doneCriteria:s(a.done_criteria)??{},schedule:s(a.schedule)??void 0,versionHistory:g,runtimeEvents:h,createdAt:u(a.created_at),updatedAt:u(a.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,d(r),r.timestamp])}}function E(){return new h}let m=new h;function _(e,t){return m.createGraph(e,t)}function f(e){return m.getGraph(e)}function S(e,t,r){return m.updateNodeRuntime(e,t,r)}function I(e,t,r){return m.updateGraphStructure(e,t,r)}function y(e,t){return m.appendEvent(e,t)}function T(e,r={}){let a=["graph_id = ?"],o=[e];r.eventType&&(a.push("event_type = ?"),o.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),o.push(r.since));let n=r.limit??1e3,i=`SELECT event_type, payload, timestamp
27
+ FROM graph_events
28
+ WHERE ${a.join(" AND ")}
29
+ ORDER BY timestamp ASC, event_type ASC
30
+ LIMIT ?`;return o.push(n),g((0,t.getSQLiteDb)()).query(i,o).rows.map(e=>l(e))}function R(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
31
+ FROM execution_graphs
32
+ WHERE schedule IS NOT NULL
33
+ AND json_extract(schedule, '$.rootMessageId') = ?
34
+ AND json_extract(schedule, '$.state') = 'active'
35
+ ORDER BY updated_at DESC
36
+ LIMIT 1`).get(r)??null:null}function v(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
37
+ FROM execution_graphs
38
+ WHERE schedule IS NOT NULL
39
+ AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function N(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
40
+ SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
41
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
42
+ WHERE schedule IS NOT NULL
43
+ AND json_extract(schedule, '$.rootMessageId') = ?
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>n,"GraphNotFoundError",()=>o,"GraphStore",()=>h,"GraphTaskAlreadyBoundError",()=>i,"GraphVersionConflictError",()=>a,"appendEvent",()=>y,"createGraph",()=>_,"createGraphStore",()=>E,"deactivateSchedulesByRootMessageId",()=>N,"getActiveScheduleForRootMessageId",()=>R,"getActiveScheduleRootMessageIds",()=>v,"getGraph",()=>f,"getGraphEvents",()=>T,"updateGraphStructure",()=>I,"updateNodeRuntime",()=>S])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),a=e.i(90081);async function o(e){let o=r.LOCAL_USER.id,n=await a.db.getTask(e.taskId,o);return n?{ok:!0,actor:{actorId:o,actorType:"service"},task:n,projectId:e.requestedProjectId??n.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>o])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function a(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function o(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function n(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function i(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function d(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function s(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>i,"buildGateVerificationEvent",()=>n,"buildGraphCreatedEvent",()=>a,"buildNodeStatusEvent",()=>o,"buildReplanEvent",()=>d,"buildRollbackEvent",()=>s],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},39760,e=>{"use strict";var t=e.i(69719),r=e.i(73122),a=e.i(63279),o=e.i(86582),n=e.i(6838),i=e.i(77036),d=e.i(97812),s=e.i(97681);let u=t.z.object({error:t.z.string().min(1),nodeIds:t.z.array(t.z.string())});async function p(e){try{await (0,d.appendEvent)(e.graphId,(0,r.buildNodeStatusEvent)({actor:e.actor,nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,reason:e.reason,projectId:e.projectId}))}catch(e){console.error("Failed to append rejected node transition event",e)}}async function c(e){let t=await (0,n.authorizeGraphMutation)({request:e.request,taskId:e.taskId,action:e.action,requestedProjectId:e.requestedProjectId});if(!t.ok)return t.response;let c=await (0,d.getGraph)(e.taskId);if(!c)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Graph not found"},{status:404});let l=c.nodes[e.nodeId];if(!l)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Node not found"},{status:404});if(e.allowedFromStatuses&&!e.allowedFromStatuses.includes(l.status))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:`Rejected: node must be in one of [${e.allowedFromStatuses.join(", ")}] to ${e.action}`}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Cannot ${e.action} node ${e.nodeId}: current status is ${l.status}`},{status:400});try{(0,s.assertValidNodeStatusTransition)(l.type,l.status,e.targetStatus)}catch{return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected invalid transition"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Invalid node transition for ${e.nodeId}: ${l.status} -> ${e.targetStatus}`},{status:400})}if("gate"===l.type&&"pending"===l.status&&"passed"===e.targetStatus&&!function(e){if("gate"!==e.type)return!1;let t=e.verificationStrategy.checks??[];return"progress"===e.gateType&&0===t.length&&"auto"===e.verificationStrategy.type}(l))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected required gate bypass"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Required gate transition blocked for node ${e.nodeId}`},{status:400});try{let n={...e.patch??{},status:e.targetStatus};e.resetWorkAttempts&&"work"===l.type&&(n.configPatch={...n.configPatch??{},attempts:0});let s={[e.nodeId]:{...n}},u=await (0,d.updateNodeRuntime)(c.id,s,e.ifMatchGraphVersion??c.graphVersion),p=new Date().toISOString();if(await (0,d.appendEvent)(c.id,(0,r.buildNodeStatusEvent)({actor:t.actor,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:e.reason,timestamp:p,projectId:t.projectId})),("gate"===l.type||"node_verify"===e.action)&&("passed"===e.targetStatus||"failed"===e.targetStatus)){let a="passed"===e.targetStatus;(0,i.recordGateVerificationResult)(a),await (0,d.appendEvent)(c.id,(0,r.buildGateVerificationEvent)({actor:t.actor,nodeId:e.nodeId,timestamp:p,result:{passed:a,checks:e.gateChecks??[],verifiedAt:p,verifiedBy:"user"===t.actor.actorType?"human":"agent"},projectId:t.projectId}))}if(e.consumeVerifyBudget||"node_verify"===e.action){let a=Math.max(0,c.policy.verifyBudgetRemaining-1);await (0,d.appendEvent)(c.id,(0,r.buildBudgetConsumedEvent)({actor:t.actor,budgetType:"verify",remaining:a,triggerNodeId:e.nodeId,timestamp:p,projectId:t.projectId}))}return(0,o.jsonWithSchema)(a.NodeMutationResponseSchema,{graphId:c.id,nodeId:e.nodeId,graphVersion:u.graphVersion,updatedAt:u.updatedAt})}catch(e){if(e instanceof d.GraphVersionConflictError)return(0,o.graphConflictResponse)(e);if(e instanceof d.GraphNodeNotFoundError)return(0,o.jsonWithSchema)(u,{error:e.message,nodeIds:e.nodeIds},{status:404});return console.error("Error mutating node status:",e),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Failed to mutate node status"},{status:500})}}e.s(["applyNodeStatusMutation",()=>c])}];
45
+
46
+ //# sourceMappingURL=src_graph_b63e2d39._.js.map
@@ -1,7 +1,7 @@
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){let r,o,a=k(e);if(!a)return E("LLM review skipped: no root node found");let s=await v(i);if(!s)return E("LLM review skipped: no changes detected");let d=(r=a.criteria?.length?`
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?`
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,r,"\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 N={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 T 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 T(`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]:[...N[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=N[(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 T(`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 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,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 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,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??$;await e(Math.max(0,n.retryPolicy.backoffMs))}else"blocked"===a.status&&"escalate"===n.retryPolicy.onExhaust&&await i.onEscalateWorkFailure?.(a,r,e);return G(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 I(t,a));if("success"===d.status){let e=(0,R.transitionWorkNode)(r,{type:"COMPLETE"});return{node:D({...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?G(e,d.message):e;return{node:D(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:D(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 I,{node:D(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 I(t,o)),u=D(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
5
- ${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 I;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=G(o,e.message);return s.nodes[t]=D(d,r,n),{graph:s,node:s.nodes[t],events:[],replanApplied:!1,timedOut:a}}}async function W(e,t,n,i){let r=n;"pending"===r.status&&(r=(0,R.transitionFunctionNode)(r,{type:"START",depsSatisfied:!0})),r.startedAt||(r={...r,startedAt:j(i)});let o=q(i),a=r.timeoutMs??e.policy.nodeTimeoutMs,s=!1;try{let n=i.dispatchFunction??("bash"===r.kind?L:async()=>({status:"failure",message:`No function dispatcher is configured for kind "${r.kind}".`})),d=await P(n(r,e),a,()=>new I(t,a));if("success"===d.status){let e=(0,R.transitionFunctionNode)(r,{type:"COMPLETE"});return{node:D({...e,output:d.output??e.output},o,i),timedOut:s}}let u=(0,R.transitionFunctionNode)(r,{type:"FAIL"}),c=d.message?G(u,d.message):u;return d.message?.toLowerCase().includes("timed out")&&(s=!0),{node:D(c,o,i),timedOut:s}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return s=e instanceof I,{node:D(G((0,R.transitionFunctionNode)(r,{type:"FAIL"}),e.message),o,i),timedOut:s}}}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 i=structuredClone(e),o=i.nodes[t];if(!o)throw Error(`Unknown node "${t}".`);if("function"===o.type){let e=await W(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]=G(n,i.message),e.nodes[t]}}(i,t,n);return{graph:i,nodeId:t,node:a,events:[],replanApplied:!1,timedOut:!1}}e.s(["executeNode",()=>V],33601)}];
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)}];
6
6
 
7
7
  //# sourceMappingURL=src_graph_executor_ts_55c06268._.js.map
@@ -2,6 +2,6 @@ module.exports=[88840,e=>{"use strict";var t,n=e.i(74533),r=e.i(12057),i=e.i(446
2
2
 
3
3
  Acceptance Criteria:
4
4
  ${o.criteria.map((e,t)=>`${t+1}. ${e}`).join("\n")}`:"",s=a.length>3e4?a.slice(0,3e4)+"\n\n... (diff truncated)":a,{type:"work",status:"pending",workType:"spike",title:`Quality gate review: ${o.title}`,description:["You are a code reviewer. Evaluate whether the code changes satisfy the task objective.\n\n## Task Objective",o.objective,i,"\n## Code Changes (git diff)\n```diff",s,'```\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:o.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 X(e){return{check:"llm_review",passed:!0,message:e,required:!0,command:"daemon:llm_review",timeoutMs:0,timedOut:!1,exitCode:0}}var Y=e.i(66890);let Z={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 ee extends Error{constructor(e){super(e),this.name="GateVerificationError"}}function et(e,t){return{...e,verificationResult:t}}function en(e,t){return{eventType:"gate_verification",nodeId:e,timestamp:t.verifiedAt,result:t}}function er(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 ei(e,t,n,r){return{passed:e,checks:n,verifiedAt:r,verifiedBy:t}}async function es(e){let{gateId:t}=e,n=e.now??new Date().toISOString(),r=e.depsSatisfied??!0,i=(a=e.gate,"pending"===a.status?(0,Y.transitionGateNode)(a,{type:"START",depsSatisfied:r}):a),s={...e.policy},o=[];var a,u,c,l,h,p,f=i.status;if("passed"===f||"failed"===f||"skipped"===f)throw new ee(`Cannot verify gate from terminal status '${f}'`);if("progress"===i.gateType&&"running"===i.status)return i=et((0,Y.transitionGateNode)(i,{type:"AUTO_PASS",humanRequired:!1}),ei(!0,"agent",[],n)),o.push(en(t,i.verificationResult)),{gate:i,policy:s,autoCheckResults:[],awaitingHuman:!1,escalated:!1,events:o};let g=[];if("running"===i.status){let r,a="progress"===(u=i).gateType||"approval_gate"===u.gateType?[]:u.verificationStrategy.checks&&u.verificationStrategy.checks.length>0?[...u.verificationStrategy.checks]:[...Z[u.gateType].defaultChecks];if(!(g=await d(a,e)).every(e=>!e.required||e.passed)){let e,r;return c=i,l=s,h=g,e=et((0,Y.transitionGateNode)(c,{type:"AUTO_FAIL"}),ei(!1,"agent",h,n)),{gate:e,policy:(r=er(l,t,n)).policy,autoCheckResults:h,awaitingHuman:!1,escalated:r.exhausted,escalationReason:r.exhausted?"verify_budget_exhausted":void 0,events:[en(t,e.verificationResult),r.event]}}if("quality_gate"===i.gateType&&e.graph&&e.dispatchReview){let r=await Q(e.graph,t,e.dispatchReview,e.cwd);if(g.push(r),!r.passed){let e=et((0,Y.transitionGateNode)(i,{type:"AUTO_FAIL"}),ei(!1,"agent",g,n));return o.push(en(t,e.verificationResult)),{gate:e,policy:s,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:o,llmReviewFailed:!0,llmReviewFeedback:r.message??"LLM review failed"}}}let f="never"!==(r=Z[(p=i).gateType]).humanRequirement&&("always"===r.humanRequirement||("optional"===r.humanRequirement?"human"===p.verificationStrategy.type||"hybrid"===p.verificationStrategy.type:"auto"!==p.verificationStrategy.type));if(i=et(i=(0,Y.transitionGateNode)(i,{type:"AUTO_PASS",humanRequired:f}),ei(!0,"agent",g,n)),o.push(en(t,i.verificationResult)),!f)return{gate:i,policy:s,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:o}}if("awaiting_human"!==i.status)throw new ee(`Unexpected gate status '${i.status}' after verification flow`);if(void 0===e.humanDecision)return{gate:i,policy:s,autoCheckResults:g,awaitingHuman:!0,escalated:!1,events:o};if("approve"===e.humanDecision)return i=et(i=(0,Y.transitionGateNode)(i,{type:"HUMAN_APPROVE"}),ei(!0,"human",i.verificationResult?.checks??g,n)),o.push(en(t,i.verificationResult)),{gate:i,policy:s,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:o};i=et(i=(0,Y.transitionGateNode)(i,{type:"HUMAN_REJECT"}),ei(!1,"human",i.verificationResult?.checks??g,n));let m=er(s,t,n);return s=m.policy,o.push(en(t,i.verificationResult)),o.push(m.event),{gate:i,policy:s,autoCheckResults:g,awaitingHuman:!1,escalated:m.exhausted,escalationReason:m.exhausted?"verify_budget_exhausted":void 0,events:o}}var eo=e.i(42873);class ea extends Error{timeoutMs;constructor(e){super(`Graph execution exceeded timeout (${e}ms).`),this.name="GraphExecutionTimeoutError",this.timeoutMs=e}}class ed 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 eu=async()=>void 0,ec=(0,r.promisify)(n.execFile);function el(e){return e.nowMs?.()??Date.now()}function eh(e){return new Date(el(e)).toISOString()}function ep(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 ef(e,t){let n=Math.max(1,e.timeoutMs??t.policy.nodeTimeoutMs);try{let{stdout:t}=await ec("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 eg(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 em(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 ey(e,t,n,r){let i=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0},s="done"===e.status||"passed"===e.status||"failed"===e.status||"skipped"===e.status?eh(n):e.completedAt;return{...e,completedAt:s,metrics:{...i,tokensUsed:i.tokensUsed+(r??0),latencyMs:Math.max(0,el(n)-t),retryCount:"work"===e.type?e.attempts:i.retryCount}}}async function ev(e,t,n,r,i,s){let o=(0,Y.transitionWorkNode)(n,{type:"FAIL",transient:s});if("pending"===o.status){let e=r.sleep??eu;await e(Math.max(0,n.retryPolicy.backoffMs))}else"blocked"===o.status&&"escalate"===n.retryPolicy.onExhaust&&await r.onEscalateWorkFailure?.(o,i,e);return em(o,i.message)}async function ew(e,t,n,r){let i=n;"pending"===i.status&&(i=(0,Y.transitionWorkNode)(i,{type:"START",depsSatisfied:!0})),i.startedAt||(i={...i,startedAt:eh(r)});let s=el(r),o=ep(e,i),a=!1;try{let n=r.dispatchWork??(async()=>({status:"success"})),d=await eg(n(i,e),o,()=>new ed(t,o));if("success"===d.status){let e=(0,Y.transitionWorkNode)(i,{type:"COMPLETE"});return{node:ey({...e,output:d.output??e.output},s,r,d.tokensUsed),timedOut:a}}if("blocked"===d.status){let e=(0,Y.transitionWorkNode)(i,{type:"BLOCK"}),t=d.message?em(e,d.message):e;return{node:ey(t,s,r),timedOut:a}}let u=Error(d.message??"Work node failed."),c=await ev(e,t,i,r,u,d.transient??!0);return{node:ey(c,s,r),timedOut:a}}catch(o){let n=o instanceof Error?o:Error("string"==typeof o?o:"Unknown work execution error");return a=n instanceof ed,{node:ey(await ev(e,t,i,r,n,!0),s,r),timedOut:a}}}async function e_(e,t,n){let r=e.nodes[t];if(!r||"gate"!==r.type)throw Error(`Node "${t}" is not a gate node.`);let i=el(n),s=ep(e,r),o=!1,a=e,d=!1;try{let e=await eg(es({gateId:t,gate:r,policy:a.policy,now:eh(n),humanDecision:n.humanDecisionsByGateId?.[t],cwd:n.checkCwd,env:n.checkEnv,executor:n.checkExecutor,graph:a,dispatchReview:n.dispatchWork}),s,()=>new ed(t,s)),u=ey(e.gate,i,n);if(a.nodes[t]=u,a.policy=e.policy,e.llmReviewFailed){let r=e.llmReviewFeedback??"Quality gate review failed",i=n.makeReplanFromReviewFeedback??(async(e,t,n)=>{let r,i,s,o,a;return r=z(e),i=e.graphVersion,s=`fix-from-review-v${i}`,o=`quality-gate-v${i+1}`,a={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:D.GATE_FAILURE,triggeredAtNodeId:t,reason:`Quality gate LLM review failed: ${n.slice(0,200)}`,triggeredBy:"agent",addNodes:{[s]:a,[o]:{type:"gate",status:"pending",gateType:"quality_gate",required:!0,verificationStrategy:{type:"auto",checks:[],timeout:3e5},deps:[s]}},addEdges:[{from:t,to:s,type:"hard",condition:"on_failure"}]}}),s=await i(a,t,r);s&&(a=(n.replan??J)(a,s),d=!0)}else if(e.escalated&&n.makeReplanRequest){let r=n.makeReplanRequest(a,t,e);r&&(a=(n.replan??J)(a,r),d=!0)}return{graph:a,node:a.nodes[t],events:e.events,replanApplied:d,timedOut:o}}catch(u){let e=u instanceof Error?u:Error("string"==typeof u?u:"Unknown gate execution error");o=e instanceof ed;let s=r;"pending"===s.status&&(s=(0,Y.transitionGateNode)(s,{type:"START",depsSatisfied:!0})),"running"===s.status?s=(0,Y.transitionGateNode)(s,{type:"AUTO_FAIL"}):"awaiting_human"===s.status&&(s=(0,Y.transitionGateNode)(s,{type:"HUMAN_REJECT"}));let d=em(s,e.message);return a.nodes[t]=ey(d,i,n),{graph:a,node:a.nodes[t],events:[],replanApplied:!1,timedOut:o}}}async function eE(e,t,n,r){let i=n;"pending"===i.status&&(i=(0,Y.transitionFunctionNode)(i,{type:"START",depsSatisfied:!0})),i.startedAt||(i={...i,startedAt:eh(r)});let s=el(r),o=i.timeoutMs??e.policy.nodeTimeoutMs,a=!1;try{let n=r.dispatchFunction??("bash"===i.kind?ef:async()=>({status:"failure",message:`No function dispatcher is configured for kind "${i.kind}".`})),d=await eg(n(i,e),o,()=>new ed(t,o));if("success"===d.status){let e=(0,Y.transitionFunctionNode)(i,{type:"COMPLETE"});return{node:ey({...e,output:d.output??e.output},s,r),timedOut:a}}let u=(0,Y.transitionFunctionNode)(i,{type:"FAIL"}),c=d.message?em(u,d.message):u;return d.message?.toLowerCase().includes("timed out")&&(a=!0),{node:ey(c,s,r),timedOut:a}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return a=e instanceof ed,{node:ey(em((0,Y.transitionFunctionNode)(i,{type:"FAIL"}),e.message),s,r),timedOut:a}}}async function ek(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)?el(t):n}(e,t);if(el(t)-n>e.policy.graphTimeoutMs)throw new ea(e.policy.graphTimeoutMs)}(e,n);let r=structuredClone(e),s=r.nodes[t];if(!s)throw Error(`Unknown node "${t}".`);if("function"===s.type){let e=await eE(r,t,s,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("work"===s.type){let e=await ew(r,t,s,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("gate"===s.type){let e=await e_(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"===s.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,eo.isDepSatisfied)(e,n,t)))return n;let r=(0,Y.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"===s.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,Y.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 o=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,eo.isDepSatisfied)(e,n,t)))return r;let s=(0,Y.transitionConditionalNode)(r,{type:"START",depsSatisfied:!0}).node;try{var o;let a=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],s=i&&"output"in i?i.output??null:null;return{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:s,ctx:{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:s},...n[t]??{}}}(e,t,n.conditionContextByNodeId??{}),d=!!((o=a.input)&&"object"==typeof o&&!Array.isArray(o))&&(0,i.evaluateCondition)(r.condition.expression,a),u=(0,Y.transitionConditionalNode)(s,{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,Y.transitionWorkNode)(t,{type:"SKIP"}):"function"===t.type?e.nodes[n]=(0,Y.transitionFunctionNode)(t,{type:"SKIP"}):"gate"===t.type?e.nodes[n]=(0,Y.transitionGateNode)(t,{type:"SKIP"}):"fork"===t.type?e.nodes[n]=(0,Y.transitionForkNode)(t,{type:"SKIP"}):"join"===t.type?e.nodes[n]=(0,Y.transitionJoinNode)(t,{type:"SKIP"}):"conditional"===t.type&&(e.nodes[n]=(0,Y.transitionConditionalNode)(t,{type:"SKIP"}).node))}return u.node}catch(i){let n=(0,Y.transitionConditionalNode)(s,{type:"CONDITION_ERROR"}).node,r=i instanceof Error?i:Error("string"==typeof i?i:"Condition evaluation failed.");return e.nodes[t]=em(n,r.message),e.nodes[t]}}(r,t,n);return{graph:r,nodeId:t,node:o,events:[],replanApplied:!1,timedOut:!1}}e.s(["GraphExecutionTimeoutError",()=>ea,"NodeExecutionTimeoutError",()=>ed,"executeNode",()=>ek],88840)}];
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:D.GATE_FAILURE,triggeredAtNodeId:t,reason:`Quality gate LLM review failed: ${n.slice(0,200)}`,triggeredBy:"agent",addNodes:{[s]:a,[o]:{type:"gate",status:"pending",gateType:"quality_gate",required:!0,verificationStrategy:{type:"auto",checks:[],timeout:3e5},deps:[s]}},addEdges:[{from:t,to:s,type:"hard",condition:"on_failure"}]}}),s=await i(a,t,r);s&&(a=(n.replan??J)(a,s),d=!0)}else if(e.escalated&&n.makeReplanRequest){let r=n.makeReplanRequest(a,t,e);r&&(a=(n.replan??J)(a,r),d=!0)}return{graph:a,node:a.nodes[t],events:e.events,replanApplied:d,timedOut:o}}catch(u){let e=u instanceof Error?u:Error("string"==typeof u?u:"Unknown gate execution error");o=e instanceof ed;let s=r;"pending"===s.status&&(s=(0,Y.transitionGateNode)(s,{type:"START",depsSatisfied:!0})),"running"===s.status?s=(0,Y.transitionGateNode)(s,{type:"AUTO_FAIL"}):"awaiting_human"===s.status&&(s=(0,Y.transitionGateNode)(s,{type:"HUMAN_REJECT"}));let d=em(s,e.message);return a.nodes[t]=ey(d,i,n),{graph:a,node:a.nodes[t],events:[],replanApplied:!1,timedOut:o}}}async function eE(t,n,r,i){let s=r;"pending"===s.status&&(s=(0,Y.transitionFunctionNode)(s,{type:"START",depsSatisfied:!0})),s.startedAt||(s={...s,startedAt:eh(i)});let o=el(i),a=s.timeoutMs??t.policy.nodeTimeoutMs,d=!1;try{let r=i.dispatchFunction??(async(t,n)=>{if("bash"===t.kind)return ef(t,n);let{createDispatchFunction:r}=await e.A(73171);return r()(t,n)}),u=await eg(r(s,t),a,()=>new ed(n,a));if("success"===u.status){let e=(0,Y.transitionFunctionNode)(s,{type:"COMPLETE"});return{node:ey({...e,output:u.output??e.output},o,i),timedOut:d}}let c=(0,Y.transitionFunctionNode)(s,{type:"FAIL"}),l=u.message?em(c,u.message):c;return u.message?.toLowerCase().includes("timed out")&&(d=!0),{node:ey(l,o,i),timedOut:d}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return d=e instanceof ed,{node:ey(em((0,Y.transitionFunctionNode)(s,{type:"FAIL"}),e.message),o,i),timedOut:d}}}async function ek(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)?el(t):n}(e,t);if(el(t)-n>e.policy.graphTimeoutMs)throw new ea(e.policy.graphTimeoutMs)}(e,n);let r=structuredClone(e),s=r.nodes[t];if(!s)throw Error(`Unknown node "${t}".`);if("function"===s.type){let e=await eE(r,t,s,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("work"===s.type){let e=await ew(r,t,s,n);return r.nodes[t]=e.node,{graph:r,nodeId:t,node:r.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("gate"===s.type){let e=await e_(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"===s.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,eo.isDepSatisfied)(e,n,t)))return n;let r=(0,Y.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"===s.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,Y.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 o=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,eo.isDepSatisfied)(e,n,t)))return r;let s=(0,Y.transitionConditionalNode)(r,{type:"START",depsSatisfied:!0}).node;try{var o;let a=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],s=i&&"output"in i?i.output??null:null;return{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:s,ctx:{graph:e,nodeId:t,inputFrom:r.condition.inputFrom,input:s},...n[t]??{}}}(e,t,n.conditionContextByNodeId??{}),d=!!((o=a.input)&&"object"==typeof o&&!Array.isArray(o))&&(0,i.evaluateCondition)(r.condition.expression,a),u=(0,Y.transitionConditionalNode)(s,{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,Y.transitionWorkNode)(t,{type:"SKIP"}):"function"===t.type?e.nodes[n]=(0,Y.transitionFunctionNode)(t,{type:"SKIP"}):"gate"===t.type?e.nodes[n]=(0,Y.transitionGateNode)(t,{type:"SKIP"}):"fork"===t.type?e.nodes[n]=(0,Y.transitionForkNode)(t,{type:"SKIP"}):"join"===t.type?e.nodes[n]=(0,Y.transitionJoinNode)(t,{type:"SKIP"}):"conditional"===t.type&&(e.nodes[n]=(0,Y.transitionConditionalNode)(t,{type:"SKIP"}).node))}return u.node}catch(i){let n=(0,Y.transitionConditionalNode)(s,{type:"CONDITION_ERROR"}).node,r=i instanceof Error?i:Error("string"==typeof i?i:"Condition evaluation failed.");return e.nodes[t]=em(n,r.message),e.nodes[t]}}(r,t,n);return{graph:r,nodeId:t,node:o,events:[],replanApplied:!1,timedOut:!1}}e.s(["GraphExecutionTimeoutError",()=>ea,"NodeExecutionTimeoutError",()=>ed,"executeNode",()=>ek],88840)}];
6
6
 
7
7
  //# sourceMappingURL=src_graph_executor_ts_a8bc8d58._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},4720,a=>{"use strict";let b=(0,a.i(60137).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",()=>b],4720)},73570,a=>{"use strict";let b=(0,a.i(60137).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],73570)},41710,a=>{"use strict";let b=(0,a.i(60137).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],41710)},69520,a=>{"use strict";let b=(0,a.i(60137).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],69520)},67453,a=>{"use strict";let b=(0,a.i(60137).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],67453)},13749,a=>{"use strict";let b=(0,a.i(60137).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],13749)},62722,a=>{"use strict";let b=(0,a.i(60137).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],62722)},1027,a=>{"use strict";let b=(0,a.i(60137).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],1027)},94125,a=>{"use strict";function b(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}a.s(["stripMarkers",()=>b])},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},63588,a=>{"use strict";let b=(0,a.i(60137).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],63588)},84505,a=>{"use strict";let b=(0,a.i(60137).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],84505)},60246,a=>{"use strict";let b=(0,a.i(60137).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",()=>b],60246)},65151,a=>{"use strict";let b=(0,a.i(60137).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},92e3,a=>{"use strict";let b=(0,a.i(60137).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],92e3)},15040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],15040)},4301,a=>{"use strict";var b=a.i(72131);let c=new Set(["spawning","running"]);function d(a,d){let e=d?.intervalMs??1500,f=d?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(d?.messages??[]);p.current=d?.messages??[];let q=(0,b.useRef)(d?.setMessages);q.current=d?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=d?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[d?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let e=a.workspaceId||a.threadId,f=e?`/api/history?threadId=${encodeURIComponent(e)}&since=${r.current}`:null,g=e?`/api/chat-runs?threadId=${encodeURIComponent(e)}&status=active&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>c.has(a.state)).map(a=>a.agentId));h(b);let d={};for(let b of a){if(!c.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),e=a?.rootMessageId??b.sinceMessageId;d[b.agentId]={content:"",rootMessageId:e}}l(d)}if(s?.ok){var d;let a=(d=await s.json(),Array.isArray(d)?d.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>c.has(a.state)),w=u||v?e:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}a.s(["useProcessPolling",()=>d])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1322ced8._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},94783,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(50944),e=a.i(86976),f=a.i(56196),g=a.i(95348),h=a.i(55672);function i({children:a,params:i}){let{slug:j}=(0,c.use)(i),k=(0,d.useRouter)(),{projects:l,isLoading:m,createProject:n,updateProject:o,deleteProject:p,addAgent:q,removeAgent:r}=(0,f.useProjectsWithAgents)(),{threads:s,isLoading:t,isCreating:u,deletingThreadId:v,renamingThreadId:w,isRestoringActiveThread:x,createThread:y,renameThread:z,deleteThread:A}=(0,g.useThreadState)(),[B,C]=(0,c.useState)([]),[D,E]=(0,c.useState)(!1);(0,c.useEffect)(()=>{E((0,h.loadWorkspaceSidebarVisible)())},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>C(Array.isArray(a)?a:[])).catch(()=>C([]))},[]);let F=(0,c.useMemo)(()=>l.find(a=>a.slug===j)??null,[l,j]);return m?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):F?(0,b.jsxs)("div",{className:"flex h-full min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:s,participants:B,activeThreadId:F.thread_ids[0]??null,isLoading:t,isRestoringActiveThread:x,isCreating:u,deletingThreadId:v,renamingThreadId:w,onSelectThread:a=>k.push(`/?thread=${encodeURIComponent(a)}`),onCreateThread:y,onRenameThread:z,onDeleteThread:A,visible:D,onToggle:()=>{let a=!D;E(a),(0,h.persistWorkspaceSidebarVisible)(a)},projects:l,onCreateProject:n,onUpdateProject:o,onDeleteProject:p,onAddAgentToProject:q,onRemoveAgentFromProject:r,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();C(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=l.find(b=>b.id===a);b&&k.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",j,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>k.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function j({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(i,{params:d,children:a})})}a.s(["default",()=>j])}];
1
+ module.exports=[56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},94783,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(50944),e=a.i(86976),f=a.i(56196),g=a.i(95348),h=a.i(55672);function i({children:a,params:i}){let{slug:j}=(0,c.use)(i),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{projects:m,isLoading:n,createProject:o,updateProject:p,deleteProject:q,addAgent:r,removeAgent:s}=(0,f.useProjectsWithAgents)(),{threads:t,isLoading:u,isCreating:v,deletingThreadId:w,renamingThreadId:x,isRestoringActiveThread:y,createThread:z,renameThread:A,deleteThread:B}=(0,g.useThreadState)(),[C,D]=(0,c.useState)([]),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{F((0,h.loadWorkspaceSidebarVisible)())},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>D(Array.isArray(a)?a:[])).catch(()=>D([]))},[]);let G=(0,c.useMemo)(()=>m.find(a=>a.slug===j)??null,[m,j]),H=(0,c.useMemo)(()=>{let a=l.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):G?.thread_ids[0]??null},[G?.thread_ids,l]),I=(0,c.useMemo)(()=>l.includes("/thread/")?"thread":l.includes("/knowledge")?"knowledge":"board",[l]);return n?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):G?(0,b.jsxs)("div",{className:"flex h-full min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:t,participants:C,activeThreadId:H,isLoading:u,isRestoringActiveThread:y,isCreating:v,deletingThreadId:w,renamingThreadId:x,onSelectThread:a=>k.push(`/projects/${j}/thread/${encodeURIComponent(a)}`),onCreateThread:z,onRenameThread:A,onDeleteThread:B,visible:E,onToggle:()=>{let a=!E;F(a),(0,h.persistWorkspaceSidebarVisible)(a)},projects:m,onCreateProject:o,onUpdateProject:p,onDeleteProject:q,onAddAgentToProject:r,onRemoveAgentFromProject:s,activeProjectId:G.id,activeProjectView:I,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();D(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=m.find(b=>b.id===a);b&&k.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",j,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>k.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function j({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(i,{params:d,children:a})})}a.s(["default",()=>j])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__47caef59._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},94367,a=>{a.n(a.i(16893))},70864,a=>{a.n(a.i(33290))},43619,a=>{a.n(a.i(79962))},13718,a=>{a.n(a.i(85523))},18198,a=>{a.n(a.i(45518))},33753,a=>{a.n(a.i(70611))},7223,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/projects/[slug]/knowledge/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/projects/[slug]/knowledge/page.tsx <module evaluation>","default")},44385,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/projects/[slug]/knowledge/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/projects/[slug]/knowledge/page.tsx","default")},70503,a=>{"use strict";a.i(7223);var b=a.i(44385);a.n(b)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6e83bf83._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},15040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],15040)},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},60137,a=>{"use strict";var b=a.i(72131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],60137)},15618,a=>{"use strict";let b=(0,a.i(60137).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],15618)},47349,(a,b,c)=>{"use strict";var d=a.r(72131);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},87610,(a,b,c)=>{"use strict";b.exports=a.r(47349)},97514,(a,b,c)=>{"use strict";var d=a.r(72131),e=a.r(87610),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},64442,(a,b,c)=>{"use strict";b.exports=a.r(97514)},65151,a=>{"use strict";let b=(0,a.i(60137).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},92e3,a=>{"use strict";let b=(0,a.i(60137).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],92e3)},80386,a=>{"use strict";let b=(0,a.i(60137).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__783669c3._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[4720,a=>{"use strict";let b=(0,a.i(60137).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",()=>b],4720)},73570,a=>{"use strict";let b=(0,a.i(60137).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],73570)},69520,a=>{"use strict";let b=(0,a.i(60137).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],69520)},41710,a=>{"use strict";let b=(0,a.i(60137).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],41710)},67453,a=>{"use strict";let b=(0,a.i(60137).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],67453)},13749,a=>{"use strict";let b=(0,a.i(60137).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],13749)},1027,a=>{"use strict";let b=(0,a.i(60137).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],1027)},62722,a=>{"use strict";let b=(0,a.i(60137).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],62722)},94125,a=>{"use strict";function b(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}a.s(["stripMarkers",()=>b])},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},63588,a=>{"use strict";let b=(0,a.i(60137).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],63588)},84505,a=>{"use strict";let b=(0,a.i(60137).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],84505)},60246,a=>{"use strict";let b=(0,a.i(60137).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",()=>b],60246)},65151,a=>{"use strict";let b=(0,a.i(60137).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},92e3,a=>{"use strict";let b=(0,a.i(60137).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],92e3)},15040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],15040)},4301,a=>{"use strict";var b=a.i(72131);let c=new Set(["spawning","running"]);function d(a,d){let e=d?.intervalMs??1500,f=d?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(d?.messages??[]);p.current=d?.messages??[];let q=(0,b.useRef)(d?.setMessages);q.current=d?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=d?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[d?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let e=a.workspaceId||a.threadId,f=e?`/api/history?threadId=${encodeURIComponent(e)}&since=${r.current}`:null,g=e?`/api/chat-runs?threadId=${encodeURIComponent(e)}&status=active&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>c.has(a.state)).map(a=>a.agentId));h(b);let d={};for(let b of a){if(!c.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),e=a?.rootMessageId??b.sinceMessageId;d[b.agentId]={content:"",rootMessageId:e}}l(d)}if(s?.ok){var d;let a=(d=await s.json(),Array.isArray(d)?d.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>c.has(a.state)),w=u||v?e:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}a.s(["useProcessPolling",()=>d])},3931,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(24610);function e({params:a}){let{slug:e,threadId:f}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,initialThreadId:f,showSidebar:!1})}a.s(["default",()=>e])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__8973b16a._.js.map