@mndrk/agx 2.0.32 → 2.0.33

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 (434) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -4
  35. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +3 -3
  39. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  71. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
  75. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
  101. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +2 -3
  107. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
  109. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  182. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  183. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  189. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  191. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
  200. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  203. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  205. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  207. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  208. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  210. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  225. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  227. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  240. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  249. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  253. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  256. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  266. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  267. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  270. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  272. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  273. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  274. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  275. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__18423486._.js} +2 -2
  276. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__19520d85._.js} +1 -1
  277. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__1c18c0d1._.js} +2 -2
  278. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  279. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  280. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__32b13ba9._.js} +2 -2
  281. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
  282. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
  283. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
  284. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  285. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__4837d72a._.js} +2 -2
  286. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
  287. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  288. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
  289. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  290. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
  291. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
  292. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__5a348fba._.js} +2 -2
  293. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
  294. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__6acb940d._.js} +2 -2
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__7ffcc20c._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__875279cb._.js} +1 -1
  298. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  299. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
  300. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  301. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  302. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  303. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  304. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  305. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  306. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__b9b3fde6._.js} +2 -2
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  309. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__c480c9c2._.js} +2 -2
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
  313. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d318eb0._.js → [root-of-the-server]__f701b208._.js} +24 -24
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  322. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  323. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  324. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  325. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  326. package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
  327. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  328. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  330. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  331. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  332. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +45 -37
  333. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +45 -37
  334. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +12 -12
  335. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a8a8afdc._.js → [root-of-the-server]__04d1aa70._.js} +2 -2
  336. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9166c1d6._.js → [root-of-the-server]__2d80540b._.js} +2 -2
  337. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  338. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +1 -1
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1322ced8._.js → [root-of-the-server]__a416df95._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__783669c3._.js → [root-of-the-server]__c108f06c._.js} +2 -2
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +1 -1
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_0f4e70b1._.js → _41f60c52._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6fc3736e._.js → _84879a01._.js} +2 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +1 -1
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_ff5799d6._.js → _9eeb2fa0._.js} +2 -2
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_68ac991e._.js → _a1d30b20._.js} +2 -2
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_5b2b8a85._.js → _c87c359c._.js} +2 -2
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fb292eed._.js → _dd31b6e0._.js} +2 -2
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6de3f1de._.js → _f0ce6183._.js} +2 -2
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +1 -0
  356. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  357. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  358. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  359. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  360. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  361. package/cloud-runtime/standalone/.next/static/chunks/{a66e1891e808a664.js → 012e3e9699415997.js} +1 -1
  362. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  363. package/cloud-runtime/standalone/.next/static/chunks/{87f099ea02aa419d.js → 116985039c24f1f8.js} +9 -9
  364. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  365. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  366. package/cloud-runtime/standalone/.next/static/chunks/{cd308f61797939cd.js → 43f6157bc3db9c52.js} +2 -2
  367. package/cloud-runtime/standalone/.next/static/chunks/{58025a80caa3629d.js → 56a01238098d495d.js} +9 -9
  368. package/cloud-runtime/standalone/.next/static/chunks/{6fbe08eab578c7d3.js → 601996727991149e.js} +9 -9
  369. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  370. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  371. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  372. package/cloud-runtime/standalone/.next/static/chunks/{4200b512bdc226bc.js → b2dcd19ebe3af3f6.js} +9 -9
  373. package/cloud-runtime/standalone/.next/static/chunks/{e62d5fa120fdf21f.js → bc06988336ffd261.js} +1 -1
  374. package/cloud-runtime/standalone/.next/static/chunks/{1f415d0ce7ebbd08.js → c93b9643c81c134e.js} +1 -1
  375. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  376. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  377. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  378. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  379. package/cloud-runtime/standalone/app/api/chat/route.ts +36 -0
  380. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  381. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
  382. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +62 -41
  383. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  384. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +33 -28
  385. package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -0
  386. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
  387. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  388. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  389. package/cloud-runtime/standalone/lib/db.ts +1 -1
  390. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  391. package/cloud-runtime/standalone/lib/history-store.ts +78 -2
  392. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
  393. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
  394. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  395. package/cloud-runtime/standalone/transcri +0 -0
  396. package/cloud-runtime/standalone/worker/index.js +604 -165
  397. package/lib/cli/runCli.js +0 -97
  398. package/lib/commands/update.js +159 -17
  399. package/package.json +1 -1
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
  417. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
  418. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
  419. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
  420. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
  421. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
  422. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
  423. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
  425. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
  426. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
  427. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
  428. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
  429. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
  430. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
  431. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
  432. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  433. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  434. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[91595,e=>{"use strict";var t=e.i(68638),a=e.i(4290),r=e.i(57431),n=e.i(49041),i=e.i(62294),s=e.i(90081);function o(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function l(e){if(!e)return[];let t=o(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,i.parseFrontmatter)(e.content||"");return o(t.depends_on)}return[]}function d(e,t){return e?{id:e.id||t||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:t||""}}async function u(e,t){if(!e.length)return[];let a=(0,r.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(a=a.eq("user_id",t));let{data:n}=await a,i=new Map;if(Array.isArray(n))for(let e of n)e&&e.id&&i.set(e.id,d(e,e.id));return e.map(e=>i.get(e)).filter(e=>!!e)}async function c(e,t){let a=(0,r.createAdminDbClient)(),n=[],{data:i,error:s}=await a.from("tasks").select("depends_on, content").eq("id",e).maybeSingle();if(s){if("42703"===s.code){let{data:t}=await a.from("tasks").select("content").eq("id",e).maybeSingle();n=l(t)}}else n=l(i);let o=await u(n,t),c=a.from("tasks").select("id, title, slug, status, stage").contains("depends_on",[e]);t&&(c=c.eq("user_id",t));let{data:p,error:f}=await c,g=Array.isArray(p)?p.map(e=>d(e,e?.id)):[];if(f&&"42703"===f.code){let r=a.from("tasks").select("id, title, slug, status, stage, content");t&&(r=r.eq("user_id",t));let{data:n}=await r;g=(Array.isArray(n)?n:[]).filter(t=>l(t).includes(e)).map(e=>d(e,e?.id))}return{depends_on_tasks:o,dependent_tasks:g}}async function p(e,t){let a=l(e);return a.length?(await u(a,t)).filter(e=>"completed"!==(e.status||"")):[]}async function f(e,o,l){let d=o||n.LOCAL_USER.id,u=await s.db.getTask(e,d);if(!u)throw Error(`Task not found: ${e}`);let c=await p(u,d);if(c.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",a="INTAKE"===e.stage?"awaiting approval":e.status||"",r=a?` (${a})`:"";return`${t}${r}`}),a=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(a+=` +${e.length-3} more`),a}(c),a=(0,r.createAdminDbClient)(),{error:n}=await a.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:c,blockedReason:t}}if(!l?.force&&"queued"===u.status&&!u.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:f,body:g}=(0,i.parseFrontmatter)(u.content||""),h=l?.ticketType??(0,a.getTicketType)(f,g),m=await (0,t.getQueue)(),w=await m.send(t.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:d,signal:"start",ticketType:h}),R=(0,r.createAdminDbClient)(),{error:y}=await R.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(y&&"42703"!==y.code)throw y;return{started:!!w,jobId:w,missingDependencies:[],ticketType:h}}async function g(e,t){let a=t||n.LOCAL_USER.id,i=(0,r.createAdminDbClient)(),s=i.from("tasks").select("id").contains("depends_on",[e]);t&&(s=s.eq("user_id",t));let{data:o,error:d}=await s,u=Array.isArray(o)?o.map(e=>e?.id).filter(Boolean):[];if(d&&"42703"===d.code){let a=i.from("tasks").select("id, content");t&&(a=a.eq("user_id",t));let{data:r}=await a;u=(Array.isArray(r)?r:[]).filter(t=>l(t).includes(e)).map(e=>e?.id).filter(Boolean)}u.length&&await Promise.all(u.map(e=>f(e,a)))}e.s(["attemptStartTask",()=>f,"getMissingDependencies",()=>p,"loadTaskDependencyGraph",()=>c,"triggerDependentTasks",()=>g])},36784,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),i=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),g=e.i(74838),h=e.i(10372),m=e.i(93695);e.i(52474);var w=e.i(220),R=e.i(94028),y=e.i(91595),A=e.i(49041);async function E(e,{params:t}){let{id:a}=await t,r=String(a||"").trim();if(!r)return R.NextResponse.json({error:"Task ID is required"},{status:400});try{let e=await (0,y.loadTaskDependencyGraph)(r,A.LOCAL_USER.id);return R.NextResponse.json(e)}catch(e){return console.error("Error loading dependency graph",e),R.NextResponse.json({error:"Failed to load dependency graph"},{status:500})}}e.s(["GET",()=>E],67086);var v=e.i(67086);let C=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/dependencies/route",pathname:"/api/tasks/[id]/dependencies",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/[id]/dependencies/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:k,workUnitAsyncStorage:_,serverHooks:S}=C;function T(){return(0,r.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:_})}async function b(e,t,r){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/tasks/[id]/dependencies/route";R=R.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,params:E,nextConfig:v,parsedUrl:k,isDraftMode:_,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:D}=y,q=(0,o.normalizeAppPath)(R),P=!!(S.dynamicRoutes[q]||S.routes[N]),U=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,k,!1):t.end("This page could not be found"),null);if(P&&!_){let e=!!S.routes[N],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await U();throw new m.NoFallbackError}}let I=null;!P||C.isDev||_||(I="/index"===(I=N)?"/":I);let H=!0===C.isDev||!P,M=P&&!H;D&&O&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:O,serverActionsManifest:D});let $=e.method||"GET",j=(0,i.getTracer)(),F=j.getActiveScopeSpan(),L={params:E,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>C.onRequestError(e,t,r,n,T)},sharedContext:{buildId:A}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let s=async e=>C.handle(G,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=j.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${$} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${R}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:a})=>{try{if(!o&&b&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let l=L.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=L.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,K,i,L.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,r=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,T),t}},u=await C.handleResponse({req:e,nextConfig:v,cacheKey:I,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:o});if(!P)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&P||m.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:m,status:u.value.status||200})),null};F?await l(F):await j.withPropagatedContext(e.headers,()=>j.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,T),P)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>S,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>_],36784)}];
2
+
3
+ //# sourceMappingURL=_5462a047._.js.map
@@ -0,0 +1,57 @@
1
+ module.exports=[12616,e=>{"use strict";function t(e,t){return`---
2
+ ${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
3
+ ---
4
+ ${t}`}e.s(["buildMarkdownWithFrontmatter",()=>t])},33872,e=>{"use strict";var t=e.i(57431),r=e.i(62294),a=e.i(90081),n=e.i(12616);async function o(e){let o=e.nowIso??new Date().toISOString(),i=(0,t.createAdminDbClient)(),s=await a.db.getTask(e.taskId,e.userId),l={status:e.status,stage:"PROGRESS",updated_at:o};if(Object.prototype.hasOwnProperty.call(e,"startedAt")&&(l.started_at=e.startedAt??null),Object.prototype.hasOwnProperty.call(e,"completedAt")&&(l.completed_at=e.completedAt??null),s){let{frontmatter:t,body:a}=(0,r.parseFrontmatter)(String(s.content||""));t.status=e.status,t.stage="PROGRESS",e.clearError&&delete t.error,l.content=(0,n.buildMarkdownWithFrontmatter)(t,a)}let d=i.from("tasks").update(l).eq("id",e.taskId);e.userId&&(d=d.eq("user_id",e.userId));let{error:u}=await d;if(u)throw u}e.s(["syncTaskProgressForGraphExecution",()=>o])},33938,e=>{"use strict";var t=e.i(60447),r=e.i(77581);function a(e,a){let n=(0,t.getSQLiteDb)(),o=a?.producer;if("system"===o){let t=(0,r.getKnowledgeNote)("repo",e);return t?[{id:t.id,repo_id:e,content:t.content,producer:"system",created_at:t.updatedAt}]:[]}let i=o?n.prepare(`SELECT id, repo_id, content, producer, created_at
5
+ FROM repo_knowledge
6
+ WHERE repo_id = ? AND producer = ?
7
+ ORDER BY created_at DESC`).all(e,o):n.prepare(`SELECT id, repo_id, content, producer, created_at
8
+ FROM repo_knowledge
9
+ WHERE repo_id = ?
10
+ ORDER BY created_at DESC`).all(e);if(a?.includeLegacyHumanFallback===!1)return i;let s=(0,t.getSQLiteDb)().prepare(`SELECT id, name, path, notes, created_at, updated_at
11
+ FROM project_repos
12
+ WHERE id = ?`).get(e)??null,l=s?.notes?.trim();return!l||i.some(e=>"human"===e.producer)||i.some(e=>"human"===e.producer&&e.content.trim()===l)?i:[{id:`legacy-notes:${e}`,repo_id:e,content:l,producer:"human",created_at:s?.updated_at??s?.created_at??new Date(0).toISOString()},...i]}function n(e,r,n){let o=(0,t.getSQLiteDb)(),i=n.trim();return o.transaction(()=>{o.prepare("DELETE FROM repo_knowledge WHERE repo_id = ? AND producer = ?").run(e,r),i&&o.prepare("INSERT INTO repo_knowledge (repo_id, content, producer) VALUES (?, ?, ?)").run(e,i,r)})(),a(e,{producer:r,includeLegacyHumanFallback:!1})}function o(e){let t=[];for(let r of e){if(!r.id){let e=r.notes?.trim();e&&t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}for(let e of[...a(r.id,{producer:"human"}),...a(r.id,{producer:"system",includeLegacyHumanFallback:!1})]){let a=e.content.trim();a&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:a,producer:e.producer})}}return t}e.s(["listRepoKnowledge",()=>a,"listResolvedRepoKnowledge",()=>o,"replaceRepoKnowledge",()=>n])},42304,e=>{"use strict";var t=e.i(54799),r=e.i(14350),a=e.i(60447),n=e.i(40813),o=e.i(77581);let i=new Set(["outcome","decision","pattern","gotcha"]),s=`You are a memory extractor for a task execution system.
13
+ Given a completed task, extract 0-3 memories worth remembering for future tasks.
14
+
15
+ Each memory must be:
16
+ { "memory_type": "outcome" | "decision" | "pattern" | "gotcha", "content": "one concise sentence" }
17
+
18
+ - outcome: what happened (success/failure result)
19
+ - decision: a choice that was made and why
20
+ - pattern: a reusable approach or technique discovered
21
+ - gotcha: a surprising pitfall or edge case encountered
22
+
23
+ Return ONLY a JSON array. Return [] if nothing worth remembering.
24
+ Do not wrap in markdown code blocks. Just raw JSON.`,l=`You are maintaining a living project knowledge note for a task execution system.
25
+ Given the current project note and a completed or failed task, decide whether the note should change.
26
+
27
+ Return ONLY a JSON object:
28
+ {
29
+ "updated_note": "full revised note in concise markdown",
30
+ "change_summary": "short summary of what changed",
31
+ "no_change": false
32
+ }
33
+
34
+ Rules:
35
+ - Revise the current note instead of appending isolated bullets.
36
+ - Write like a person's living project notes, not an extracted fact list.
37
+ - The note should help someone understand what the project is, what it does, what has been decided, and what lessons now shape future work.
38
+ - Prefer short sections and narrative paragraphs in markdown. Bullets are fine only when they genuinely improve clarity.
39
+ - Preserve strong existing content when still valid.
40
+ - Merge duplicate ideas, sharpen wording, and remove stale or unsupported claims.
41
+ - Only include project-scoped knowledge likely useful across future work in the same project.
42
+ - Do not include repo-specific durable truths that belong in repo knowledge.
43
+ - Avoid generic filler and avoid sounding like an audit log.
44
+ - If nothing project-scoped changed, return {"no_change": true}.
45
+ - Do not wrap in markdown code blocks. Just raw JSON.`;async function d(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),a=`${s}
46
+
47
+ Task:
48
+ ${t}`,n="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var o=n;let l=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(l);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&i.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",l.slice(0,200)),[]}}let u=new Set(["outcome","decision","pattern","gotcha"]),c=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function p(e){return"string"!=typeof e?null:e.trim()||null}function m(e){let t=p(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of c){let t=p(r[e]);if(t)return t}return p(e.defaultUserId)||"system"}async function g(e,r,o){let i=(0,a.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
49
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,l=Date.now();for(let a of o){if(!u.has(a.memory_type)||!a.content?.trim())continue;let n=(0,t.createHash)("sha256").update(a.content.trim()).digest("hex");i.run((0,t.randomUUID)(),r,e,a.memory_type,a.content.trim(),n,l).changes>0&&s++}return s>0&&(0,n.storeKnowledgeEntries)(o.map(t=>({scope:"agent",subjectId:r,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),s}async function f(e,t,r){let a=await d(r);if(0===a.length)return;let n=await g(e,t,a);n>0&&console.log(`[memory-extractor] Stored ${n} memories for task ${e}`)}async function h(e){let t=p(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let r=(0,a.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function w(e,t){let a=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),n=`${l}
50
+
51
+ Current note:
52
+ ${t||"(empty)"}
53
+
54
+ Task:
55
+ ${a}`,o="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{o+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let i=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(i);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",i.slice(0,200)),[]}}async function _(e,t,r){if(0===r.length)return 0;let a=r[0];return a&&a.updated_note?.trim()?+!!(0,o.upsertKnowledgeNote)({scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function y(e,t,r){let a=await h(t);if(!a)return;let n=await w(r,(0,o.getKnowledgeNote)("project",a)?.content??"");if(0===n.length)return;let i=await _(a,e,n);i>0&&console.log(`[project-knowledge] Stored ${i} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>f,"extractAndStoreProjectKnowledge",()=>y,"resolveMemoryAgentId",()=>m])},69803,e=>{"use strict";var t=e.i(54799),r=e.i(57431),a=e.i(60447),n=e.i(33938),o=e.i(77581),i=e.i(42304),s=e.i(62294);async function l(e){let t=(0,r.createAdminDbClient)(),{data:a,error:n}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(n){let e="string"==typeof n.message?n.message:"";if("42P01"===n.code||"PGRST205"===n.code||e.includes('relation "task_comments" does not exist')||e.includes("Could not find the table 'agx.task_comments'")||e.includes("Could not find the table 'public.task_comments'"))return[];throw n}return a||[]}async function d(e){let t=(0,r.createAdminDbClient)(),a=e.user_id,n=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);a&&n.eq("user_id",a);let o=t.from("learnings").select("*").eq("scope","global");a&&o.eq("user_id",a);let[{data:i,error:s},{data:l,error:d}]=await Promise.all([n,o]);if(s)throw s;if(d)throw d;return{task:i||[],project:[],global:l||[]}}async function u(e){let t,a=e.stage;if(!a)return{prompt:null};let n=(0,r.createAdminDbClient)(),o=(t=e.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?e.workflow_id:"";if(!o&&e.project_id)try{let t=await (0,s.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(o=t.workflow_id)}catch{}o||(o=s.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await n.from("workflow_nodes").select("*").eq("workflow_id",o).eq("name",a).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,a=Array.isArray(t.swarm_models)?t.swarm_models:void 0;if(e.prompt)return{prompt:e.prompt,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a}}}catch{}try{let t=[];t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("is_default",!0).eq("workflow_id",o).maybeSingle()),e.user_id&&t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("user_id",e.user_id).eq("workflow_id",o).maybeSingle());let r=await Promise.all(t),i=r[0]?.data||null,s=e.user_id?r[1]?.data:null,l=s?.prompt||i?.prompt||null;if(l)return{prompt:l,swarm:s?.swarm??i?.swarm??!1,provider:s?.provider||i?.provider,model:s?.model||i?.model,swarm_models:s?.swarm_models||i?.swarm_models}}catch{}let i=s.defaultStagePrompts[a];return i?.prompt?{prompt:i.prompt,swarm:i.swarm??!1,provider:i.provider,model:i.model,swarm_models:i.swarm_models}:{prompt:null}}async function c(e,t){let r=e.project_id,a=e.project||void 0,i=null;if(r&&(i=await (0,s.getProjectWithRepos)(r,e.user_id)),!i&&a){let t=await (0,s.getProjectBySlug)(a,e.user_id);if(t){let e=await (0,s.getProjectRepos)(t.id);i={...t,repos:e}}}if(!i)return null;let l=await (0,s.getProjectMemory)(i.id,"human"),d=(0,o.getKnowledgeNote)("project",i.id);if(i.repos.length>0){let e=(0,n.listResolvedRepoKnowledge)(i.repos),t=new Map;for(let r of e){if(!r.repoId)continue;let e="system"===r.producer?`[System-generated] ${r.content}`:r.content,a=t.get(r.repoId)??[];a.push(e),t.set(r.repoId,a)}i={...i,repos:i.repos.map(e=>({...e,notes:t.has(e.id)?t.get(e.id).join("\n\n"):e.notes}))}}return{project:i,repos:i.repos??[],learnings:[...l.map(e=>e.content),...d?.content?[`[System-generated] ${d.content}`]:[]]}}async function p(e){let r,[n,o,p,m]=await Promise.all([l(e.id),d(e),u(e),e.user_id?(0,s.getUserSettings)(e.user_id):Promise.resolve(null)]),g=await c(e,o.project),{frontmatter:f}=(0,s.parseFrontmatter)(e.content),h=(0,i.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:f}),w=f.no_memory?[]:function(e,t=5){try{return(0,a.getSQLiteDb)().prepare("SELECT content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(e=>e.content)}catch{return[]}}(h),_=(r=JSON.stringify(n.map(e=>({id:e.id,task_id:e.task_id,author_type:e.author_type||null,author_id:e.author_id||null,content:e.content||"",created_at:e.created_at||null}))),(0,t.createHash)("sha256").update(r).digest("hex")),y="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",k=p.prompt??null,v={};if(k&&y){v[y]=k;let e=y.toLowerCase();v[e]||(v[e]=k)}let R=k&&y?[{stage:y,prompt:k}]:[];return{comments:n,learnings:o,agent_memories:w,stage_config:p,stage_prompt:k,stage_prompts:v,stage_objective:k,stageObjective:k,stagePrompts:R,project_context:g,comments_digest:_,user_settings:m}}e.s(["buildTaskContext",()=>p])},91595,e=>{"use strict";var t=e.i(68638),r=e.i(4290),a=e.i(57431),n=e.i(49041),o=e.i(62294),i=e.i(90081);function s(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function l(e){if(!e)return[];let t=s(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,o.parseFrontmatter)(e.content||"");return s(t.depends_on)}return[]}function d(e,t){return e?{id:e.id||t||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:t||""}}async function u(e,t){if(!e.length)return[];let r=(0,a.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,o=new Map;if(Array.isArray(n))for(let e of n)e&&e.id&&o.set(e.id,d(e,e.id));return e.map(e=>o.get(e)).filter(e=>!!e)}async function c(e,t){let r=(0,a.createAdminDbClient)(),n=[],{data:o,error:i}=await r.from("tasks").select("depends_on, content").eq("id",e).maybeSingle();if(i){if("42703"===i.code){let{data:t}=await r.from("tasks").select("content").eq("id",e).maybeSingle();n=l(t)}}else n=l(o);let s=await u(n,t),c=r.from("tasks").select("id, title, slug, status, stage").contains("depends_on",[e]);t&&(c=c.eq("user_id",t));let{data:p,error:m}=await c,g=Array.isArray(p)?p.map(e=>d(e,e?.id)):[];if(m&&"42703"===m.code){let a=r.from("tasks").select("id, title, slug, status, stage, content");t&&(a=a.eq("user_id",t));let{data:n}=await a;g=(Array.isArray(n)?n:[]).filter(t=>l(t).includes(e)).map(e=>d(e,e?.id))}return{depends_on_tasks:s,dependent_tasks:g}}async function p(e,t){let r=l(e);return r.length?(await u(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function m(e,s,l){let d=s||n.LOCAL_USER.id,u=await i.db.getTask(e,d);if(!u)throw Error(`Task not found: ${e}`);let c=await p(u,d);if(c.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",a=r?` (${r})`:"";return`${t}${a}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(c),r=(0,a.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:c,blockedReason:t}}if(!l?.force&&"queued"===u.status&&!u.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:m,body:g}=(0,o.parseFrontmatter)(u.content||""),f=l?.ticketType??(0,r.getTicketType)(m,g),h=await (0,t.getQueue)(),w=await h.send(t.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:d,signal:"start",ticketType:f}),_=(0,a.createAdminDbClient)(),{error:y}=await _.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(y&&"42703"!==y.code)throw y;return{started:!!w,jobId:w,missingDependencies:[],ticketType:f}}async function g(e,t){let r=t||n.LOCAL_USER.id,o=(0,a.createAdminDbClient)(),i=o.from("tasks").select("id").contains("depends_on",[e]);t&&(i=i.eq("user_id",t));let{data:s,error:d}=await i,u=Array.isArray(s)?s.map(e=>e?.id).filter(Boolean):[];if(d&&"42703"===d.code){let r=o.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:a}=await r;u=(Array.isArray(a)?a:[]).filter(t=>l(t).includes(e)).map(e=>e?.id).filter(Boolean)}u.length&&await Promise.all(u.map(e=>m(e,r)))}e.s(["attemptStartTask",()=>m,"getMissingDependencies",()=>p,"loadTaskDependencyGraph",()=>c,"triggerDependentTasks",()=>g])},67675,e=>{"use strict";e.i(54799);var t=e.i(57431);let r=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function a(e){let t=[];for(let a of r)a.test(e)&&t.push(a.source);let a="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(e)?a="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(e)?a="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(e)&&(a="medium"),{isDangerous:t.length>0,patterns:t,severity:a}}async function n(e){let r=(0,t.createAdminDbClient)(),{data:a,error:n}=await r.from("task_audit_log").insert({user_id:e.user_id,task_id:e.task_id,action:e.action,payload:e.payload,signature:e.signature,ip_address:e.ip_address,user_agent:e.user_agent,result:e.result||"pending"}).select("id").single();if(n)throw console.error("Failed to write audit log:",n),Error("Audit log write failed");return a.id}e.s(["detectDangerousOperations",()=>a,"writeAuditLog",()=>n])},76794,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),m=e.i(70101),g=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var w=e.i(220),_=e.i(94028),y=e.i(62294),k=e.i(57431),v=e.i(67675),R=e.i(69803),E=e.i(49041),S=e.i(91595),b=e.i(33872);async function A(e){try{let t=E.LOCAL_USER.id,{searchParams:r}=new URL(e.url),a=r.get("engine")||void 0,n=(0,k.createAdminDbClient)(),o=n.from("tasks").select("*").eq("user_id",t).eq("status","queued").neq("stage","done").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(25);a&&(o=o.eq("engine",a));let{data:i,error:s}=await o;if(s)throw s;let l=null;if(Array.isArray(i)){for(let e of i)if(!(await (0,S.getMissingDependencies)(e,t)).length){l=e;break}}if(!l)return _.NextResponse.json({task:null,message:"No tasks in queue"});let d=new Date().toISOString(),u=l;if("in_progress"!==l.status){let e={status:"in_progress",updated_at:d};l.started_at||(e.started_at=d),l.graph_id?(await (0,b.syncTaskProgressForGraphExecution)({taskId:l.id,userId:t,status:"in_progress",nowIso:d,startedAt:l.started_at||d}),e.stage="PROGRESS"):await n.from("tasks").update(e).eq("id",l.id).eq("user_id",t),u={...l,...e}}let c=await (0,R.buildTaskContext)(u),{comments_digest:p,stage_config:m,user_settings:g}=c,f=(0,y.resolveTaskConfig)(u,m,g),h=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||void 0,w=e.headers.get("user-agent")||void 0;await (0,v.writeAuditLog)({user_id:t,task_id:u.id,action:"execute",payload:{title:u.title,stage:u.stage,engine:u.engine,provider:f.provider,model:f.model??void 0,swarm:f.swarm,swarm_models:f.swarm_models},signature:"unsigned",ip_address:h,user_agent:w,result:"pending"});let A={...u,...f,...c};return _.NextResponse.json({task:A,stage_prompt:A.stage_prompt,stage_prompts:A.stage_prompts,stage_objective:A.stage_objective,stageObjective:A.stageObjective,stagePrompts:A.stagePrompts})}catch(e){return console.error("Error pulling from queue:",e),_.NextResponse.json({error:"Failed to pull from queue"},{status:500})}}e.s(["GET",()=>A],23843);var O=e.i(23843);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/queue/route",pathname:"/api/queue",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/queue/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:j,workUnitAsyncStorage:x,serverHooks:D}=C;function T(){return(0,a.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:x})}async function I(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/queue/route";_=_.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,params:v,nextConfig:R,parsedUrl:E,isDraftMode:S,prerenderManifest:b,routerServerContext:A,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,resolvedPathname:x,clientReferenceManifest:D,serverActionsManifest:T}=y,I=(0,s.normalizeAppPath)(_),q=!!(b.dynamicRoutes[I]||b.routes[x]),N=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!b.routes[x],t=b.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await N();throw new h.NoFallbackError}}let P=null;!q||C.isDev||S||(P="/index"===(P=x)?"/":P);let L=!0===C.isDev||!q,$=q&&!L;T&&D&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:D,serverActionsManifest:T});let M=e.method||"GET",F=(0,o.getTracer)(),U=F.getActiveScopeSpan(),H={params:v,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>C.onRequestError(e,t,a,n,A)},sharedContext:{buildId:k}},K=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let i=async e=>C.handle(G,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${_}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&O&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(K,B,o,H.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:O})},!1,A),t}},u=await C.handleResponse({req:e,nextConfig:R,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:j,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!q)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&q||h.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,B,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};U?await l(U):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof h.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:O})},!1,A),q)throw t;return await (0,p.sendResponse)(K,B,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>D,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>x],76794)}];
56
+
57
+ //# sourceMappingURL=_5fd6af5d._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[60245,e=>{"use strict";var t=e.i(57431);async function a(e){let a=(0,t.createAdminDbClient)();await a.from("workflow_events").insert({task_id:e.taskId,user_id:e.userId,event_type:e.eventType,payload:e.payload||{},job_id:e.jobId||null,created_at:new Date().toISOString()})}e.s(["appendWorkflowEvent",()=>a])},84282,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(74838),v=e.i(10372),f=e.i(93695);e.i(52474);var w=e.i(220),E=e.i(94028),g=e.i(90081),m=e.i(62294),C=e.i(57431),y=e.i(4290),A=e.i(68638),x=e.i(60245),k=e.i(49041);async function T(e,{params:t}){try{let e=k.LOCAL_USER.id,{taskId:a}=await t,r=await g.db.getTask(a,e);if(!r)return E.NextResponse.json({error:"Task not found"},{status:404});let{frontmatter:n,body:s}=(0,m.parseFrontmatter)(r.content),o=r.stage||n.stage||"INTAKE",i=(0,y.getTicketType)(n,s),l=await (0,A.getQueue)(),d=await l.send(A.QUEUE_NAMES.TASK_PROCESS,{taskId:a,userId:e,signal:"start",ticketType:i}),u=(0,C.createAdminDbClient)();return await u.from("tasks").update({status:"queued",updated_at:new Date().toISOString()}).eq("id",a).eq("user_id",e),await (0,x.appendWorkflowEvent)({taskId:a,userId:e,eventType:"task.started",payload:{stage:o,ticketType:i},jobId:d||void 0}),E.NextResponse.json({jobId:d,taskId:a,started:!0},{status:202})}catch(e){return console.error("Failed to start task:",e),E.NextResponse.json({error:"Failed to start task"},{status:500})}}e.s(["POST",()=>T],53272);var _=e.i(53272);let S=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/orchestrator/tasks/[taskId]/start/route",pathname:"/api/orchestrator/tasks/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/orchestrator/tasks/[taskId]/start/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:b,workUnitAsyncStorage:N,serverHooks:I}=S;function O(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:N})}async function P(e,t,r){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/orchestrator/tasks/[taskId]/start/route";E=E.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:C,nextConfig:y,parsedUrl:A,isDraftMode:x,prerenderManifest:k,routerServerContext:T,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,resolvedPathname:N,clientReferenceManifest:I,serverActionsManifest:O}=g,P=(0,i.normalizeAppPath)(E),U=!!(k.dynamicRoutes[P]||k.routes[N]),q=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(U&&!x){let e=!!k.routes[N],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await q();throw new f.NoFallbackError}}let D=null;!U||S.isDev||x||(D="/index"===(D=N)?"/":D);let H=!0===S.isDev||!U,j=U&&!H;O&&I&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:I,serverActionsManifest:O});let M=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),$={params:C,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>S.onRequestError(e,t,r,n,T)},sharedContext:{buildId:m}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let o=async e=>S.handle(W,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=F.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${E}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:a})=>{try{if(!i&&_&&b&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=$.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(L,B,s,$.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,r=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:_})},!1,T),t}},u=await S.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:b,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:i});if(!U)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&U||f.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:f,status:u.value.status||200})),null};K?await l(K):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:_})},!1,T),U)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>O,"routeModule",()=>S,"serverHooks",()=>I,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>N],84282)}];
2
+
3
+ //# sourceMappingURL=_c965f7b3._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[69449,e=>{"use strict";async function r(){{let{getQueue:r,QUEUE_NAMES:s}=await e.A(80001),{taskProcessor:t}=await e.A(32984),o=await r();await o.work(s.TASK_PROCESS,t,{batchSize:5}),console.log("[worker] queue worker started (embedded)");let{pollSchedules:a}=await e.A(57063),{createDispatchFunction:l}=await e.A(73171),{createDispatchWork:c}=await e.A(73045),{executeNode:h}=await e.A(9072),{completeScheduleTick:d,isScheduleTickComplete:_}=await e.A(24865),{GraphStore:n}=await e.A(2224);setInterval(async()=>{try{let e=l(),r=c(),s=await a({dispatchFunction:e,dispatchWork:r});if(s.tickedGraphIds.length>0&&console.log(`[schedules] ticked ${s.tickedGraphIds.length} graph(s)`),s.errors.length>0&&console.error(`[schedules] ${s.errors.length} error(s):`,s.errors.map(e=>e.error.message)),s.pendingWork.length>0){let t=new n;for(let o of s.pendingWork){let s=o.graph;for(let t of o.nodeIds)try{s=(await h(s,t,{dispatchFunction:e,dispatchWork:r})).graph,console.log(`[schedules] dispatched work node "${t}" for graph ${o.taskId}`)}catch(e){console.error(`[schedules] work dispatch failed for node "${t}":`,e)}if(t.updateGraphStructure(s.id,{nodes:s.nodes}),_(s)){let e=d(s);t.updateGraphStructure(e.id,{schedule:e.schedule}),console.log(`[schedules] tick complete for graph ${o.taskId}`)}}}}catch(e){console.error("[schedules] poll failed:",e)}},15e3),console.log("[schedules] poller started (every 15s)")}}e.s(["register",()=>r])},80001,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__3198c5c8._.js"].map(r=>e.l(r))).then(()=>r(40793)))},32984,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__36d9edbd._.js","server/chunks/lib_ea45fe73._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(69324)))},57063,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__e6ad07c3._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js","server/chunks/_6519418b._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(76109)))},73171,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__ceb02db8._.js"].map(r=>e.l(r))).then(()=>r(58898)))},73045,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__543ba6c4._.js"].map(r=>e.l(r))).then(()=>r(80469)))},9072,e=>{e.v(r=>Promise.all(["server/chunks/[externals]__1f4b15dd._.js","server/chunks/_6bc1b3e1._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js"].map(r=>e.l(r))).then(()=>r(88840)))},24865,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__6db132e9._.js","server/chunks/_6519418b._.js"].map(r=>e.l(r))).then(()=>r(9662)))},2224,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__2e596cc8._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(91329)))}];
1
+ module.exports=[69449,e=>{"use strict";async function r(){{let{getQueue:r,QUEUE_NAMES:s}=await e.A(80001),{taskProcessor:t}=await e.A(32984),o=await r();await o.work(s.TASK_PROCESS,t,{batchSize:5}),console.log("[worker] queue worker started (embedded)");let{pollSchedules:a}=await e.A(57063),{createDispatchFunction:l}=await e.A(73171),{createDispatchWork:c}=await e.A(73045),{executeNode:h}=await e.A(9072),{completeScheduleTick:_,isScheduleTickComplete:n}=await e.A(24865),{GraphStore:d}=await e.A(2224);setInterval(async()=>{try{let e=l(),r=c(),s=await a({dispatchFunction:e,dispatchWork:r});if(s.tickedGraphIds.length>0&&console.log(`[schedules] ticked ${s.tickedGraphIds.length} graph(s)`),s.errors.length>0&&console.error(`[schedules] ${s.errors.length} error(s):`,s.errors.map(e=>e.error.message)),s.pendingWork.length>0){let t=new d;for(let o of s.pendingWork){let s=o.graph;for(let t of o.nodeIds)try{s=(await h(s,t,{dispatchFunction:e,dispatchWork:r})).graph,console.log(`[schedules] dispatched work node "${t}" for graph ${o.taskId}`)}catch(e){console.error(`[schedules] work dispatch failed for node "${t}":`,e)}if(t.updateGraphStructure(s.id,{nodes:s.nodes}),n(s)){let e=_(s);t.updateGraphStructure(e.id,{schedule:e.schedule}),console.log(`[schedules] tick complete for graph ${o.taskId}`)}}}}catch(e){console.error("[schedules] poll failed:",e)}},15e3),console.log("[schedules] poller started (every 15s)")}}e.s(["register",()=>r])},80001,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__06634853._.js"].map(r=>e.l(r))).then(()=>r(40793)))},32984,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__c99509c2._.js","server/chunks/lib_ea45fe73._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(69324)))},57063,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__a67cd108._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js","server/chunks/_6519418b._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(76109)))},73171,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__ceb02db8._.js"].map(r=>e.l(r))).then(()=>r(58898)))},73045,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__543ba6c4._.js"].map(r=>e.l(r))).then(()=>r(80469)))},9072,e=>{e.v(r=>Promise.all(["server/chunks/[externals]__1f4b15dd._.js","server/chunks/_6bc1b3e1._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js"].map(r=>e.l(r))).then(()=>r(88840)))},24865,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__6db132e9._.js","server/chunks/_6519418b._.js"].map(r=>e.l(r))).then(()=>r(9662)))},2224,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__fee58db1._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(91329)))}];
2
2
 
3
3
  //# sourceMappingURL=_d225c04f._.js.map
@@ -1,4 +1,4 @@
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 n extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class o extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class s 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 i(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 l(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function u(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function p(e){let{type:t,status:r,metrics:a,output:n,...o}=e;return{type:t,status:r,config:o,output:n??null,metrics:a??null}}function c(e){let t={...u(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=l(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 m{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 s(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
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 n 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 l(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function u(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function p(e){let{type:t,status:r,metrics:a,output:n,...i}=e;return{type:t,status:r,config:i,output:n??null,metrics:a??null}}function c(e){let t={...u(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=l(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 m{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 o(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
2
2
  (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
3
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
4
  ON CONFLICT (id) DO UPDATE SET
@@ -9,25 +9,25 @@ module.exports=[97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan",
9
9
  done_criteria = excluded.done_criteria,
10
10
  schedule = excluded.schedule,
11
11
  created_at = excluded.created_at,
12
- updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,i(e.policy),i(e.doneCriteria),i(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 n=p(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,n.type,n.status,i(n.config),i(n.output),i(n.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,i(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 o=this.getGraphForTask(a,e.taskId);if(!o)throw new n(e.id);return o})()}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(),s=g(a);return a.transaction(()=>{if(!s.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new n(e);let r=Object.keys(t);if(0===r.length){let t=s.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:l(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),p=s.query(`SELECT node_id, type, status, config, output, metrics
15
- FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),c=new Map;for(let e of p.rows)c.set(e.node_id,e);let g=r.filter(e=>!c.has(e));if(g.length>0)throw new o(e,g);for(let a of r){let r=t[a],n=c.get(a);if(!n||!r)continue;let o={...u(d(n.config)),...u(r.configPatch)};void 0!==r.startedAt&&(o.startedAt=r.startedAt),void 0!==r.completedAt&&(o.completedAt=r.completedAt),void 0!==r.actualMinutes&&(o.actualMinutes=r.actualMinutes),s.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
- WHERE graph_id = ? AND node_id = ?`,[r.status??n.status,i(r.metrics??d(n.metrics)),i(r.output??d(n.output)),i(o),e,a])}let m=s.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:m.rows[0].graph_version,updatedAt:l(m.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),o=g(a);return a.transaction(()=>{let r=o.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new n(e);if(t.nodes)for(let[r,a]of(o.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=p(a);o.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,i(t.config),i(t.output),i(t.metrics)])}if(t.edges)for(let r of(o.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))o.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,i(r.dataMapping??null)]);let a=o.query(`UPDATE execution_graphs
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]),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 n=p(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,n.type,n.status,s(n.config),s(n.output),s(n.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,s(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 i=this.getGraphForTask(a,e.taskId);if(!i)throw new n(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 a=this.getDb(),o=g(a);return a.transaction(()=>{if(!o.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new n(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:l(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),p=o.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),c=new Map;for(let e of p.rows)c.set(e.node_id,e);let g=r.filter(e=>!c.has(e));if(g.length>0)throw new i(e,g);for(let a of r){let r=t[a],n=c.get(a);if(!n||!r)continue;let i={...u(d(n.config)),...u(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??n.status,s(r.metrics??d(n.metrics)),s(r.output??d(n.output)),s(i),e,a])}let m=o.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:m.rows[0].graph_version,updatedAt:l(m.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),i=g(a);return a.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 n(e);if(t.nodes)for(let[r,a]of(i.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=p(a);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 a=i.query(`UPDATE execution_graphs
19
19
  SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
20
20
  WHERE id = ?
21
- RETURNING graph_version, updated_at`,[t.mode??r.mode,i(t.policy??d(r.policy)??{}),i(t.doneCriteria??d(r.done_criteria)??{}),i(t.schedule??d(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:l(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
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:a.rows[0].graph_version,updatedAt:l(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
22
  FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!a)return null;let n=e.query(`SELECT node_id, type, status, config, output, metrics
23
- FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.id]),o=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]),s=e.query(`SELECT event_type, payload, timestamp
25
- FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),i={};for(let e of n.rows)i[e.node_id]=function(e){let t={...u(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let a=d(e.output);return null!==a&&(t.output=a),t}(e);let p=o.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=[],m=[];for(let e of s.rows){let t=c(e);r.has(t.eventType)?g.push(t):m.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:i,edges:p,policy:d(a.policy)??{},doneCriteria:d(a.done_criteria)??{},schedule:d(a.schedule)??void 0,versionHistory:g,runtimeEvents:m,createdAt:l(a.created_at),updatedAt:l(a.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
- VALUES (?, ?, ?, ?)`,[t,r.eventType,i(r),r.timestamp])}}function h(){return new m}let _=new m;function f(e,t){return _.createGraph(e,t)}function y(e){return _.getGraph(e)}function E(e,t,r){return _.updateNodeRuntime(e,t,r)}function w(e,t,r){return _.updateGraphStructure(e,t,r)}function v(e,t){return _.appendEvent(e,t)}function R(e,r={}){let a=["graph_id = ?"],n=[e];r.eventType&&(a.push("event_type = ?"),n.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),n.push(r.since));let o=r.limit??1e3,s=`SELECT event_type, payload, timestamp
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.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`,[a.id]),o=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),s={};for(let e of n.rows)s[e.node_id]=function(e){let t={...u(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let a=d(e.output);return null!==a&&(t.output=a),t}(e);let p=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=[],m=[];for(let e of o.rows){let t=c(e);r.has(t.eventType)?g.push(t):m.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:s,edges:p,policy:d(a.policy)??{},doneCriteria:d(a.done_criteria)??{},schedule:d(a.schedule)??void 0,versionHistory:g,runtimeEvents:m,createdAt:l(a.created_at),updatedAt:l(a.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 f(){return new m}let h=new m;function _(e,t){return h.createGraph(e,t)}function y(e){return h.getGraph(e)}function E(e,t,r){return h.updateNodeRuntime(e,t,r)}function w(e,t,r){return h.updateGraphStructure(e,t,r)}function v(e,t){return h.appendEvent(e,t)}function k(e,r={}){let a=["graph_id = ?"],n=[e];r.eventType&&(a.push("event_type = ?"),n.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),n.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
27
27
  FROM graph_events
28
28
  WHERE ${a.join(" AND ")}
29
29
  ORDER BY timestamp ASC, event_type ASC
30
- LIMIT ?`;return n.push(o),g((0,t.getSQLiteDb)()).query(s,n).rows.map(e=>c(e))}function k(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
30
+ LIMIT ?`;return n.push(i),g((0,t.getSQLiteDb)()).query(o,n).rows.map(e=>c(e))}function R(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
31
31
  FROM execution_graphs
32
32
  WHERE schedule IS NOT NULL
33
33
  AND json_extract(schedule, '$.rootMessageId') = ?
@@ -36,20 +36,20 @@ module.exports=[97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan",
36
36
  LIMIT 1`).get(r)??null:null}function S(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
37
37
  FROM execution_graphs
38
38
  WHERE schedule IS NOT NULL
39
- AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function T(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
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
40
  SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
41
41
  updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
42
42
  WHERE schedule IS NOT NULL
43
43
  AND json_extract(schedule, '$.rootMessageId') = ?
44
- AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>o,"GraphNotFoundError",()=>n,"GraphStore",()=>m,"GraphTaskAlreadyBoundError",()=>s,"GraphVersionConflictError",()=>a,"appendEvent",()=>v,"createGraph",()=>f,"createGraphStore",()=>h,"deactivateSchedulesByRootMessageId",()=>T,"getActiveScheduleForRootMessageId",()=>k,"getActiveScheduleRootMessageIds",()=>S,"getGraph",()=>y,"getGraphEvents",()=>R,"updateGraphStructure",()=>w,"updateNodeRuntime",()=>E])},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"]])},33938,e=>{"use strict";var t=e.i(60447),r=e.i(77581);function a(e,a){let n=(0,t.getSQLiteDb)(),o=a?.producer;if("system"===o){let t=(0,r.getKnowledgeNote)("repo",e);return t?[{id:t.id,repo_id:e,content:t.content,producer:"system",created_at:t.updatedAt}]:[]}let s=o?n.prepare(`SELECT id, repo_id, content, producer, created_at
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>i,"GraphNotFoundError",()=>n,"GraphStore",()=>m,"GraphTaskAlreadyBoundError",()=>o,"GraphVersionConflictError",()=>a,"appendEvent",()=>v,"createGraph",()=>_,"createGraphStore",()=>f,"deactivateSchedulesByRootMessageId",()=>A,"getActiveScheduleForRootMessageId",()=>R,"getActiveScheduleRootMessageIds",()=>S,"getGraph",()=>y,"getGraphEvents",()=>k,"updateGraphStructure",()=>w,"updateNodeRuntime",()=>E])},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"]])},33938,e=>{"use strict";var t=e.i(60447),r=e.i(77581);function a(e,a){let n=(0,t.getSQLiteDb)(),i=a?.producer;if("system"===i){let t=(0,r.getKnowledgeNote)("repo",e);return t?[{id:t.id,repo_id:e,content:t.content,producer:"system",created_at:t.updatedAt}]:[]}let o=i?n.prepare(`SELECT id, repo_id, content, producer, created_at
45
45
  FROM repo_knowledge
46
46
  WHERE repo_id = ? AND producer = ?
47
- ORDER BY created_at DESC`).all(e,o):n.prepare(`SELECT id, repo_id, content, producer, created_at
47
+ ORDER BY created_at DESC`).all(e,i):n.prepare(`SELECT id, repo_id, content, producer, created_at
48
48
  FROM repo_knowledge
49
49
  WHERE repo_id = ?
50
- ORDER BY created_at DESC`).all(e);if(a?.includeLegacyHumanFallback===!1)return s;let i=(0,t.getSQLiteDb)().prepare(`SELECT id, name, path, notes, created_at, updated_at
50
+ ORDER BY created_at DESC`).all(e);if(a?.includeLegacyHumanFallback===!1)return o;let s=(0,t.getSQLiteDb)().prepare(`SELECT id, name, path, notes, created_at, updated_at
51
51
  FROM project_repos
52
- WHERE id = ?`).get(e)??null,d=i?.notes?.trim();return!d||s.some(e=>"human"===e.producer)||s.some(e=>"human"===e.producer&&e.content.trim()===d)?s:[{id:`legacy-notes:${e}`,repo_id:e,content:d,producer:"human",created_at:i?.updated_at??i?.created_at??new Date(0).toISOString()},...s]}function n(e,r,n){let o=(0,t.getSQLiteDb)(),s=n.trim();return o.transaction(()=>{o.prepare("DELETE FROM repo_knowledge WHERE repo_id = ? AND producer = ?").run(e,r),s&&o.prepare("INSERT INTO repo_knowledge (repo_id, content, producer) VALUES (?, ?, ?)").run(e,s,r)})(),a(e,{producer:r,includeLegacyHumanFallback:!1})}function o(e){let t=[];for(let r of e){if(!r.id){let e=r.notes?.trim();e&&t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}for(let e of[...a(r.id,{producer:"human"}),...a(r.id,{producer:"system",includeLegacyHumanFallback:!1})]){let a=e.content.trim();a&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:a,producer:e.producer})}}return t}e.s(["listRepoKnowledge",()=>a,"listResolvedRepoKnowledge",()=>o,"replaceRepoKnowledge",()=>n])},42304,e=>{"use strict";var t=e.i(54799),r=e.i(14350),a=e.i(60447),n=e.i(40813),o=e.i(77581);let s=new Set(["outcome","decision","pattern","gotcha"]),i=`You are a memory extractor for a task execution system.
52
+ WHERE id = ?`).get(e)??null,d=s?.notes?.trim();return!d||o.some(e=>"human"===e.producer)||o.some(e=>"human"===e.producer&&e.content.trim()===d)?o:[{id:`legacy-notes:${e}`,repo_id:e,content:d,producer:"human",created_at:s?.updated_at??s?.created_at??new Date(0).toISOString()},...o]}function n(e,r,n){let i=(0,t.getSQLiteDb)(),o=n.trim();return i.transaction(()=>{i.prepare("DELETE FROM repo_knowledge WHERE repo_id = ? AND producer = ?").run(e,r),o&&i.prepare("INSERT INTO repo_knowledge (repo_id, content, producer) VALUES (?, ?, ?)").run(e,o,r)})(),a(e,{producer:r,includeLegacyHumanFallback:!1})}function i(e){let t=[];for(let r of e){if(!r.id){let e=r.notes?.trim();e&&t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}for(let e of[...a(r.id,{producer:"human"}),...a(r.id,{producer:"system",includeLegacyHumanFallback:!1})]){let a=e.content.trim();a&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:a,producer:e.producer})}}return t}e.s(["listRepoKnowledge",()=>a,"listResolvedRepoKnowledge",()=>i,"replaceRepoKnowledge",()=>n])},42304,e=>{"use strict";var t=e.i(54799),r=e.i(14350),a=e.i(60447),n=e.i(40813),i=e.i(77581);let o=new Set(["outcome","decision","pattern","gotcha"]),s=`You are a memory extractor for a task execution system.
53
53
  Given a completed task, extract 0-3 memories worth remembering for future tasks.
54
54
 
55
55
  Each memory must be:
@@ -82,16 +82,16 @@ Rules:
82
82
  - Do not include repo-specific durable truths that belong in repo knowledge.
83
83
  - Avoid generic filler and avoid sounding like an audit log.
84
84
  - If nothing project-scoped changed, return {"no_change": true}.
85
- - Do not wrap in markdown code blocks. Just raw JSON.`;async function l(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),a=`${i}
85
+ - Do not wrap in markdown code blocks. Just raw JSON.`;async function l(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),a=`${s}
86
86
 
87
87
  Task:
88
- ${t}`,n="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var o=n;let d=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(d);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&s.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",d.slice(0,200)),[]}}let u=new Set(["outcome","decision","pattern","gotcha"]),p=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function c(e){return"string"!=typeof e?null:e.trim()||null}function g(e){let t=c(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of p){let t=c(r[e]);if(t)return t}return c(e.defaultUserId)||"system"}async function m(e,r,o){let s=(0,a.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
89
- VALUES (?, ?, ?, ?, ?, ?, ?)`),i=0,d=Date.now();for(let a of o){if(!u.has(a.memory_type)||!a.content?.trim())continue;let n=(0,t.createHash)("sha256").update(a.content.trim()).digest("hex");s.run((0,t.randomUUID)(),r,e,a.memory_type,a.content.trim(),n,d).changes>0&&i++}return i>0&&(0,n.storeKnowledgeEntries)(o.map(t=>({scope:"agent",subjectId:r,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),i}async function h(e,t,r){let a=await l(r);if(0===a.length)return;let n=await m(e,t,a);n>0&&console.log(`[memory-extractor] Stored ${n} memories for task ${e}`)}async function _(e){let t=c(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let r=(0,a.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function f(e,t){let a=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),n=`${d}
88
+ ${t}`,n="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var i=n;let d=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(d);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&o.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",d.slice(0,200)),[]}}let u=new Set(["outcome","decision","pattern","gotcha"]),p=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function c(e){return"string"!=typeof e?null:e.trim()||null}function g(e){let t=c(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of p){let t=c(r[e]);if(t)return t}return c(e.defaultUserId)||"system"}async function m(e,r,i){let o=(0,a.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
89
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,d=Date.now();for(let a of i){if(!u.has(a.memory_type)||!a.content?.trim())continue;let n=(0,t.createHash)("sha256").update(a.content.trim()).digest("hex");o.run((0,t.randomUUID)(),r,e,a.memory_type,a.content.trim(),n,d).changes>0&&s++}return s>0&&(0,n.storeKnowledgeEntries)(i.map(t=>({scope:"agent",subjectId:r,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),s}async function f(e,t,r){let a=await l(r);if(0===a.length)return;let n=await m(e,t,a);n>0&&console.log(`[memory-extractor] Stored ${n} memories for task ${e}`)}async function h(e){let t=c(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let r=(0,a.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function _(e,t){let a=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),n=`${d}
90
90
 
91
91
  Current note:
92
92
  ${t||"(empty)"}
93
93
 
94
94
  Task:
95
- ${a}`,o="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{o+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let s=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(s);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",s.slice(0,200)),[]}}async function y(e,t,r){if(0===r.length)return 0;let a=r[0];return a&&a.updated_note?.trim()?+!!(0,o.upsertKnowledgeNote)({scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function E(e,t,r){let a=await _(t);if(!a)return;let n=await f(r,(0,o.getKnowledgeNote)("project",a)?.content??"");if(0===n.length)return;let s=await y(a,e,n);s>0&&console.log(`[project-knowledge] Stored ${s} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>h,"extractAndStoreProjectKnowledge",()=>E,"resolveMemoryAgentId",()=>g])},69803,e=>{"use strict";var t=e.i(54799),r=e.i(57431),a=e.i(60447),n=e.i(33938),o=e.i(77581),s=e.i(42304),i=e.i(62294);async function d(e){let t=(0,r.createAdminDbClient)(),{data:a,error:n}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(n){let e="string"==typeof n.message?n.message:"";if("42P01"===n.code||"PGRST205"===n.code||e.includes('relation "task_comments" does not exist')||e.includes("Could not find the table 'agx.task_comments'")||e.includes("Could not find the table 'public.task_comments'"))return[];throw n}return a||[]}async function l(e){let t=(0,r.createAdminDbClient)(),a=e.user_id,n=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);a&&n.eq("user_id",a);let o=t.from("learnings").select("*").eq("scope","global");a&&o.eq("user_id",a);let[{data:s,error:i},{data:d,error:l}]=await Promise.all([n,o]);if(i)throw i;if(l)throw l;return{task:s||[],project:[],global:d||[]}}async function u(e){let t,a=e.stage;if(!a)return{prompt:null};let n=(0,r.createAdminDbClient)(),o=(t=e.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?e.workflow_id:"";if(!o&&e.project_id)try{let t=await (0,i.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(o=t.workflow_id)}catch{}o||(o=i.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await n.from("workflow_nodes").select("*").eq("workflow_id",o).eq("name",a).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,a=Array.isArray(t.swarm_models)?t.swarm_models:void 0;if(e.prompt)return{prompt:e.prompt,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a}}}catch{}try{let t=[];t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("is_default",!0).eq("workflow_id",o).maybeSingle()),e.user_id&&t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("user_id",e.user_id).eq("workflow_id",o).maybeSingle());let r=await Promise.all(t),s=r[0]?.data||null,i=e.user_id?r[1]?.data:null,d=i?.prompt||s?.prompt||null;if(d)return{prompt:d,swarm:i?.swarm??s?.swarm??!1,provider:i?.provider||s?.provider,model:i?.model||s?.model,swarm_models:i?.swarm_models||s?.swarm_models}}catch{}let s=i.defaultStagePrompts[a];return s?.prompt?{prompt:s.prompt,swarm:s.swarm??!1,provider:s.provider,model:s.model,swarm_models:s.swarm_models}:{prompt:null}}async function p(e,t){let r=e.project_id,a=e.project||void 0,s=null;if(r&&(s=await (0,i.getProjectWithRepos)(r,e.user_id)),!s&&a){let t=await (0,i.getProjectBySlug)(a,e.user_id);if(t){let e=await (0,i.getProjectRepos)(t.id);s={...t,repos:e}}}if(!s)return null;let d=await (0,i.getProjectMemory)(s.id,"human"),l=(0,o.getKnowledgeNote)("project",s.id);if(s.repos.length>0){let e=(0,n.listResolvedRepoKnowledge)(s.repos),t=new Map;for(let r of e){if(!r.repoId)continue;let e="system"===r.producer?`[System-generated] ${r.content}`:r.content,a=t.get(r.repoId)??[];a.push(e),t.set(r.repoId,a)}s={...s,repos:s.repos.map(e=>({...e,notes:t.has(e.id)?t.get(e.id).join("\n\n"):e.notes}))}}return{project:s,repos:s.repos??[],learnings:[...d.map(e=>e.content),...l?.content?[`[System-generated] ${l.content}`]:[]]}}async function c(e){let r,[n,o,c,g]=await Promise.all([d(e.id),l(e),u(e),e.user_id?(0,i.getUserSettings)(e.user_id):Promise.resolve(null)]),m=await p(e,o.project),{frontmatter:h}=(0,i.parseFrontmatter)(e.content),_=(0,s.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:h}),f=h.no_memory?[]:function(e,t=5){try{return(0,a.getSQLiteDb)().prepare("SELECT content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(e=>e.content)}catch{return[]}}(_),y=(r=JSON.stringify(n.map(e=>({id:e.id,task_id:e.task_id,author_type:e.author_type||null,author_id:e.author_id||null,content:e.content||"",created_at:e.created_at||null}))),(0,t.createHash)("sha256").update(r).digest("hex")),E="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",w=c.prompt??null,v={};if(w&&E){v[E]=w;let e=E.toLowerCase();v[e]||(v[e]=w)}let R=w&&E?[{stage:E,prompt:w}]:[];return{comments:n,learnings:o,agent_memories:f,stage_config:c,stage_prompt:w,stage_prompts:v,stage_objective:w,stageObjective:w,stagePrompts:R,project_context:m,comments_digest:y,user_settings:g}}e.s(["buildTaskContext",()=>c])},67675,e=>{"use strict";e.i(54799);var t=e.i(57431);let r=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function a(e){let t=[];for(let a of r)a.test(e)&&t.push(a.source);let a="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(e)?a="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(e)?a="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(e)&&(a="medium"),{isDangerous:t.length>0,patterns:t,severity:a}}async function n(e){let r=(0,t.createAdminDbClient)(),{data:a,error:n}=await r.from("task_audit_log").insert({user_id:e.user_id,task_id:e.task_id,action:e.action,payload:e.payload,signature:e.signature,ip_address:e.ip_address,user_agent:e.user_agent,result:e.result||"pending"}).select("id").single();if(n)throw console.error("Failed to write audit log:",n),Error("Audit log write failed");return a.id}e.s(["detectDangerousOperations",()=>a,"writeAuditLog",()=>n])},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 a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function n(){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",()=>a,"isV2ReadPathEnabled",()=>n],83131);let o=new Set(["done","passed","failed","skipped"]),s=new Set(["running","awaiting_human","blocked"]),i=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 l(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=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&&i.has(r.status))})&&a||r.every(e=>o.has(e.status))&&a?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>s.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function u(e,t="INTAKE"){let r,a,n=l(e),s="completed"===(r=l(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,i="completed"===n?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>o.has(e.status)).length/a.length*100)));return{status:n,stage:s,progressPercent:i}}function p(e){var t;let r,n,o,s,i,l=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:u(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},n=[],o="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",s=d(t.legacy.stage,"INTAKE"),i=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(o!==t.v2.status&&n.push({field:"status",legacy:o,v2:t.v2.status}),s!==t.v2.stage&&n.push({field:"stage",legacy:s,v2:t.v2.stage}),null!==i&&i!==t.v2.progressPercent&&n.push({field:"progressPercent",legacy:i,v2:t.v2.progressPercent}),0===n.length)?null:{taskId:t.taskId,source:t.source,diffs:n});return l&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(l)),l}e.s(["logParityDiff",()=>p,"projectLegacyCompatFromGraph",()=>u],23297)},37645,e=>{"use strict";var t=e.i(62294),r=e.i(83131),a=e.i(23297),n=e.i(97812);function o(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function s(e){if(o(e.depends_on).length||"string"!=typeof e?.content)return e;let{frontmatter:r}=(0,t.parseFrontmatter)(e.content||""),a=o(r.depends_on);return a.length?{...e,depends_on:a}:e}function i(e){return"blocked"!==e.status||e.blocked_reason||e.stage&&"intake"!==e.stage.toLowerCase()?e.blocked_reason:"Awaiting approval"}async function d(e){if(!(0,r.isV2ReadPathEnabled)())return{...s(e),blocked_reason:i(e),read_path_source:"v1"};try{let t=await (0,n.getGraph)(e.id);if(!t)return{...s(e),read_path_source:"v1"};let r=(0,a.projectLegacyCompatFromGraph)(t,e.stage||"INTAKE"),o="queued"===r.status&&e.status&&"queued"!==e.status?e.status:r.status,d="completed"===o?"DONE":r.stage;(0,a.logParityDiff)({source:"read_path",task:e,graph:t});let l={...s(e),status:o,stage:d};return{...l,blocked_reason:i(l),read_path_source:"v2"}}catch(t){return console.error("Failed to project task from v2 graph; using v1 compatibility mode",t),{...s(e),read_path_source:"v1"}}}async function l(e){return Promise.all(e.map(e=>d(e)))}e.s(["projectTaskReadModel",()=>d,"projectTaskReadModels",()=>l])},88144,e=>{"use strict";var t=e.i(54799),r=e.i(79042);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,n=/^#\s+(.+?)(?:\r?\n|$)/;function o(e){return"string"==typeof e?e.trim():""}function s(e,t){let r=o(t),s=o(e);if(!s)return r;let i=s.replace(a,"").trim();if(!i)return r;let d=i.match(n);if(!d)return i;let l=i.slice(d[0].length).trim();return l||d[1].trim()||r}let i={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let a=new Date().toISOString(),n={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=o(e.description);if(t)return s(t,e.title);let r=o(e.content);if(r)return s(r,e.title);let a=o(e.objective);return a?s(a,e.title):o(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:n,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:{...i},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>d],88144)},77731,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),g=e.i(70101),m=e.i(74838),h=e.i(10372),_=e.i(93695);e.i(52474);var f=e.i(220),y=e.i(94028),E=e.i(90081),w=e.i(62294),v=e.i(57431),R=e.i(49041),k=e.i(67675),S=e.i(69803),T=e.i(91595),A=e.i(83131),I=e.i(88144),b=e.i(23297),N=e.i(97812),O=e.i(61860);async function D(e){if(!(0,A.isDualWriteEnabled)())return{enabled:!1,result:"disabled"};try{let t=await (0,N.getGraph)(e.id);if(t)return(0,b.logParityDiff)({source:"task_create_dual_write",task:e,graph:t}),{enabled:!0,result:"existing",graphId:t.id};let r=(0,I.createRootOnlyGraph)({id:e.id,title:e.title||void 0,description:e.description||void 0,content:e.content||void 0}),a=(0,O.validateGraph)(r);if(!a.valid)return{enabled:!0,result:"failed",error:`validateGraph failed: ${JSON.stringify(a.errors)}`};let n=await (0,N.createGraph)(r);return(0,b.logParityDiff)({source:"task_create_dual_write",task:e,graph:n}),{enabled:!0,result:"created",graphId:n.id}}catch(t){if(t instanceof N.GraphTaskAlreadyBoundError){let r=await (0,N.getGraph)(e.id);return r&&(0,b.logParityDiff)({source:"task_create_dual_write",task:e,graph:r}),{enabled:!0,result:"existing",graphId:t.existingGraphId}}return{enabled:!0,result:"failed",error:t instanceof Error?t.message:String(t)}}}var x=e.i(37645);async function C(e){try{let t=R.LOCAL_USER.id,{searchParams:r}=new URL(e.url),a=r.get("project")||void 0,n="1"===r.get("orphan"),o=r.get("status"),s=r.get("slug"),i=r.get("search")||void 0;if(s){let e=await E.db.getTaskBySlug(s,t);if(!e)return y.NextResponse.json({error:"Task not found"},{status:404});let r=await (0,x.projectTaskReadModel)(e),a=await (0,S.buildTaskContext)(e),n=(0,w.resolveTaskConfig)(e,a.stage_config,a.user_settings),o={...r,...a,resolved_provider:n.provider,resolved_model:n.model??void 0,resolved_swarm:n.swarm,resolved_swarm_models:n.swarm_models};return y.NextResponse.json({task:o,stage_prompt:o.stage_prompt,stage_prompts:o.stage_prompts,stage_objective:o.stage_objective,stageObjective:o.stageObjective,stagePrompts:o.stagePrompts})}let d=await E.db.getTasks(t,{project:a,status:o||void 0,search:i,orphan:n}),l=await (0,x.projectTaskReadModels)(d);return y.NextResponse.json({tasks:l})}catch(e){return console.error("Error fetching tasks:",e),y.NextResponse.json({error:"Failed to fetch tasks"},{status:500})}}async function L(e){try{let t=R.LOCAL_USER.id,r=await e.json(),{content:a,swarm_models:n,project_id:o,title:s}=r,i=Array.isArray(r?.depends_on)?r.depends_on:"string"==typeof r?.depends_on?[r.depends_on]:void 0;if(!a)return y.NextResponse.json({error:"Content is required"},{status:400});let d=(0,k.detectDangerousOperations)(a);if(d.isDangerous&&"critical"===d.severity)return y.NextResponse.json({error:"Task contains potentially dangerous operations",dangerous:!0,severity:d.severity,patterns:d.patterns,message:"This task has been blocked. Please review and remove dangerous commands."},{status:400});let l=await E.db.createTask(a,t,{swarmModels:n,dependsOn:i,projectId:"string"==typeof o?o:void 0,title:"string"==typeof s?s:void 0});await (0,T.attemptStartTask)(l.id,t);let u=await E.db.getTask(l.id,t)||l,p=await D(u);if("failed"===p.result&&console.error("Task dual-write graph creation failed",{taskId:u.id,error:p.error}),p.graphId){let e=(0,v.createAdminDbClient)();await e.from("tasks").update({graph_id:p.graphId}).eq("id",u.id),u.graph_id=p.graphId}let c=await (0,S.buildTaskContext)(u),{comments_digest:g,stage_config:m}=c,h=(0,w.resolveTaskConfig)(u,m,c.user_settings),_=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||void 0,f=e.headers.get("user-agent")||void 0;await (0,k.writeAuditLog)({user_id:t,task_id:u.id,action:"dispatch",payload:{title:u.title,stage:u.stage,engine:u.engine,provider:h.provider,model:h.model??void 0,swarm:h.swarm,swarm_models:h.swarm_models,project:u.project,dangerous:d.isDangerous?{severity:d.severity,patterns:d.patterns}:null},signature:"unsigned",ip_address:_,user_agent:f,result:"pending"});let A={...u,...c,resolved_provider:h.provider,resolved_model:h.model??void 0,resolved_swarm:h.swarm,resolved_swarm_models:h.swarm_models},I={id:u.id,task:A,stage_prompt:A.stage_prompt,stage_prompts:A.stage_prompts,stage_objective:A.stage_objective,stageObjective:A.stageObjective,stagePrompts:A.stagePrompts,graph_dual_write:p};return d.isDangerous&&(I.warning={message:"Task contains potentially dangerous operations. Daemon may prompt for confirmation.",severity:d.severity,patterns:d.patterns}),y.NextResponse.json(I,{status:201})}catch(e){return console.error("Error creating task:",e),y.NextResponse.json({error:"Failed to create task"},{status:500})}}e.s(["GET",()=>C,"POST",()=>L],65651);var j=e.i(65651);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:M,workUnitAsyncStorage:q,serverHooks:G}=P;function F(){return(0,a.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:q})}async function U(e,t,a){P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/tasks/route";y=y.replace(/\/index$/,"")||"/";let E=await P.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:R,parsedUrl:k,isDraftMode:S,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:D}=E,x=(0,i.normalizeAppPath)(y),C=!!(T.dynamicRoutes[x]||T.routes[N]),L=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,k,!1):t.end("This page could not be found"),null);if(C&&!S){let e=!!T.routes[N],t=T.dynamicRoutes[x];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await L();throw new _.NoFallbackError}}let j=null;!C||P.isDev||S||(j="/index"===(j=N)?"/":j);let M=!0===P.isDev||!C,q=C&&!M;D&&O&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:O,serverActionsManifest:D});let G=e.method||"GET",F=(0,o.getTracer)(),U=F.getActiveScopeSpan(),H={params:v,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>P.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},$=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),B=l.NextRequestAdapter.fromNodeNextRequest($,(0,l.signalFromNodeResponse)(t));try{let s=async e=>P.handle(B,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${G} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${G} ${y}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var o,d;let l=async({previousCacheEntry:r})=>{try{if(!i&&I&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let d=H.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let l=H.renderOpts.collectedTags;if(!C)return await (0,c.sendResponse)($,W,o,H.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:I})},!1,A),t}},u=await P.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:i});if(!C)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let _=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&C||_.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||_.get("Cache-Control")||_.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)($,W,new Response(u.value.body,{headers:_,status:u.value.status||200})),null};U?await d(U):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${G} ${y}`,kind:o.SpanKind.SERVER,attributes:{"http.method":G,"http.target":e.url}},d))}catch(t){if(t instanceof _.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:I})},!1,A),C)throw t;return await (0,c.sendResponse)($,W,new Response(null,{status:500})),null}}e.s(["handler",()=>U,"patchFetch",()=>F,"routeModule",()=>P,"serverHooks",()=>G,"workAsyncStorage",()=>M,"workUnitAsyncStorage",()=>q],77731)}];
95
+ ${a}`,i="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{i+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let o=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",o.slice(0,200)),[]}}async function y(e,t,r){if(0===r.length)return 0;let a=r[0];return a&&a.updated_note?.trim()?+!!(0,i.upsertKnowledgeNote)({scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function E(e,t,r){let a=await h(t);if(!a)return;let n=await _(r,(0,i.getKnowledgeNote)("project",a)?.content??"");if(0===n.length)return;let o=await y(a,e,n);o>0&&console.log(`[project-knowledge] Stored ${o} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>f,"extractAndStoreProjectKnowledge",()=>E,"resolveMemoryAgentId",()=>g])},69803,e=>{"use strict";var t=e.i(54799),r=e.i(57431),a=e.i(60447),n=e.i(33938),i=e.i(77581),o=e.i(42304),s=e.i(62294);async function d(e){let t=(0,r.createAdminDbClient)(),{data:a,error:n}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(n){let e="string"==typeof n.message?n.message:"";if("42P01"===n.code||"PGRST205"===n.code||e.includes('relation "task_comments" does not exist')||e.includes("Could not find the table 'agx.task_comments'")||e.includes("Could not find the table 'public.task_comments'"))return[];throw n}return a||[]}async function l(e){let t=(0,r.createAdminDbClient)(),a=e.user_id,n=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);a&&n.eq("user_id",a);let i=t.from("learnings").select("*").eq("scope","global");a&&i.eq("user_id",a);let[{data:o,error:s},{data:d,error:l}]=await Promise.all([n,i]);if(s)throw s;if(l)throw l;return{task:o||[],project:[],global:d||[]}}async function u(e){let t,a=e.stage;if(!a)return{prompt:null};let n=(0,r.createAdminDbClient)(),i=(t=e.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?e.workflow_id:"";if(!i&&e.project_id)try{let t=await (0,s.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(i=t.workflow_id)}catch{}i||(i=s.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await n.from("workflow_nodes").select("*").eq("workflow_id",i).eq("name",a).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,a=Array.isArray(t.swarm_models)?t.swarm_models:void 0;if(e.prompt)return{prompt:e.prompt,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a}}}catch{}try{let t=[];t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("is_default",!0).eq("workflow_id",i).maybeSingle()),e.user_id&&t.push(n.from("stage_prompts").select("*").eq("stage",a).eq("user_id",e.user_id).eq("workflow_id",i).maybeSingle());let r=await Promise.all(t),o=r[0]?.data||null,s=e.user_id?r[1]?.data:null,d=s?.prompt||o?.prompt||null;if(d)return{prompt:d,swarm:s?.swarm??o?.swarm??!1,provider:s?.provider||o?.provider,model:s?.model||o?.model,swarm_models:s?.swarm_models||o?.swarm_models}}catch{}let o=s.defaultStagePrompts[a];return o?.prompt?{prompt:o.prompt,swarm:o.swarm??!1,provider:o.provider,model:o.model,swarm_models:o.swarm_models}:{prompt:null}}async function p(e,t){let r=e.project_id,a=e.project||void 0,o=null;if(r&&(o=await (0,s.getProjectWithRepos)(r,e.user_id)),!o&&a){let t=await (0,s.getProjectBySlug)(a,e.user_id);if(t){let e=await (0,s.getProjectRepos)(t.id);o={...t,repos:e}}}if(!o)return null;let d=await (0,s.getProjectMemory)(o.id,"human"),l=(0,i.getKnowledgeNote)("project",o.id);if(o.repos.length>0){let e=(0,n.listResolvedRepoKnowledge)(o.repos),t=new Map;for(let r of e){if(!r.repoId)continue;let e="system"===r.producer?`[System-generated] ${r.content}`:r.content,a=t.get(r.repoId)??[];a.push(e),t.set(r.repoId,a)}o={...o,repos:o.repos.map(e=>({...e,notes:t.has(e.id)?t.get(e.id).join("\n\n"):e.notes}))}}return{project:o,repos:o.repos??[],learnings:[...d.map(e=>e.content),...l?.content?[`[System-generated] ${l.content}`]:[]]}}async function c(e){let r,[n,i,c,g]=await Promise.all([d(e.id),l(e),u(e),e.user_id?(0,s.getUserSettings)(e.user_id):Promise.resolve(null)]),m=await p(e,i.project),{frontmatter:f}=(0,s.parseFrontmatter)(e.content),h=(0,o.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:f}),_=f.no_memory?[]:function(e,t=5){try{return(0,a.getSQLiteDb)().prepare("SELECT content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(e=>e.content)}catch{return[]}}(h),y=(r=JSON.stringify(n.map(e=>({id:e.id,task_id:e.task_id,author_type:e.author_type||null,author_id:e.author_id||null,content:e.content||"",created_at:e.created_at||null}))),(0,t.createHash)("sha256").update(r).digest("hex")),E="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",w=c.prompt??null,v={};if(w&&E){v[E]=w;let e=E.toLowerCase();v[e]||(v[e]=w)}let k=w&&E?[{stage:E,prompt:w}]:[];return{comments:n,learnings:i,agent_memories:_,stage_config:c,stage_prompt:w,stage_prompts:v,stage_objective:w,stageObjective:w,stagePrompts:k,project_context:m,comments_digest:y,user_settings:g}}e.s(["buildTaskContext",()=>c])},91595,e=>{"use strict";var t=e.i(68638),r=e.i(4290),a=e.i(57431),n=e.i(49041),i=e.i(62294),o=e.i(90081);function s(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function d(e){if(!e)return[];let t=s(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,i.parseFrontmatter)(e.content||"");return s(t.depends_on)}return[]}function l(e,t){return e?{id:e.id||t||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:t||""}}async function u(e,t){if(!e.length)return[];let r=(0,a.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,i=new Map;if(Array.isArray(n))for(let e of n)e&&e.id&&i.set(e.id,l(e,e.id));return e.map(e=>i.get(e)).filter(e=>!!e)}async function p(e,t){let r=(0,a.createAdminDbClient)(),n=[],{data:i,error:o}=await r.from("tasks").select("depends_on, content").eq("id",e).maybeSingle();if(o){if("42703"===o.code){let{data:t}=await r.from("tasks").select("content").eq("id",e).maybeSingle();n=d(t)}}else n=d(i);let s=await u(n,t),p=r.from("tasks").select("id, title, slug, status, stage").contains("depends_on",[e]);t&&(p=p.eq("user_id",t));let{data:c,error:g}=await p,m=Array.isArray(c)?c.map(e=>l(e,e?.id)):[];if(g&&"42703"===g.code){let a=r.from("tasks").select("id, title, slug, status, stage, content");t&&(a=a.eq("user_id",t));let{data:n}=await a;m=(Array.isArray(n)?n:[]).filter(t=>d(t).includes(e)).map(e=>l(e,e?.id))}return{depends_on_tasks:s,dependent_tasks:m}}async function c(e,t){let r=d(e);return r.length?(await u(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function g(e,s,d){let l=s||n.LOCAL_USER.id,u=await o.db.getTask(e,l);if(!u)throw Error(`Task not found: ${e}`);let p=await c(u,l);if(p.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",a=r?` (${r})`:"";return`${t}${a}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(p),r=(0,a.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:p,blockedReason:t}}if(!d?.force&&"queued"===u.status&&!u.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:g,body:m}=(0,i.parseFrontmatter)(u.content||""),f=d?.ticketType??(0,r.getTicketType)(g,m),h=await (0,t.getQueue)(),_=await h.send(t.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:l,signal:"start",ticketType:f}),y=(0,a.createAdminDbClient)(),{error:E}=await y.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(E&&"42703"!==E.code)throw E;return{started:!!_,jobId:_,missingDependencies:[],ticketType:f}}async function m(e,t){let r=t||n.LOCAL_USER.id,i=(0,a.createAdminDbClient)(),o=i.from("tasks").select("id").contains("depends_on",[e]);t&&(o=o.eq("user_id",t));let{data:s,error:l}=await o,u=Array.isArray(s)?s.map(e=>e?.id).filter(Boolean):[];if(l&&"42703"===l.code){let r=i.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:a}=await r;u=(Array.isArray(a)?a:[]).filter(t=>d(t).includes(e)).map(e=>e?.id).filter(Boolean)}u.length&&await Promise.all(u.map(e=>g(e,r)))}e.s(["attemptStartTask",()=>g,"getMissingDependencies",()=>c,"loadTaskDependencyGraph",()=>p,"triggerDependentTasks",()=>m])},67675,e=>{"use strict";e.i(54799);var t=e.i(57431);let r=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function a(e){let t=[];for(let a of r)a.test(e)&&t.push(a.source);let a="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(e)?a="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(e)?a="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(e)&&(a="medium"),{isDangerous:t.length>0,patterns:t,severity:a}}async function n(e){let r=(0,t.createAdminDbClient)(),{data:a,error:n}=await r.from("task_audit_log").insert({user_id:e.user_id,task_id:e.task_id,action:e.action,payload:e.payload,signature:e.signature,ip_address:e.ip_address,user_agent:e.user_agent,result:e.result||"pending"}).select("id").single();if(n)throw console.error("Failed to write audit log:",n),Error("Audit log write failed");return a.id}e.s(["detectDangerousOperations",()=>a,"writeAuditLog",()=>n])},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 a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function n(){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",()=>a,"isV2ReadPathEnabled",()=>n],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 l(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=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))})&&a||r.every(e=>i.has(e.status))&&a?"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 u(e,t="INTAKE"){let r,a,n=l(e),o="completed"===(r=l(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===n?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>i.has(e.status)).length/a.length*100)));return{status:n,stage:o,progressPercent:s}}function p(e){var t;let r,n,i,o,s,l=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:u(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},n=[],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&&n.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&n.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&n.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===n.length)?null:{taskId:t.taskId,source:t.source,diffs:n});return l&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(l)),l}e.s(["logParityDiff",()=>p,"projectLegacyCompatFromGraph",()=>u],23297)},37645,e=>{"use strict";var t=e.i(62294),r=e.i(83131),a=e.i(23297),n=e.i(97812);function i(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function o(e){if(i(e.depends_on).length||"string"!=typeof e?.content)return e;let{frontmatter:r}=(0,t.parseFrontmatter)(e.content||""),a=i(r.depends_on);return a.length?{...e,depends_on:a}:e}function s(e){return"blocked"!==e.status||e.blocked_reason||e.stage&&"intake"!==e.stage.toLowerCase()?e.blocked_reason:"Awaiting approval"}async function d(e){if(!(0,r.isV2ReadPathEnabled)())return{...o(e),blocked_reason:s(e),read_path_source:"v1"};try{let t=await (0,n.getGraph)(e.id);if(!t)return{...o(e),read_path_source:"v1"};let r=(0,a.projectLegacyCompatFromGraph)(t,e.stage||"INTAKE"),i="queued"===r.status&&e.status&&"queued"!==e.status?e.status:r.status,d="completed"===i?"DONE":r.stage;(0,a.logParityDiff)({source:"read_path",task:e,graph:t});let l={...o(e),status:i,stage:d};return{...l,blocked_reason:s(l),read_path_source:"v2"}}catch(t){return console.error("Failed to project task from v2 graph; using v1 compatibility mode",t),{...o(e),read_path_source:"v1"}}}async function l(e){return Promise.all(e.map(e=>d(e)))}e.s(["projectTaskReadModel",()=>d,"projectTaskReadModels",()=>l])},88144,e=>{"use strict";var t=e.i(54799),r=e.i(79042);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,n=/^#\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(a,"").trim();if(!s)return r;let d=s.match(n);if(!d)return s;let l=s.slice(d[0].length).trim();return l||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 a=new Date().toISOString(),n={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 a=i(e.objective);return a?o(a,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:n,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:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>d],88144)},77731,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),g=e.i(70101),m=e.i(74838),f=e.i(10372),h=e.i(93695);e.i(52474);var _=e.i(220),y=e.i(94028),E=e.i(90081),w=e.i(62294),v=e.i(57431),k=e.i(49041),R=e.i(67675),S=e.i(69803),A=e.i(91595),T=e.i(83131),b=e.i(88144),I=e.i(23297),O=e.i(97812),N=e.i(61860);async function D(e){if(!(0,T.isDualWriteEnabled)())return{enabled:!1,result:"disabled"};try{let t=await (0,O.getGraph)(e.id);if(t)return(0,I.logParityDiff)({source:"task_create_dual_write",task:e,graph:t}),{enabled:!0,result:"existing",graphId:t.id};let r=(0,b.createRootOnlyGraph)({id:e.id,title:e.title||void 0,description:e.description||void 0,content:e.content||void 0}),a=(0,N.validateGraph)(r);if(!a.valid)return{enabled:!0,result:"failed",error:`validateGraph failed: ${JSON.stringify(a.errors)}`};let n=await (0,O.createGraph)(r);return(0,I.logParityDiff)({source:"task_create_dual_write",task:e,graph:n}),{enabled:!0,result:"created",graphId:n.id}}catch(t){if(t instanceof O.GraphTaskAlreadyBoundError){let r=await (0,O.getGraph)(e.id);return r&&(0,I.logParityDiff)({source:"task_create_dual_write",task:e,graph:r}),{enabled:!0,result:"existing",graphId:t.existingGraphId}}return{enabled:!0,result:"failed",error:t instanceof Error?t.message:String(t)}}}var C=e.i(37645);async function x(e){try{let t=k.LOCAL_USER.id,{searchParams:r}=new URL(e.url),a=r.get("project")||void 0,n="1"===r.get("orphan"),i=r.get("status"),o=r.get("slug"),s=r.get("search")||void 0;if(o){let e=await E.db.getTaskBySlug(o,t);if(!e)return y.NextResponse.json({error:"Task not found"},{status:404});let r=await (0,C.projectTaskReadModel)(e),a=await (0,S.buildTaskContext)(e),n=(0,w.resolveTaskConfig)(e,a.stage_config,a.user_settings),i={...r,...a,resolved_provider:n.provider,resolved_model:n.model??void 0,resolved_swarm:n.swarm,resolved_swarm_models:n.swarm_models};return y.NextResponse.json({task:i,stage_prompt:i.stage_prompt,stage_prompts:i.stage_prompts,stage_objective:i.stage_objective,stageObjective:i.stageObjective,stagePrompts:i.stagePrompts})}let d=await E.db.getTasks(t,{project:a,status:i||void 0,search:s,orphan:n}),l=await (0,C.projectTaskReadModels)(d);return y.NextResponse.json({tasks:l})}catch(e){return console.error("Error fetching tasks:",e),y.NextResponse.json({error:"Failed to fetch tasks"},{status:500})}}async function L(e){try{let t=k.LOCAL_USER.id,r=await e.json(),{content:a,swarm_models:n,project_id:i,title:o}=r,s=Array.isArray(r?.depends_on)?r.depends_on:"string"==typeof r?.depends_on?[r.depends_on]:void 0;if(!a)return y.NextResponse.json({error:"Content is required"},{status:400});let d=(0,R.detectDangerousOperations)(a);if(d.isDangerous&&"critical"===d.severity)return y.NextResponse.json({error:"Task contains potentially dangerous operations",dangerous:!0,severity:d.severity,patterns:d.patterns,message:"This task has been blocked. Please review and remove dangerous commands."},{status:400});let l=await E.db.createTask(a,t,{swarmModels:n,dependsOn:s,projectId:"string"==typeof i?i:void 0,title:"string"==typeof o?o:void 0});await (0,A.attemptStartTask)(l.id,t);let u=await E.db.getTask(l.id,t)||l,p=await D(u);if("failed"===p.result&&console.error("Task dual-write graph creation failed",{taskId:u.id,error:p.error}),p.graphId){let e=(0,v.createAdminDbClient)();await e.from("tasks").update({graph_id:p.graphId}).eq("id",u.id),u.graph_id=p.graphId}let c=await (0,S.buildTaskContext)(u),{comments_digest:g,stage_config:m}=c,f=(0,w.resolveTaskConfig)(u,m,c.user_settings),h=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||void 0,_=e.headers.get("user-agent")||void 0;await (0,R.writeAuditLog)({user_id:t,task_id:u.id,action:"dispatch",payload:{title:u.title,stage:u.stage,engine:u.engine,provider:f.provider,model:f.model??void 0,swarm:f.swarm,swarm_models:f.swarm_models,project:u.project,dangerous:d.isDangerous?{severity:d.severity,patterns:d.patterns}:null},signature:"unsigned",ip_address:h,user_agent:_,result:"pending"});let T={...u,...c,resolved_provider:f.provider,resolved_model:f.model??void 0,resolved_swarm:f.swarm,resolved_swarm_models:f.swarm_models},b={id:u.id,task:T,stage_prompt:T.stage_prompt,stage_prompts:T.stage_prompts,stage_objective:T.stage_objective,stageObjective:T.stageObjective,stagePrompts:T.stagePrompts,graph_dual_write:p};return d.isDangerous&&(b.warning={message:"Task contains potentially dangerous operations. Daemon may prompt for confirmation.",severity:d.severity,patterns:d.patterns}),y.NextResponse.json(b,{status:201})}catch(e){return console.error("Error creating task:",e),y.NextResponse.json({error:"Failed to create task"},{status:500})}}e.s(["GET",()=>x,"POST",()=>L],65651);var j=e.i(65651);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:M,workUnitAsyncStorage:q,serverHooks:G}=P;function U(){return(0,a.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:q})}async function F(e,t,a){P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/tasks/route";y=y.replace(/\/index$/,"")||"/";let E=await P.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:v,nextConfig:k,parsedUrl:R,isDraftMode:S,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:b,revalidateOnlyGenerated:I,resolvedPathname:O,clientReferenceManifest:N,serverActionsManifest:D}=E,C=(0,s.normalizeAppPath)(y),x=!!(A.dynamicRoutes[C]||A.routes[O]),L=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,R,!1):t.end("This page could not be found"),null);if(x&&!S){let e=!!A.routes[O],t=A.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await L();throw new h.NoFallbackError}}let j=null;!x||P.isDev||S||(j="/index"===(j=O)?"/":j);let M=!0===P.isDev||!x,q=x&&!M;D&&N&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:D});let G=e.method||"GET",U=(0,i.getTracer)(),F=U.getActiveScopeSpan(),H={params:v,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>P.onRequestError(e,t,a,n,T)},sharedContext:{buildId:w}},$=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),W=l.NextRequestAdapter.fromNodeNextRequest($,(0,l.signalFromNodeResponse)(t));try{let o=async e=>P.handle(W,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${G} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${G} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var i,d;let l=async({previousCacheEntry:r})=>{try{if(!s&&b&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let d=H.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let l=H.renderOpts.collectedTags;if(!x)return await (0,c.sendResponse)($,B,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:b})},!1,T),t}},u=await P.handleResponse({req:e,nextConfig:k,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:s});if(!x)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&x||h.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)($,B,new Response(u.value.body,{headers:h,status:u.value.status||200})),null};F?await d(F):await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${G} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":G,"http.target":e.url}},d))}catch(t){if(t instanceof h.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:b})},!1,T),x)throw t;return await (0,c.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>F,"patchFetch",()=>U,"routeModule",()=>P,"serverHooks",()=>G,"workAsyncStorage",()=>M,"workUnitAsyncStorage",()=>q],77731)}];
96
96
 
97
- //# sourceMappingURL=_3e0d34cc._.js.map
97
+ //# sourceMappingURL=_d22934ab._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[59765,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js.map
@@ -0,0 +1,64 @@
1
+ module.exports=[77581,40813,e=>{"use strict";var t=e.i(54799),r=e.i(60447);function n(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):null}function i(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function a(e){return{id:e.id,scope:e.scope,subjectId:e.subject_id,sourceType:e.source_type,sourceId:e.source_id,kind:e.kind,title:e.title,body:e.body,confidence:n(e.confidence),durability:n(e.durability),tags:i(e.tags),evidence:i(e.evidence),metadata:function(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}}(e.metadata),createdAt:e.created_at,updatedAt:e.updated_at}}function s(e){return(0,r.getSQLiteDb)().prepare(`SELECT id, scope, subject_id, source_type, source_id, kind, title, body,
2
+ confidence, durability, tags, evidence, metadata, created_at, updated_at
3
+ FROM knowledge_entries
4
+ WHERE scope = ? AND subject_id = ?
5
+ ORDER BY updated_at DESC, created_at DESC
6
+ LIMIT ?`).all(e.scope,e.subjectId,e.limit??50).map(a)}function o(e){if(0===e.length)return 0;let i=(0,r.getSQLiteDb)(),a=new Date().toISOString(),s=i.prepare(`SELECT id
7
+ FROM knowledge_entries
8
+ WHERE scope = ? AND subject_id = ? AND content_hash = ?
9
+ LIMIT 1`),o=i.prepare(`INSERT INTO knowledge_entries (
10
+ id, scope, subject_id, source_type, source_id, kind, title, body,
11
+ confidence, durability, tags, evidence, metadata, content_hash, created_at, updated_at
12
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`),l=0;return i.transaction(e=>{for(let r of e){let e=r.subjectId.trim(),i=r.title.trim(),c=r.body.trim(),d=r.sourceId.trim();if(!e||!i||!c||!d)continue;let u=(0,t.createHash)("sha256").update(`${r.scope}
13
+ ${e}
14
+ ${c}`).digest("hex");s.get(r.scope,e,u)||(o.run((0,t.randomUUID)(),r.scope,e,r.sourceType,d,r.kind,i,c,n(r.confidence),n(r.durability),JSON.stringify(function(e){let t=new Set,r=[];for(let n of e??[]){let e=String(n??"").trim().toLowerCase();!e||t.has(e)||(t.add(e),r.push(e))}return r}(r.tags)),JSON.stringify(function(e){let t=[];for(let r of e??[]){let e=String(r?.note??"").trim(),n="string"==typeof r?.id?r.id.trim():"";e&&t.push(n?{id:n,note:e}:{note:e})}return t}(r.evidence)),JSON.stringify(r.metadata??{}),u,a,a),l+=1)}})(e),l}function l(e){return e.replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim()}function c(e){return{id:e.id,scope:e.scope,subjectId:e.subject_id,content:e.content,changeSummary:e.change_summary??null,sourceType:e.source_type,sourceId:e.source_id,metadata:function(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}}(e.metadata),version:Number(e.version??1),createdAt:e.created_at,updatedAt:e.updated_at}}function d(e,t){return(0,r.getSQLiteDb)().prepare(`SELECT id, scope, subject_id, content, change_summary, source_type, source_id,
15
+ metadata, version, created_at, updated_at
16
+ FROM knowledge_notes
17
+ WHERE scope = ? AND subject_id = ?
18
+ LIMIT 1`).get(e,t)}function u(e,n){let i,a=d(e,n);if(a)return c(a);let o=0===(i=Array.from(new Set(function(e,t){let n=(0,r.getSQLiteDb)();if("repo"===e){let e=n.prepare(`SELECT content
19
+ FROM repo_knowledge
20
+ WHERE repo_id = ? AND producer = 'system'
21
+ ORDER BY created_at ASC`).all(t),r=s({scope:"repo",subjectId:t,limit:100}).map(e=>e.body.trim());return[...e.map(e=>e.content.trim()),...r].filter(Boolean)}if("project"===e){let e=n.prepare(`SELECT content
22
+ FROM project_memory
23
+ WHERE project_id = ? AND producer = 'system'
24
+ ORDER BY created_at ASC`).all(t),r=s({scope:"project",subjectId:t,limit:100}).map(e=>e.body.trim());return[...e.map(e=>e.content.trim()),...r].filter(Boolean)}let i=n.prepare(`SELECT content
25
+ FROM agent_memory
26
+ WHERE agent_id = ?
27
+ ORDER BY created_at ASC
28
+ LIMIT 100`).all(t),a=s({scope:"agent",subjectId:t,limit:100}).map(e=>e.body.trim());return[...i.map(e=>e.content.trim()),...a].filter(Boolean)}(e,n)))).length?"":i.map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n");if(!o)return null;let l=(0,r.getSQLiteDb)(),u=new Date().toISOString(),p=(0,t.randomUUID)();l.prepare(`INSERT INTO knowledge_notes (
29
+ id, scope, subject_id, content, change_summary, source_type, source_id, metadata, version, created_at, updated_at
30
+ ) VALUES (?, ?, ?, ?, ?, 'task_completion', 'legacy-synthesis', ?, 1, ?, ?)`).run(p,e,n,o,"Initial note synthesized from existing system knowledge",JSON.stringify({synthesized_from_legacy:!0}),u,u),l.prepare(`INSERT INTO knowledge_note_versions (
31
+ id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
32
+ ) VALUES (?, ?, 1, ?, ?, 'task_completion', 'legacy-synthesis', ?, ?)`).run((0,t.randomUUID)(),p,o,"Initial note synthesized from existing system knowledge",JSON.stringify({synthesized_from_legacy:!0}),u);let m=d(e,n);return m?c(m):null}function p(e,t){let r=t.trim();return r?u(e,r):null}function m(e){let n=(0,r.getSQLiteDb)(),i=e.subjectId.trim(),a=e.sourceId.trim(),s=l(e.content),o=e.changeSummary?.trim()||null;if(!i||!a)throw Error("subjectId and sourceId are required");let c=u(e.scope,i);if(c&&l(c.content)===s)return{note:c,changed:!1};let d=new Date().toISOString(),m=JSON.stringify(e.metadata??{});if(!c){let r=(0,t.randomUUID)();n.prepare(`INSERT INTO knowledge_notes (
33
+ id, scope, subject_id, content, change_summary, source_type, source_id, metadata, version, created_at, updated_at
34
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?)`).run(r,e.scope,i,s,o,e.sourceType,a,m,d,d),n.prepare(`INSERT INTO knowledge_note_versions (
35
+ id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
36
+ ) VALUES (?, ?, 1, ?, ?, ?, ?, ?, ?)`).run((0,t.randomUUID)(),r,s,o,e.sourceType,a,m,d);let l=p(e.scope,i);if(!l)throw Error("Failed to read created knowledge note");return{note:l,changed:!0}}let g=c.version+1;n.prepare(`UPDATE knowledge_notes
37
+ SET content = ?, change_summary = ?, source_type = ?, source_id = ?, metadata = ?, version = ?, updated_at = ?
38
+ WHERE id = ?`).run(s,o,e.sourceType,a,m,g,d,c.id),n.prepare(`INSERT INTO knowledge_note_versions (
39
+ id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
40
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run((0,t.randomUUID)(),c.id,g,s,o,e.sourceType,a,m,d);let f=p(e.scope,i);if(!f)throw Error("Failed to read updated knowledge note");return{note:f,changed:!0}}e.s(["listKnowledgeEntries",()=>s,"storeKnowledgeEntries",()=>o],40813),e.s(["getKnowledgeNote",()=>p,"upsertKnowledgeNote",()=>m],77581)},37269,e=>{"use strict";var t=e.i(22734),r=e.i(46786),n=e.i(14747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),a=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function s(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function o(){return a}function l(e,r){try{t.default.mkdirSync(n.default.dirname(a),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},s);t.default.appendFileSync(a,`${i}
41
+ `,"utf8")}catch{}}e.s(["getDebugLogPath",()=>o,"writeDebugLog",()=>l])},14350,e=>{"use strict";var t=e.i(33405),r=e.i(22734),n=e.i(14747),i=e.i(37269);let a=e=>"string"==typeof e&&e.trim().length>0,s=e=>{try{return 0===(0,t.spawnSync)("bash",["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8"}).status}catch{return!1}},o=e=>({push:e,flush:()=>{}}),l=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let s=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!s||t?.type==="assistant"&&r>0)return;r+=s.length,e(s)}catch{n||e(`${t}
42
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},c=e=>{let t="",r=!1,n="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
43
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},d=e=>{let t="",r=!1,n=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let s=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";s&&e(s)}catch{r||e(`${t}
44
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},u=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:a=>{t+=a,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let a=Math.max(0,t.length-30);a>0&&(e.push(t.slice(0,a)),t=t.slice(a));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},p=new Set(["claude","gemini","ollama","codex"]);function m(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function g({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},a={}){let o=a.commandExists??s,l=void 0===a.bundledCliPath?m():a.bundledCliPath,c=[],d=n?`${n}
45
+
46
+ ${r}`:r;if(p.has(e)){let r=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let a=void 0===n?m():n;if(!a)return null;let s=[a,e,"-y","--print","--prompt",r];return t&&s.push("--model",t),i&&i.length>0&&s.push("--",...i),{command:process.execPath,args:s,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:i});return r&&c.push(r),o("agx")&&c.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:i})),c}let u=function({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
47
+
48
+ ${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
49
+
50
+ ${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
51
+
52
+ ${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}({provider:e,model:t,prompt:r,systemPrompt:n});return u&&o(u.command)&&c.push(u),c}async function f({command:e,args:r,timeoutMs:n,signal:a,onDelta:s,onLog:o,onSpawn:l,env:c}){await new Promise((d,u)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),o&&o("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
53
+ `);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0,...c}}),g=!1,f="",h=!1,y=e=>{g||(g=!0,clearTimeout(E),a&&a.removeEventListener("abort",_),e?u(e):d())},_=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:p.pid??null}),p.kill("SIGTERM"),y(Error("Chat request aborted."))};a&&a.addEventListener("abort",_,{once:!0}),l&&p.pid&&l(p.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:p.pid??null});let E=setTimeout(()=>{h=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:p.pid??null,timeoutMs:n}),p.kill("SIGKILL"),y(Error(`CLI request timed out after ${n}ms.`))},n);p.stdout.on("data",e=>{let t=e.toString();f+=t,s(t),o&&o("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();f+=t,o&&o("stderr",t)}),p.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:p.pid??null,error:t}),y(t)}),p.on("close",(t,n)=>{if(!g&&!h){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:p.pid??null,code:t??null,signal:n??null}),0===t)return void y();y(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${f.trim()?` ${f.trim()}`:""}`))}})})}async function h({provider:e,model:t,prompt:r,identity:n,self:a,skills:s,systemContext:p,passthroughArgs:h,signal:y,onDelta:_,onLog:E,onSpawn:b}){let S,I,w,v,L=(S=!1,I=!1,w="",v=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!S?(S=!0,"\n"):"";let r=S?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),i=v.test(n),a=I&&i&&!S,s=I&&!S&&!a&&!/^\s/.test(r)&&/[.!?)]/.test(w)&&/^[A-Z0-9`(]/.test(r),o=a?`
54
+
55
+ ${r}`:s?`
56
+ ${r}`:r;S=o.endsWith("\n"),I=I||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(w=l[l.length-1]??w),o}),A=e=>{let t=L(e);t&&_(t)},D=[];p&&D.push(p),n&&D.push(`<identity>
57
+ ${n}
58
+ </identity>`),a&&D.push(`<self>
59
+ ${a}
60
+ </self>`),s&&D.push(`<skills>
61
+ ${s}
62
+ </skills>`);let x=g({provider:e,model:t,prompt:r,systemPrompt:D.length>0?D.join("\n\n"):void 0,passthroughArgs:h});if(0===x.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let T=null;for(let r of x){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?l(A):"codex-json"===r.parser?d(A):"gemini-stream-json"===r.parser?c(A):o(A),a=r.filterThoughts?u(n):n;try{await f({command:r.command,args:r.args,timeoutMs:6e5,signal:y,onDelta:a.push,onLog:E,onSpawn:b,env:r.env}),a.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){T=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:T})}}throw T||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>g,"runCliResponse",()=>h],14350)}];
63
+
64
+ //# sourceMappingURL=lib_7cad5c77._.js.map