@mndrk/agx 2.0.36 → 2.0.38

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 (597) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  3. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  4. package/cloud-runtime/standalone/.next/required-server-files.json +0 -3
  5. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +4 -4
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  24. package/cloud-runtime/standalone/.next/server/app/agents.rsc +5 -5
  25. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  26. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +4 -4
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +3 -3
  32. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/messages/route.js +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/messages/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +3 -3
  36. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +3 -3
  38. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/attachments/[id]/route.js +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/attachments/[id]/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -3
  42. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +4 -4
  46. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +3 -3
  59. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/history/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +2 -2
  65. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +3 -3
  67. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  73. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  81. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +2 -2
  83. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +4 -4
  85. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +3 -3
  87. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +4 -4
  93. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  95. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +2 -2
  97. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +2 -2
  99. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +3 -3
  101. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +4 -4
  103. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +4 -4
  105. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +4 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +3 -3
  109. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +4 -4
  111. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +4 -4
  113. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +4 -4
  115. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +4 -4
  117. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +4 -4
  119. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +4 -4
  121. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +3 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +3 -3
  125. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -2
  131. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +2 -2
  135. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/search/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +2 -2
  141. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +2 -2
  143. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +2 -2
  145. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +2 -2
  147. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +2 -2
  149. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +2 -2
  151. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  153. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +3 -3
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +3 -3
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +2 -2
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +2 -2
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +4 -4
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +3 -3
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +3 -3
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +4 -4
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +4 -4
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +3 -3
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +3 -3
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -4
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +5 -5
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +5 -5
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +5 -5
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +5 -5
  207. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +5 -5
  209. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  211. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  213. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +3 -3
  215. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  217. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +4 -4
  219. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  225. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  227. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/api/upload/[id]/route.js +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/api/upload/[id]/route.js.nft.json +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/api/upload/route.js +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +3 -3
  233. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  235. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/automations.rsc +5 -5
  237. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +5 -5
  238. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +4 -4
  240. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  242. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/board.rsc +4 -4
  246. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +4 -4
  247. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +4 -4
  249. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +5 -5
  255. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +5 -5
  256. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
  258. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  262. package/cloud-runtime/standalone/.next/server/app/index.rsc +5 -5
  263. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  265. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
  267. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  275. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  276. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +5 -5
  277. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +5 -5
  278. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
  280. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  282. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  284. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  286. package/cloud-runtime/standalone/.next/server/app/projects.rsc +5 -5
  287. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +5 -5
  288. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  289. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +4 -4
  290. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  293. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  295. package/cloud-runtime/standalone/.next/server/app/settings.rsc +5 -5
  296. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +5 -5
  297. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  298. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
  299. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  300. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  301. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  303. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/skills.rsc +5 -5
  305. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  306. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +4 -4
  308. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
  309. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  311. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  312. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  313. package/cloud-runtime/standalone/.next/server/app/status.rsc +5 -5
  314. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +5 -5
  315. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  316. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +4 -4
  317. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  319. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  320. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  321. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  322. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  323. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +5 -5
  324. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +5 -5
  325. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
  327. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
  328. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  329. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  330. package/cloud-runtime/standalone/.next/server/chunks/{[externals]__cf9f18a6._.js → [externals]__986fcdb7._.js} +1 -1
  331. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__01cd082e._.js +13 -0
  332. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b500f1bf._.js → [root-of-the-server]__0936925d._.js} +2 -2
  333. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0c3dd73b._.js +13 -0
  334. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0cc3f3b7._.js +18 -0
  335. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4126e05._.js → [root-of-the-server]__1b0bb735._.js} +3 -3
  336. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d865017._.js → [root-of-the-server]__1c86bf6e._.js} +6 -6
  337. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dce6c15._.js +3 -0
  338. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0bb52353._.js → [root-of-the-server]__20c58b41._.js} +18 -18
  339. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2126c763._.js +42 -0
  340. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__255b11f2._.js +3 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__26817611._.js +3 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__277ed37d._.js +3 -0
  343. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__294fceef._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2f06f568._.js +46 -0
  345. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__30bd0c87._.js +13 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__314d5c41._.js +3 -0
  347. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__352dad6d._.js +3 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__374cd94c._.js +42 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3785024c._.js +80 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__379604d4._.js +13 -0
  351. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c8f1de6._.js +15 -0
  352. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d0df5a8._.js +8 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0b3b6a47._.js → [root-of-the-server]__4014ed70._.js} +20 -20
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42fcb81c._.js +52 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a3cd6ac._.js +13 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a4265e0._.js +22 -0
  357. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c99509c2._.js → [root-of-the-server]__4bce7db7._.js} +17 -17
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c5c536d._.js +18 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4e522535._.js +6 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50c24784._.js +3 -0
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__529a6e1c._.js +80 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59d1cdd8._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a1fd688._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +18 -18
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__628d686b._.js +3 -0
  367. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__005b3c82._.js → [root-of-the-server]__644e6285._.js} +8 -8
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__65755104._.js +7 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__068b4f08._.js → [root-of-the-server]__73c20995._.js} +3 -3
  370. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__762ab29c._.js +51 -0
  371. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__981d92dd._.js → [root-of-the-server]__8125bbc3._.js} +20 -20
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__85275b88._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__89666394._.js +8 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8c0fb154._.js +13 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8f5cac13._.js +46 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__91b22098._.js +8 -0
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92924218._.js +13 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94bd7f65._.js +3 -0
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9746d1f5._.js +18 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98ce983b._.js +3 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ee6511a0._.js → [root-of-the-server]__9a9fd39f._.js} +10 -10
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9ad4e385._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b69f93e._.js +18 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a01ddd0b._.js +46 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8ac0286e._.js → [root-of-the-server]__a099c992._.js} +20 -20
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a9b949c3._.js +7 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab7343c8._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__af7a73fd._.js +3 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bd43017b._.js +3 -0
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf6fb108._.js +80 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +10 -10
  392. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7ee9b7b6._.js → [root-of-the-server]__c122c54a._.js} +3 -3
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c4ea4921._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8b0ab82f._.js → [root-of-the-server]__c4ed5d83._.js} +7 -7
  395. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c695a5f2._.js +18 -0
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +10 -10
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d57e800e._.js +13 -0
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d8b615bf._.js +34 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9bd6334._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__543ba6c4._.js → [root-of-the-server]__da3a1ce7._.js} +2 -2
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__db469f1b._.js +3 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__de2a1e43._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5031f8d4._.js → [root-of-the-server]__dec3e1b7._.js} +11 -11
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1147a4a._.js +15 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5597fea._.js +13 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f8c94cb3._.js +8 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ceb02db8._.js → [root-of-the-server]__f9cff4b0._.js} +2 -2
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f9f7f2df._.js +4 -0
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa79d53f._.js +46 -0
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fb14cd4a._.js +3 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a55c16a5._.js → [root-of-the-server]__fc27a898._.js} +31 -31
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcf0b40a._.js +3 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffb21023._.js +80 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +18 -18
  415. package/cloud-runtime/standalone/.next/server/chunks/_17e53c87._.js +3 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +18 -18
  417. package/cloud-runtime/standalone/.next/server/chunks/_42e9c8d5._.js +18 -18
  418. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +3 -3
  419. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +3 -3
  420. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +20 -20
  421. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +3 -3
  422. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +18 -18
  423. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +18 -18
  424. package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +20 -20
  425. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +18 -18
  426. package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +15 -15
  427. package/cloud-runtime/standalone/.next/server/chunks/lib_check-node-version_ts_ef89bf83._.js +3 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +18 -18
  429. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +39 -39
  430. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +39 -39
  431. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +18 -18
  432. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +19 -19
  433. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +18 -18
  434. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +18 -18
  435. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +1 -1
  436. package/cloud-runtime/standalone/.next/server/chunks/ssr/_314f4c49._.js +1 -1
  437. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  438. package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
  439. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  440. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  441. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  442. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  443. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  444. package/cloud-runtime/standalone/.next/static/chunks/{47f22a56011af8d3.js → 5c0819dcc4bfec85.js} +1 -1
  445. package/cloud-runtime/standalone/.next/static/chunks/{25c9ac515cfe5635.js → 9bde80696400d2ff.js} +2 -2
  446. package/cloud-runtime/standalone/.next/static/chunks/ac9a7d8cf17b5d75.js +1 -0
  447. package/cloud-runtime/standalone/app/api/agents/[id]/messages/route.ts +4 -3
  448. package/cloud-runtime/standalone/app/api/agents/[id]/profile/route.ts +1 -1
  449. package/cloud-runtime/standalone/app/api/automations/route.ts +1 -1
  450. package/cloud-runtime/standalone/app/api/chat/route.ts +2 -2
  451. package/cloud-runtime/standalone/app/api/memories/route.ts +2 -2
  452. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +9 -1
  453. package/cloud-runtime/standalone/app/api/system/db-status/route.ts +12 -11
  454. package/cloud-runtime/standalone/components/PromptJobBoard.tsx +12 -1
  455. package/cloud-runtime/standalone/components/errors/StartupGuard.tsx +1 -1
  456. package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +1 -1
  457. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +1 -1
  458. package/cloud-runtime/standalone/hooks/usePromptJobs.ts +9 -18
  459. package/cloud-runtime/standalone/instrumentation.ts +1 -0
  460. package/cloud-runtime/standalone/lib/agent-process-registry.ts +10 -9
  461. package/cloud-runtime/standalone/lib/attachment-store.ts +6 -5
  462. package/cloud-runtime/standalone/lib/check-node-version.ts +12 -0
  463. package/cloud-runtime/standalone/lib/db-adapter.interface.ts +1 -1
  464. package/cloud-runtime/standalone/lib/history-store.ts +46 -46
  465. package/cloud-runtime/standalone/lib/knowledge-store.ts +2 -1
  466. package/cloud-runtime/standalone/lib/participants-store.ts +9 -8
  467. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +12 -11
  468. package/cloud-runtime/standalone/lib/repo-knowledge.ts +6 -5
  469. package/cloud-runtime/standalone/lib/sqlite-compat.ts +75 -0
  470. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +15 -14
  471. package/cloud-runtime/standalone/lib/sqlite_writer.ts +10 -9
  472. package/cloud-runtime/standalone/lib/startup.ts +18 -19
  473. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +2 -1
  474. package/cloud-runtime/standalone/lib/workspaces-to-projects-migration.ts +19 -18
  475. package/cloud-runtime/standalone/mcp/package-lock.json +3 -147
  476. package/cloud-runtime/standalone/mcp/package.json +1 -1
  477. package/cloud-runtime/standalone/mcp/src/check-node-version.ts +8 -0
  478. package/cloud-runtime/standalone/mcp/src/db.ts +4 -5
  479. package/cloud-runtime/standalone/mcp/src/index.ts +1 -0
  480. package/cloud-runtime/standalone/next.config.ts +0 -1
  481. package/cloud-runtime/standalone/package-lock.json +9 -413
  482. package/cloud-runtime/standalone/package.json +3 -2
  483. package/cloud-runtime/standalone/scripts/bench-queue.ts +5 -4
  484. package/cloud-runtime/standalone/server.js +1 -1
  485. package/cloud-runtime/standalone/src/db/backup.ts +12 -11
  486. package/cloud-runtime/standalone/src/db/checks.ts +3 -3
  487. package/cloud-runtime/standalone/src/db/init.ts +13 -12
  488. package/cloud-runtime/standalone/src/graph/schedule-runner.ts +1 -1
  489. package/cloud-runtime/standalone/src/graph/store.ts +14 -13
  490. package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +19 -3
  491. package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +9 -9
  492. package/cloud-runtime/standalone/test/adapters/sqlite.ts +7 -6
  493. package/cloud-runtime/standalone/worker/index.js +110 -823
  494. package/cloud-runtime/standalone/worker/index.ts +1 -0
  495. package/package.json +1 -1
  496. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +0 -13
  497. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__056d94e4._.js +0 -3
  498. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +0 -80
  499. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +0 -13
  500. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__164a80ba._.js +0 -18
  501. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +0 -13
  502. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1a8e0957._.js +0 -7
  503. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +0 -3
  504. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__23ad03bf._.js +0 -3
  505. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +0 -3
  506. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +0 -42
  507. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2948f712._.js +0 -3
  508. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32ef6623._.js +0 -3
  509. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__34cb1b98._.js +0 -3
  510. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +0 -3
  511. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +0 -3
  512. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +0 -4
  513. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4041bb93._.js +0 -18
  514. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +0 -80
  515. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +0 -3
  516. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a8d14c1._.js +0 -3
  517. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +0 -18
  518. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +0 -46
  519. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +0 -46
  520. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__596d0e81._.js +0 -42
  521. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +0 -3
  522. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +0 -52
  523. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +0 -3
  524. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +0 -15
  525. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +0 -8
  526. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +0 -8
  527. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +0 -3
  528. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75cedecf._.js +0 -6
  529. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +0 -3
  530. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +0 -3
  531. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +0 -80
  532. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +0 -80
  533. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +0 -3
  534. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__952af4b3._.js +0 -22
  535. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +0 -13
  536. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +0 -8
  537. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a67cd108._.js +0 -51
  538. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +0 -13
  539. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__abb032c1._.js +0 -34
  540. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4931ee1._.js +0 -3
  541. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +0 -3
  542. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b707e701._.js +0 -3
  543. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9e41767._.js +0 -3
  544. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +0 -46
  545. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +0 -13
  546. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +0 -13
  547. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d7e839a8._.js +0 -18
  548. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +0 -8
  549. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +0 -18
  550. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dcdeee3d._.js +0 -3
  551. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +0 -3
  552. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +0 -7
  553. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +0 -13
  554. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +0 -15
  555. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +0 -3
  556. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +0 -13
  557. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fee58db1._.js +0 -46
  558. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +0 -3
  559. package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +0 -1
  560. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  561. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/database.js +0 -90
  562. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/index.js +0 -3
  563. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  564. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  565. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  566. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  567. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  568. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  569. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  570. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  571. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  572. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  573. package/cloud-runtime/standalone/node_modules/better-sqlite3/lib/util.js +0 -12
  574. package/cloud-runtime/standalone/node_modules/better-sqlite3/package.json +0 -59
  575. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  576. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/database.js +0 -90
  577. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/index.js +0 -3
  578. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/aggregate.js +0 -43
  579. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/backup.js +0 -67
  580. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/function.js +0 -31
  581. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/inspect.js +0 -7
  582. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/pragma.js +0 -12
  583. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/serialize.js +0 -16
  584. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/table.js +0 -189
  585. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/transaction.js +0 -78
  586. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/methods/wrappers.js +0 -54
  587. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/sqlite-error.js +0 -20
  588. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/lib/util.js +0 -12
  589. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/package.json +0 -59
  590. package/cloud-runtime/standalone/node_modules/bindings/bindings.js +0 -221
  591. package/cloud-runtime/standalone/node_modules/bindings/package.json +0 -28
  592. package/cloud-runtime/standalone/node_modules/file-uri-to-path/index.js +0 -66
  593. package/cloud-runtime/standalone/node_modules/file-uri-to-path/package.json +0 -32
  594. package/cloud-runtime/standalone/scripts/fix-turbopack-externals.mjs +0 -87
  595. /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_buildManifest.js +0 -0
  596. /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_clientMiddlewareManifest.json +0 -0
  597. /package/cloud-runtime/standalone/.next/static/{15nzSRnot8KsYYP8yMBe- → V5ruh627UpcC-LTWDgYk8}/_ssgManifest.js +0 -0
@@ -1,9 +1,9 @@
1
- module.exports=[60447,92134,36528,59448,41334,25761,e=>{"use strict";var t=e.i(85148),r=e.i(22734),n=e.i(14747),i=e.i(46786),o=e.i(49041);let a=(0,n.join)((0,i.homedir)(),".agx","agents");function s(e,t,i){try{let o;o=(0,n.join)(a,e),(0,r.existsSync)(o)||(0,r.mkdirSync)(o,{recursive:!0});let s={t:new Date().toISOString(),agent:e,action:t,...i};(0,r.appendFileSync)((0,n.join)(a,e,"activity.jsonl"),JSON.stringify(s)+"\n","utf-8")}catch{}}e.s(["logActivity",()=>s],92134);let l=(0,n.join)((0,i.homedir)(),".agx","agents");function d(e){return(0,n.join)(l,e,"self.md")}function c(e){return(0,n.join)(l,e,"reflection-state.json")}function p(e){let t=d(e);if(!(0,r.existsSync)(t))return null;let n=(0,r.readFileSync)(t,"utf-8");if(!n.trim())return null;let i=n.split("\n"),o=0,a=new Date().toISOString(),s=0;if("---"===i[0])for(let e=1;e<i.length;e++){if("---"===i[e]){s=e+1;break}let[t,...r]=i[e].split(": "),n=r.join(": ");"version"===t&&(o=parseInt(n,10)||0),"derivedAt"===t&&(a=n)}return{agentId:e,content:i.slice(s).join("\n").trim(),version:o,derivedAt:a}}function E(e,t,i){let o=(0,n.join)(l,e);(0,r.existsSync)(o)||(0,r.mkdirSync)(o,{recursive:!0});let a=new Date().toISOString(),c=`---
2
- version: ${i}
1
+ module.exports=[60447,92134,36528,59448,41334,25761,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(59833),n=e.i(22734),i=e.i(14747),o=e.i(46786),a=e.i(49041);let s=(0,i.join)((0,o.homedir)(),".agx","agents");function l(e,t,r){try{let o;o=(0,i.join)(s,e),(0,n.existsSync)(o)||(0,n.mkdirSync)(o,{recursive:!0});let a={t:new Date().toISOString(),agent:e,action:t,...r};(0,n.appendFileSync)((0,i.join)(s,e,"activity.jsonl"),JSON.stringify(a)+"\n","utf-8")}catch{}}e.s(["logActivity",()=>l],92134);let d=(0,i.join)((0,o.homedir)(),".agx","agents");function c(e){return(0,i.join)(d,e,"self.md")}function p(e){return(0,i.join)(d,e,"reflection-state.json")}function E(e){let t=c(e);if(!(0,n.existsSync)(t))return null;let r=(0,n.readFileSync)(t,"utf-8");if(!r.trim())return null;let i=r.split("\n"),o=0,a=new Date().toISOString(),s=0;if("---"===i[0])for(let e=1;e<i.length;e++){if("---"===i[e]){s=e+1;break}let[t,...r]=i[e].split(": "),n=r.join(": ");"version"===t&&(o=parseInt(n,10)||0),"derivedAt"===t&&(a=n)}return{agentId:e,content:i.slice(s).join("\n").trim(),version:o,derivedAt:a}}function u(e,t,r){let o=(0,i.join)(d,e);(0,n.existsSync)(o)||(0,n.mkdirSync)(o,{recursive:!0});let a=new Date().toISOString(),s=`---
2
+ version: ${r}
3
3
  derivedAt: ${a}
4
4
  ---
5
5
  ${t}
6
- `,p=d(e)+".tmp";(0,r.writeFileSync)(p,c,"utf-8"),(0,r.renameSync)(p,d(e)),s(e,"self-updated",{meta:{version:i}})}function u(e){let t=c(e);if(!(0,r.existsSync)(t))return null;try{let e=JSON.parse((0,r.readFileSync)(t,"utf-8")),n="string"==typeof e?.lastProcessedJournalId&&e.lastProcessedJournalId.trim()?e.lastProcessedJournalId.trim():null,i="string"==typeof e?.updatedAt&&e.updatedAt.trim()?e.updatedAt:new Date().toISOString();return{lastProcessedJournalId:n,updatedAt:i}}catch{return null}}function T(e,t){let i=(0,n.join)(l,e);(0,r.existsSync)(i)||(0,r.mkdirSync)(i,{recursive:!0});let o=c(e)+".tmp";(0,r.writeFileSync)(o,JSON.stringify(t,null,2),"utf-8"),(0,r.renameSync)(o,c(e))}function m(e,t,r,n,i){let o,a,s,l=(o=t?.content||`I am ${e.name}. ${e.seed}`,a=r.map(e=>{let t=[`- [${e.t}] ${e.observation}`];return e.judgement&&t.push(` Judgement: ${e.judgement}`),e.comparison&&t.push(` Comparison: ${e.comparison}`),e.delta&&t.push(` Delta: ${e.delta}`),e.intent&&t.push(` Intent: ${e.intent}`),t.join("\n")}).join("\n"),s=n.filter(t=>t.agentId!==e.name).map(e=>`### ${e.agentId}
6
+ `,p=c(e)+".tmp";(0,n.writeFileSync)(p,s,"utf-8"),(0,n.renameSync)(p,c(e)),l(e,"self-updated",{meta:{version:r}})}function T(e){let t=p(e);if(!(0,n.existsSync)(t))return null;try{let e=JSON.parse((0,n.readFileSync)(t,"utf-8")),r="string"==typeof e?.lastProcessedJournalId&&e.lastProcessedJournalId.trim()?e.lastProcessedJournalId.trim():null,i="string"==typeof e?.updatedAt&&e.updatedAt.trim()?e.updatedAt:new Date().toISOString();return{lastProcessedJournalId:r,updatedAt:i}}catch{return null}}function m(e,t){let r=(0,i.join)(d,e);(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0});let o=p(e)+".tmp";(0,n.writeFileSync)(o,JSON.stringify(t,null,2),"utf-8"),(0,n.renameSync)(o,p(e))}function N(e,t,r,n,i){let o,a,s,l=(o=t?.content||`I am ${e.name}. ${e.seed}`,a=r.map(e=>{let t=[`- [${e.t}] ${e.observation}`];return e.judgement&&t.push(` Judgement: ${e.judgement}`),e.comparison&&t.push(` Comparison: ${e.comparison}`),e.delta&&t.push(` Delta: ${e.delta}`),e.intent&&t.push(` Intent: ${e.intent}`),t.join("\n")}).join("\n"),s=n.filter(t=>t.agentId!==e.name).map(e=>`### ${e.agentId}
7
7
  ${e.content}`).join("\n\n"),`You are ${e.name}. Voice: ${e.voice}.
8
8
 
9
9
  ## Canonical Identity
@@ -59,12 +59,12 @@ Rules:
59
59
  - Do not include task-specific technical facts unless they clearly generalize into agent behavior.
60
60
  - Do not restate memories already covered in Existing Agent Memories.
61
61
  - If nothing genuinely new was learned, return an empty memories array.
62
- - Do not wrap the JSON in markdown fences.`}e.s(["buildStructuredReflectionPrompt",()=>m,"readReflectionState",()=>u,"readSelf",()=>p,"writeReflectionState",()=>T,"writeSelf",()=>E],36528);let N=(0,n.join)((0,i.homedir)(),".agx","agents");function _(e){return(0,n.join)(N,e)}function L(e){return(0,n.join)(_(e),"journal.jsonl")}function f(e){let t=L(e);return(0,r.existsSync)(t)?(0,r.readFileSync)(t,"utf-8").split("\n").filter(e=>e.trim()):[]}function g(e,t){let[r,n]=String(t||"").split(":");if(r!==e)return 0;let i=parseInt(n||"0",10);return Number.isFinite(i)?i:0}function h(e,t){let n;n=_(e),(0,r.existsSync)(n)||(0,r.mkdirSync)(n,{recursive:!0});let i=f(e),o=function(e,t){let r=0;for(let n of t)try{let t=JSON.parse(n),[i,o]=String(t.id||"").split(":");if(i!==e)continue;let a=parseInt(o||"0",10);Number.isFinite(a)&&a>r&&(r=a)}catch{}return r}(e,i),a=`${e}:${o+1}`,l={...t,id:t.id?.trim()||a},d=JSON.stringify(l)+"\n";return(0,r.appendFileSync)(L(e),d,"utf-8"),s(e,"reflection"===t.type?"reflection":"journal-post",{thread:l.thread,meta:{entryId:l.id}}),l}function S(e,t){let r=f(e),n=[];for(let e of r)try{n.push(JSON.parse(e))}catch{}return n.reverse(),t?n.slice(0,t):n}function O(e,t){let r=f(e),n=g(e,t),i=[];for(let t of r)try{let r=JSON.parse(t);g(e,r.id)>n&&i.push(r)}catch{}return i}e.s(["appendJournal",()=>h,"readJournal",()=>S,"readJournalSince",()=>O],59448);let A=(0,n.join)((0,i.homedir)(),".agx","agents");function I(e,t){let i=(0,n.join)(A,e);(0,r.existsSync)(i)||(0,r.mkdirSync)(i,{recursive:!0});let o=t?.voice?.trim()||"conversational, concise, practical",a=t?.seed?.trim()||"I evolve through experience and collaboration.",s=(0,n.join)(i,"identity.json");(0,r.existsSync)(s)||(0,r.writeFileSync)(s,JSON.stringify({name:e,voice:o,seed:a},null,2)+"\n","utf-8");let l=(0,n.join)(i,"journal.jsonl"),d=(0,n.join)(i,"reactions.jsonl"),c=(0,n.join)(i,"comments.jsonl"),p=(0,n.join)(i,"activity.jsonl"),E=(0,n.join)(i,"self.md");(0,r.existsSync)(l)||(0,r.writeFileSync)(l,"","utf-8"),(0,r.existsSync)(d)||(0,r.writeFileSync)(d,"","utf-8"),(0,r.existsSync)(c)||(0,r.writeFileSync)(c,"","utf-8"),(0,r.existsSync)(p)||(0,r.writeFileSync)(p,"","utf-8"),(0,r.existsSync)(E)||(0,r.writeFileSync)(E,`---
62
+ - Do not wrap the JSON in markdown fences.`}e.s(["buildStructuredReflectionPrompt",()=>N,"readReflectionState",()=>T,"readSelf",()=>E,"writeReflectionState",()=>m,"writeSelf",()=>u],36528);let _=(0,i.join)((0,o.homedir)(),".agx","agents");function L(e){return(0,i.join)(_,e)}function f(e){return(0,i.join)(L(e),"journal.jsonl")}function g(e){let t=f(e);return(0,n.existsSync)(t)?(0,n.readFileSync)(t,"utf-8").split("\n").filter(e=>e.trim()):[]}function h(e,t){let[r,n]=String(t||"").split(":");if(r!==e)return 0;let i=parseInt(n||"0",10);return Number.isFinite(i)?i:0}function S(e,t){let r;r=L(e),(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0});let i=g(e),o=function(e,t){let r=0;for(let n of t)try{let t=JSON.parse(n),[i,o]=String(t.id||"").split(":");if(i!==e)continue;let a=parseInt(o||"0",10);Number.isFinite(a)&&a>r&&(r=a)}catch{}return r}(e,i),a=`${e}:${o+1}`,s={...t,id:t.id?.trim()||a},d=JSON.stringify(s)+"\n";return(0,n.appendFileSync)(f(e),d,"utf-8"),l(e,"reflection"===t.type?"reflection":"journal-post",{thread:s.thread,meta:{entryId:s.id}}),s}function O(e,t){let r=g(e),n=[];for(let e of r)try{n.push(JSON.parse(e))}catch{}return n.reverse(),t?n.slice(0,t):n}function A(e,t){let r=g(e),n=h(e,t),i=[];for(let t of r)try{let r=JSON.parse(t);h(e,r.id)>n&&i.push(r)}catch{}return i}e.s(["appendJournal",()=>S,"readJournal",()=>O,"readJournalSince",()=>A],59448);let I=(0,i.join)((0,o.homedir)(),".agx","agents");function y(e,t){let r=(0,i.join)(I,e);(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0});let o=t?.voice?.trim()||"conversational, concise, practical",a=t?.seed?.trim()||"I evolve through experience and collaboration.",s=(0,i.join)(r,"identity.json");(0,n.existsSync)(s)||(0,n.writeFileSync)(s,JSON.stringify({name:e,voice:o,seed:a},null,2)+"\n","utf-8");let l=(0,i.join)(r,"journal.jsonl"),d=(0,i.join)(r,"reactions.jsonl"),c=(0,i.join)(r,"comments.jsonl"),p=(0,i.join)(r,"activity.jsonl"),E=(0,i.join)(r,"self.md");(0,n.existsSync)(l)||(0,n.writeFileSync)(l,"","utf-8"),(0,n.existsSync)(d)||(0,n.writeFileSync)(d,"","utf-8"),(0,n.existsSync)(c)||(0,n.writeFileSync)(c,"","utf-8"),(0,n.existsSync)(p)||(0,n.writeFileSync)(p,"","utf-8"),(0,n.existsSync)(E)||(0,n.writeFileSync)(E,`---
63
63
  version: 0
64
64
  derivedAt: ${new Date().toISOString()}
65
65
  ---
66
66
  I am ${e}. ${a}
67
- `,"utf-8")}function y(e){let t=(0,n.join)(A,e,"identity.json");if(!(0,r.existsSync)(t))return null;try{return JSON.parse((0,r.readFileSync)(t,"utf-8"))}catch{return null}}function R(){return(0,r.existsSync)(A)?(0,r.readdirSync)(A,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name):[]}function C(e){return R().filter(t=>t!==e).map(e=>p(e)).filter(e=>null!==e)}e.s(["ensureAgent",()=>I,"getTeamSelves",()=>C,"listAgents",()=>R,"readIdentity",()=>y],41334);let j=process.env.AGX_GROUP_CHAT_DIR?.trim()||n.default.join(i.default.homedir(),".agx","group-chat"),U=n.default.join(j,"history.sqlite"),D=process.env.AGX_AGENTS_DIR?.trim()||n.default.join(i.default.homedir(),".agx","agents");function b(){let e,i,o=((0,r.mkdirSync)(j,{recursive:!0}),(e=new t.default(U)).pragma("journal_mode = WAL"),e.exec(`
67
+ `,"utf-8")}function R(e){let t=(0,i.join)(I,e,"identity.json");if(!(0,n.existsSync)(t))return null;try{return JSON.parse((0,n.readFileSync)(t,"utf-8"))}catch{return null}}function C(){return(0,n.existsSync)(I)?(0,n.readdirSync)(I,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name):[]}function j(e){return C().filter(t=>t!==e).map(e=>E(e)).filter(e=>null!==e)}e.s(["ensureAgent",()=>y,"getTeamSelves",()=>j,"listAgents",()=>C,"readIdentity",()=>R],41334);var U=e.x("node:sqlite",()=>require("node:sqlite"),!0);let D=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(o.default.homedir(),".agx","group-chat"),b=i.default.join(D,"history.sqlite"),X=process.env.AGX_AGENTS_DIR?.trim()||i.default.join(o.default.homedir(),".agx","agents");function F(){let e,t,o=((0,n.mkdirSync)(D,{recursive:!0}),e=new U.DatabaseSync(b),(0,r.pragmaSet)(e,"journal_mode = WAL"),e.exec(`
68
68
  CREATE TABLE IF NOT EXISTS participants (
69
69
  id TEXT PRIMARY KEY,
70
70
  name TEXT NOT NULL,
@@ -76,14 +76,14 @@ I am ${e}. ${a}
76
76
  color TEXT NOT NULL,
77
77
  sort_order INTEGER NOT NULL DEFAULT 0
78
78
  );
79
- `),(i=e.prepare("PRAGMA table_info(participants)").all()).some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),i.some(e=>"identity_file"===e.name)||i.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),i.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),i.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),i.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let i=new Set(t.map(e=>e.id)),o=new Map(t.map(e=>[e.id,e.id])),a=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;i.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,n=`${e}-${r}`;for(;t.has(n);)r+=1,n=`${e}-${r}`;return n}(t,i);i.add(r),o.set(e.id,r),a.push({from:e.id,to:r,name:e.name})}let s=t.map(e=>({id:o.get(e.id)||e.id,provider:e.provider})),l=new Set(s.map(e=>e.id)),d=new Map;for(let e of s){let t=e.provider.trim();if(!t)continue;let r=d.get(t)||new Set;r.add(e.id),d.set(t,r)}let c=[];for(let[e,t]of d){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||c.push({from:e,to:r}))}if(0===a.length&&0===c.length)return;let p=new Map;for(let e of a)p.set(e.from,e.to);for(let e of c)p.set(e.from,e.to);let E=Array.from(p.entries()).map(([e,t])=>({from:e,to:t})),u=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let n=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),i=u.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,o=u.has("agent_processes")?e.prepare("UPDATE agent_processes SET agent_id = ? WHERE agent_id = ?"):null,a=u.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)n.run(e.to,e.from);for(let e of r)i?.run(e.to,e.from),o?.run(e.to,e.from),a?.run(e.to,e.from)})(a.map(e=>({from:e.from,to:e.to})),E),a))!function(e,t,i){if(!e||!t||e===t)return;let o=n.default.join(D,e),a=n.default.join(D,t);if(!(0,r.existsSync)(o)||(0,r.existsSync)(a))return;(0,r.mkdirSync)(D,{recursive:!0}),(0,r.renameSync)(o,a);let s=n.default.join(a,"identity.json");if((0,r.existsSync)(s))try{let e={...JSON.parse((0,r.readFileSync)(s,"utf8")),name:"string"==typeof i&&i.trim()?i.trim():t};(0,r.writeFileSync)(s,`${JSON.stringify(e,null,2)}
80
- `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e);try{return o.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{o.close()}}var X=e.i(21729);let F="legacy_workspaces_to_projects_v1";function x(e){e.exec(`
79
+ `),(t=(0,r.pragmaAll)(e,"table_info(participants)")).some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),t.some(e=>"identity_file"===e.name)||t.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),t.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),t.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),t.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let o=new Set(t.map(e=>e.id)),a=new Map(t.map(e=>[e.id,e.id])),s=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;o.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,n=`${e}-${r}`;for(;t.has(n);)r+=1,n=`${e}-${r}`;return n}(t,o);o.add(r),a.set(e.id,r),s.push({from:e.id,to:r,name:e.name})}let l=t.map(e=>({id:a.get(e.id)||e.id,provider:e.provider})),d=new Set(l.map(e=>e.id)),c=new Map;for(let e of l){let t=e.provider.trim();if(!t)continue;let r=c.get(t)||new Set;r.add(e.id),c.set(t,r)}let p=[];for(let[e,t]of c){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(d.has(e)||p.push({from:e,to:r}))}if(0===s.length&&0===p.length)return;let E=new Map;for(let e of s)E.set(e.from,e.to);for(let e of p)E.set(e.from,e.to);let u=Array.from(E.entries()).map(([e,t])=>({from:e,to:t})),T=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of((0,r.transactionFn)(e,(t,r)=>{let n=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),i=T.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,o=T.has("agent_processes")?e.prepare("UPDATE agent_processes SET agent_id = ? WHERE agent_id = ?"):null,a=T.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)n.run(e.to,e.from);for(let e of r)i?.run(e.to,e.from),o?.run(e.to,e.from),a?.run(e.to,e.from)})(s.map(e=>({from:e.from,to:e.to})),u),s))!function(e,t,r){if(!e||!t||e===t)return;let o=i.default.join(X,e),a=i.default.join(X,t);if(!(0,n.existsSync)(o)||(0,n.existsSync)(a))return;(0,n.mkdirSync)(X,{recursive:!0}),(0,n.renameSync)(o,a);let s=i.default.join(a,"identity.json");if((0,n.existsSync)(s))try{let e={...JSON.parse((0,n.readFileSync)(s,"utf8")),name:"string"==typeof r&&r.trim()?r.trim():t};(0,n.writeFileSync)(s,`${JSON.stringify(e,null,2)}
80
+ `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e);try{return o.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{o.close()}}var x=e.i(21729);let w="legacy_workspaces_to_projects_v1";function k(e){e.exec(`
81
81
  CREATE TABLE IF NOT EXISTS app_migrations (
82
82
  key TEXT PRIMARY KEY,
83
83
  applied_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
84
84
  metadata JSON
85
85
  );
86
- `)}function w(e){let t;if(!e)throw Error("migrateLegacyWorkspacesToProjects requires an explicit database handle");let r={usersProcessed:0,agentsImported:0,agentSkillsMigrated:0,projectsCreated:0,projectsMatched:0,projectAgentsLinked:0,projectThreadsLinked:0,projectVariablesMigrated:0,remappedThreadLinks:0,warnings:[],projectMappings:[]};if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get())return r.warnings.push("No legacy teams table found."),r;let n=b(),i=new Map(n.map(e=>[e.id,e])),{teams:a,teamAgents:s,teamWorkspaces:l}=(t=e.prepare("SELECT id, name, user_id, COALESCE(is_default, 0) AS is_default FROM teams ORDER BY name ASC").all(),{teams:t,teamAgents:e.prepare("SELECT team_id, agent_id, routing_order FROM team_agents ORDER BY team_id, routing_order ASC").all(),teamWorkspaces:e.prepare("SELECT team_id, thread_id FROM team_workspaces ORDER BY team_id, thread_id ASC").all()}),d=new Map;for(let e of a){let t=d.get(e.user_id)??[];t.push(e),d.set(e.user_id,t)}let c=new Map;for(let e of s){let t=c.get(e.team_id)??[];t.push(e),c.set(e.team_id,t)}let p=new Map;for(let e of l){let t=p.get(e.team_id)??[];t.push(e.thread_id),p.set(e.team_id,t)}return e.transaction(()=>{for(let[t,a]of d.entries()){r.usersProcessed++;let s=t||o.LOCAL_USER.id;!function(e,t,r,n){let i=e.prepare(`INSERT INTO agents (id, user_id, name, style, description, model, provider, color, voice, seed)
86
+ `)}function v(e){let t;if(!e)throw Error("migrateLegacyWorkspacesToProjects requires an explicit database handle");let n={usersProcessed:0,agentsImported:0,agentSkillsMigrated:0,projectsCreated:0,projectsMatched:0,projectAgentsLinked:0,projectThreadsLinked:0,projectVariablesMigrated:0,remappedThreadLinks:0,warnings:[],projectMappings:[]};if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get())return n.warnings.push("No legacy teams table found."),n;let i=F(),o=new Map(i.map(e=>[e.id,e])),{teams:s,teamAgents:l,teamWorkspaces:d}=(t=e.prepare("SELECT id, name, user_id, COALESCE(is_default, 0) AS is_default FROM teams ORDER BY name ASC").all(),{teams:t,teamAgents:e.prepare("SELECT team_id, agent_id, routing_order FROM team_agents ORDER BY team_id, routing_order ASC").all(),teamWorkspaces:e.prepare("SELECT team_id, thread_id FROM team_workspaces ORDER BY team_id, thread_id ASC").all()}),c=new Map;for(let e of s){let t=c.get(e.user_id)??[];t.push(e),c.set(e.user_id,t)}let p=new Map;for(let e of l){let t=p.get(e.team_id)??[];t.push(e),p.set(e.team_id,t)}let E=new Map;for(let e of d){let t=E.get(e.team_id)??[];t.push(e.thread_id),E.set(e.team_id,t)}return(0,r.transaction)(e,()=>{for(let[t,r]of c.entries()){n.usersProcessed++;let s=t||a.LOCAL_USER.id;!function(e,t,r,n){let i=e.prepare(`INSERT INTO agents (id, user_id, name, style, description, model, provider, color, voice, seed)
87
87
  VALUES (?, ?, ?, 'balanced', ?, ?, ?, ?, NULL, NULL)
88
88
  ON CONFLICT(id) DO UPDATE SET
89
89
  user_id = excluded.user_id,
@@ -92,23 +92,23 @@ I am ${e}. ${a}
92
92
  model = COALESCE(NULLIF(excluded.model, ''), agents.model),
93
93
  provider = COALESCE(NULLIF(excluded.provider, ''), agents.provider),
94
94
  color = COALESCE(NULLIF(excluded.color, ''), agents.color),
95
- updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')`),o=e.prepare("SELECT 1 FROM agents WHERE id = ?");for(let e of r){let r=!!o.get(e.id);i.run(e.id,t,e.name,e.identity??null,e.model??null,e.provider??"claude",e.color??"#6B7280"),!r&&n.agentsImported++}}(e,s,n,r),function(e,t,r){let n=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
95
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')`),o=e.prepare("SELECT 1 FROM agents WHERE id = ?");for(let e of r){let r=!!o.get(e.id);i.run(e.id,t,e.name,e.identity??null,e.model??null,e.provider??"claude",e.color??"#6B7280"),!r&&n.agentsImported++}}(e,s,i,n),function(e,t,r){let n=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
96
96
  VALUES (?, ?, ?)
97
97
  ON CONFLICT(agent_id, file) DO UPDATE SET
98
- condition = excluded.condition`);for(let i of t)for(let t of i.skills??[]){let o=t.file?.trim();if(!o)continue;let a=e.prepare("SELECT condition FROM agent_skills WHERE agent_id = ? AND file = ?").get(i.id,o),s=t.condition||null;n.run(i.id,o,s),(!a||a.condition!==s)&&r.agentSkillsMigrated++}}(e,n,r);let l=new Map,d=new Map;for(let t of a){let n=p.get(t.id)??[],i=function(e,t,r,n){var i;let o,a=r.is_default?"default":r.name.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"),s=e.prepare("SELECT id, name FROM projects WHERE user_id = ? AND slug = ? LIMIT 1").get(t,a);if(s)return n.projectsMatched++,s;let l=r.is_default?"Default Project":(o=(i=r.name).trim())?o.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):i,d=e.prepare(`INSERT INTO projects (user_id, name, slug, description)
98
+ condition = excluded.condition`);for(let i of t)for(let t of i.skills??[]){let o=t.file?.trim();if(!o)continue;let a=e.prepare("SELECT condition FROM agent_skills WHERE agent_id = ? AND file = ?").get(i.id,o),s=t.condition||null;n.run(i.id,o,s),(!a||a.condition!==s)&&r.agentSkillsMigrated++}}(e,i,n);let l=new Map,d=new Map;for(let t of r){let r=E.get(t.id)??[],i=function(e,t,r,n){var i;let o,a=r.is_default?"default":r.name.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"),s=e.prepare("SELECT id, name FROM projects WHERE user_id = ? AND slug = ? LIMIT 1").get(t,a);if(s)return n.projectsMatched++,s;let l=r.is_default?"Default Project":(o=(i=r.name).trim())?o.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):i,d=e.prepare(`INSERT INTO projects (user_id, name, slug, description)
99
99
  VALUES (?, ?, ?, ?)
100
- RETURNING id, name`).get(t,l,a||`project-${r.id.slice(0,8)}`,"Migrated from legacy workspace/team structure");return n.projectsCreated++,d}(e,s,t,r),o=c.get(t.id)??[];l.set(i.id,o),d.set(i.id,n),r.projectMappings.push({teamId:t.id,teamName:t.name,projectId:i.id,projectName:i.name,threadIds:n})}let E=e.prepare(`INSERT INTO project_agents (project_id, agent_id, routing_order)
100
+ RETURNING id, name`).get(t,l,a||`project-${r.id.slice(0,8)}`,"Migrated from legacy workspace/team structure");return n.projectsCreated++,d}(e,s,t,n),o=p.get(t.id)??[];l.set(i.id,o),d.set(i.id,r),n.projectMappings.push({teamId:t.id,teamName:t.name,projectId:i.id,projectName:i.name,threadIds:r})}let c=e.prepare(`INSERT INTO project_agents (project_id, agent_id, routing_order)
101
101
  VALUES (?, ?, ?)
102
102
  ON CONFLICT(project_id, agent_id) DO UPDATE SET
103
103
  routing_order = excluded.routing_order`),u=e.prepare("DELETE FROM project_threads WHERE thread_id = ? AND project_id <> ?"),T=e.prepare(`INSERT OR IGNORE INTO project_threads (project_id, thread_id)
104
- VALUES (?, ?)`);for(let[t,n]of l.entries()){for(let e of n)E.run(t,e.agent_id,e.routing_order).changes>0&&r.projectAgentsLinked++;!function(e,t,r,n,i){let o=e.prepare(`INSERT INTO project_variables (project_id, key, value)
104
+ VALUES (?, ?)`);for(let[t,r]of l.entries()){for(let e of r)c.run(t,e.agent_id,e.routing_order).changes>0&&n.projectAgentsLinked++;!function(e,t,r,n,i){let o=e.prepare(`INSERT INTO project_variables (project_id, key, value)
105
105
  VALUES (?, ?, ?)
106
- ON CONFLICT(project_id, key) DO UPDATE SET value = excluded.value`),a=e.prepare("SELECT value FROM project_variables WHERE project_id = ? AND key = ?");for(let e of r){let r=n.get(e);if(r)for(let[e,n]of Object.entries(r.variables??{})){let r=a.get(t,e);if(r&&r.value!==n){i.warnings.push(`Variable conflict for project ${t}: key "${e}" kept existing value "${r.value}" over "${n}"`);continue}let s=o.run(t,e,n);!r&&s.changes>0&&i.projectVariablesMigrated++}}}(e,t,n.map(e=>e.agent_id),i,r)}for(let[e,t]of d.entries())for(let n of t){let t=u.run(n,e);r.remappedThreadLinks+=t.changes,T.run(e,n).changes>0&&r.projectThreadsLinked++}}})(),r}function k(e){var t;if(!e)throw Error("autoMigrateLegacyWorkspacesToProjects requires an explicit database handle");if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get()||(x(e),e.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1").get(F)))return null;let r=w(e);return t={usersProcessed:r.usersProcessed,agentsImported:r.agentsImported,agentSkillsMigrated:r.agentSkillsMigrated,projectsCreated:r.projectsCreated,projectsMatched:r.projectsMatched,projectAgentsLinked:r.projectAgentsLinked,projectThreadsLinked:r.projectThreadsLinked,projectVariablesMigrated:r.projectVariablesMigrated,remappedThreadLinks:r.remappedThreadLinks,warnings:r.warnings},x(e),e.prepare(`INSERT INTO app_migrations (key, metadata)
106
+ ON CONFLICT(project_id, key) DO UPDATE SET value = excluded.value`),a=e.prepare("SELECT value FROM project_variables WHERE project_id = ? AND key = ?");for(let e of r){let r=n.get(e);if(r)for(let[e,n]of Object.entries(r.variables??{})){let r=a.get(t,e);if(r&&r.value!==n){i.warnings.push(`Variable conflict for project ${t}: key "${e}" kept existing value "${r.value}" over "${n}"`);continue}let s=o.run(t,e,n);!r&&s.changes>0&&i.projectVariablesMigrated++}}}(e,t,r.map(e=>e.agent_id),o,n)}for(let[e,t]of d.entries())for(let r of t){let t=u.run(r,e);n.remappedThreadLinks+=Number(t.changes),T.run(e,r).changes>0&&n.projectThreadsLinked++}}}),n}function M(e){var t;if(!e)throw Error("autoMigrateLegacyWorkspacesToProjects requires an explicit database handle");if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get()||(k(e),e.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1").get(w)))return null;let r=v(e);return t={usersProcessed:r.usersProcessed,agentsImported:r.agentsImported,agentSkillsMigrated:r.agentSkillsMigrated,projectsCreated:r.projectsCreated,projectsMatched:r.projectsMatched,projectAgentsLinked:r.projectAgentsLinked,projectThreadsLinked:r.projectThreadsLinked,projectVariablesMigrated:r.projectVariablesMigrated,remappedThreadLinks:r.remappedThreadLinks,warnings:r.warnings},k(e),e.prepare(`INSERT INTO app_migrations (key, metadata)
107
107
  VALUES (?, json(?))
108
108
  ON CONFLICT(key) DO UPDATE SET
109
109
  applied_at = strftime('%Y-%m-%dT%H:%M:%fZ','now'),
110
- metadata = excluded.metadata`).run(F,JSON.stringify(t)),r}function v(e){if(!e)throw Error("getLegacyWorkspaceMigrationStatus requires an explicit database handle");x(e);let t=e.prepare("SELECT applied_at, metadata FROM app_migrations WHERE key = ? LIMIT 1").get(F);if(!t)return{applied:!1,appliedAt:null,metadata:null};let r=null;if(t.metadata)try{r=JSON.parse(t.metadata)}catch{r=null}return{applied:!0,appliedAt:t.applied_at,metadata:r}}e.s(["autoMigrateLegacyWorkspacesToProjects",()=>k,"getLegacyWorkspaceMigrationStatus",()=>v,"migrateLegacyWorkspacesToProjects",()=>w],25761);let M=process.env.AGX_DATA_DIR||n.default.join(i.default.homedir(),".agx");class ${expr;constructor(e){this.expr=e}}function H(e){return new $(e)}let Y=null;function P(){var e;if(Y)return Y;let i=process.env.SQLITE_DB_PATH||n.default.join(M,"agx-board.db");Y=new t.default(i);let a=(0,X.validateSQLiteEnvironment)(Y,i);if(a.length>0){let e=a.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
111
- ${e.join("\n")}`)}(function(e){let t=n.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let i=r.default.readFileSync(t,"utf-8");e.exec(i)})(Y),function(e){if(e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='execution_graphs'").all().length>0&&(e.pragma("table_info(execution_graphs)").some(e=>"schedule"===e.name)||e.exec("ALTER TABLE execution_graphs ADD COLUMN schedule JSON")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='project_memory'").all().length>0&&(e.pragma("table_info(project_memory)").some(e=>"producer"===e.name)||e.exec("ALTER TABLE project_memory ADD COLUMN producer TEXT NOT NULL DEFAULT 'human' CHECK(producer IN ('human', 'system'))"),e.exec("CREATE INDEX IF NOT EXISTS idx_project_memory_producer ON project_memory (producer)")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'").all().length>0){let t=new Set(e.pragma("table_info(agents)").map(e=>e.name));t.has("voice")||e.exec("ALTER TABLE agents ADD COLUMN voice TEXT"),t.has("seed")||e.exec("ALTER TABLE agents ADD COLUMN seed TEXT"),t.has("model")||e.exec("ALTER TABLE agents ADD COLUMN model TEXT"),t.has("provider")||e.exec("ALTER TABLE agents ADD COLUMN provider TEXT"),t.has("color")||e.exec("ALTER TABLE agents ADD COLUMN color TEXT"),t.has("title")||e.exec("ALTER TABLE agents ADD COLUMN title TEXT")}if(e.exec(`
110
+ metadata = excluded.metadata`).run(w,JSON.stringify(t)),r}function $(e){if(!e)throw Error("getLegacyWorkspaceMigrationStatus requires an explicit database handle");k(e);let t=e.prepare("SELECT applied_at, metadata FROM app_migrations WHERE key = ? LIMIT 1").get(w);if(!t)return{applied:!1,appliedAt:null,metadata:null};let r=null;if(t.metadata)try{r=JSON.parse(t.metadata)}catch{r=null}return{applied:!0,appliedAt:t.applied_at,metadata:r}}e.s(["autoMigrateLegacyWorkspacesToProjects",()=>M,"getLegacyWorkspaceMigrationStatus",()=>$,"migrateLegacyWorkspacesToProjects",()=>v],25761);let H=process.env.AGX_DATA_DIR||i.default.join(o.default.homedir(),".agx");class Y{expr;constructor(e){this.expr=e}}function P(e){return new Y(e)}let B=null;function W(){var e;if(B)return B;let o=process.env.SQLITE_DB_PATH||i.default.join(H,"agx-board.db");B=new t.DatabaseSync(o);let s=(0,x.validateSQLiteEnvironment)(B,o);if(s.length>0){let e=s.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
111
+ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!n.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let r=n.default.readFileSync(t,"utf-8");e.exec(r)})(B),function(e){if(e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='execution_graphs'").all().length>0&&((0,r.pragmaAll)(e,"table_info(execution_graphs)").some(e=>"schedule"===e.name)||e.exec("ALTER TABLE execution_graphs ADD COLUMN schedule JSON")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='project_memory'").all().length>0&&((0,r.pragmaAll)(e,"table_info(project_memory)").some(e=>"producer"===e.name)||e.exec("ALTER TABLE project_memory ADD COLUMN producer TEXT NOT NULL DEFAULT 'human' CHECK(producer IN ('human', 'system'))"),e.exec("CREATE INDEX IF NOT EXISTS idx_project_memory_producer ON project_memory (producer)")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'").all().length>0){let t=new Set((0,r.pragmaAll)(e,"table_info(agents)").map(e=>e.name));t.has("voice")||e.exec("ALTER TABLE agents ADD COLUMN voice TEXT"),t.has("seed")||e.exec("ALTER TABLE agents ADD COLUMN seed TEXT"),t.has("model")||e.exec("ALTER TABLE agents ADD COLUMN model TEXT"),t.has("provider")||e.exec("ALTER TABLE agents ADD COLUMN provider TEXT"),t.has("color")||e.exec("ALTER TABLE agents ADD COLUMN color TEXT"),t.has("title")||e.exec("ALTER TABLE agents ADD COLUMN title TEXT")}if(e.exec(`
112
112
  CREATE TABLE IF NOT EXISTS agent_skills (
113
113
  agent_id TEXT NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
114
114
  file TEXT NOT NULL,
@@ -303,19 +303,19 @@ ${e.join("\n")}`)}(function(e){let t=n.default.join(process.cwd(),"db","sqlite",
303
303
  WHEN COALESCE(NULLIF(agents.voice, ''), '') = '' OR COALESCE(NULLIF(agents.seed, ''), '') = ''
304
304
  THEN strftime('%Y-%m-%dT%H:%M:%fZ','now')
305
305
  ELSE agents.updated_at
306
- END`);for(let e of R()){let r=y(e);t.run(e,o.LOCAL_USER.id,r?.name?.trim()||e,r?.voice?.trim()||null,r?.seed?.trim()||null)}})(e),function(e){let t=b(),r=new Set(e.prepare("SELECT id FROM agents").all().map(e=>e.id)),n=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
306
+ END`);for(let e of C()){let r=R(e);t.run(e,a.LOCAL_USER.id,r?.name?.trim()||e,r?.voice?.trim()||null,r?.seed?.trim()||null)}})(e),function(e){let t=F(),r=new Set(e.prepare("SELECT id FROM agents").all().map(e=>e.id)),n=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
307
307
  VALUES (?, ?, ?)
308
308
  ON CONFLICT(agent_id, file) DO UPDATE SET
309
- condition = excluded.condition`);for(let e of t)if(r.has(e.id))for(let t of e.skills??[]){let r=t.file?.trim();r&&n.run(e.id,r,t.condition?.trim()||null)}}(e),function(e){for(let t of e.prepare("SELECT id, voice, seed FROM agents").all())I(t.id,{voice:t.voice??void 0,seed:t.seed??void 0})}(e)}(Y);let s=k(Y);return s&&console.log(`[sqlite] auto-migrated legacy workspaces to projects: ${JSON.stringify({usersProcessed:s.usersProcessed,projectsCreated:s.projectsCreated,projectsMatched:s.projectsMatched,projectAgentsLinked:s.projectAgentsLinked,projectThreadsLinked:s.projectThreadsLinked})}`),(e=Y).prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='teams'").get()&&e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='app_migrations'").get()&&e.prepare("SELECT 1 FROM app_migrations WHERE key = 'legacy_workspaces_to_projects_v1' LIMIT 1").get()&&(e.exec(`
309
+ condition = excluded.condition`);for(let e of t)if(r.has(e.id))for(let t of e.skills??[]){let r=t.file?.trim();r&&n.run(e.id,r,t.condition?.trim()||null)}}(e),function(e){for(let t of e.prepare("SELECT id, voice, seed FROM agents").all())y(t.id,{voice:t.voice??void 0,seed:t.seed??void 0})}(e)}(B);let l=M(B);return l&&console.log(`[sqlite] auto-migrated legacy workspaces to projects: ${JSON.stringify({usersProcessed:l.usersProcessed,projectsCreated:l.projectsCreated,projectsMatched:l.projectsMatched,projectAgentsLinked:l.projectAgentsLinked,projectThreadsLinked:l.projectThreadsLinked})}`),(e=B).prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='teams'").get()&&e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='app_migrations'").get()&&e.prepare("SELECT 1 FROM app_migrations WHERE key = 'legacy_workspaces_to_projects_v1' LIMIT 1").get()&&(e.exec(`
310
310
  DROP TABLE IF EXISTS team_workspaces;
311
311
  DROP TABLE IF EXISTS team_agents;
312
312
  DROP TABLE IF EXISTS teams;
313
- `),console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables")),Y}let B=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function W(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function J(e,t){return null==t?null:t instanceof Date?t.toISOString():B.has(e)?JSON.stringify(t):W(t)}function q(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),n=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===n.length?{columns:["*"],includeProjectRepos:r}:{columns:n,includeProjectRepos:r}}class K{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let n=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[n,i,...o]=e.split("."),a="true"===(r=o.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(W(a)),`${n} = ?`):"neq"===i?(t.push(W(a)),`${n} <> ?`):"is"===i?null===a?`${n} IS NULL`:(t.push(W(a)),`${n} IS ?`):"ilike"===i||"like"===i?(t.push(W(a)),`${n} LIKE ?`):"1=1"});n.length>0&&e.push(`(${n.join(" OR ")})`);continue}if("eq"===r.op)t.push(W(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(W(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(W(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(W(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(W(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(W(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(W(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let n=(r.value||[]).map(W);if(0===n.length)e.push("1=1");else{let i=n.map(()=>"?").join(", ");t.push(...n),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${n.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let n=(r.value||[]).map(W),i=n.map(()=>"?").join(", ");t.push(...n),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=P(),{columns:t,includeProjectRepos:r}=q(this.selectColumns),n=[],i=[];this.buildWhere(i,n);let o=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(o+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");o+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(n.push(this.limitValue),o+=" LIMIT ?");let a=e.prepare(o).all(...n);if(a=a.map(V),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),n=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of n){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=P(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let n=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],o=r.map(e=>{let t=n.map(t=>(i.push(J(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${n.join(", ")}) VALUES ${o.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=n.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=q(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...i)).map(V):(t.prepare(a).run(...i),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=P(),r=[],n=[],i=[];this.buildWhere(i,n);let o="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof $?`${e} = ${t.expr}`:(r.push(J(e,t)),`${e} = ?`)});o=`UPDATE ${this.table} SET ${e.join(", ")}`}else o=`DELETE FROM ${this.table}`;i.length>0&&(o+=` WHERE ${i.join(" AND ")}`);let a=[...r,...n];if(this.returningColumns){let{columns:e}=q(this.returningColumns);o+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(o).all(...a)).map(V):(t.prepare(o).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let G=new Set([...B,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function V(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(G.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function Z(){return{from:e=>new K(e),auth:{getUser:async()=>({data:{user:{id:o.LOCAL_USER.id,email:o.LOCAL_USER.email,user_metadata:{name:o.LOCAL_USER.name,full_name:o.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:o.LOCAL_USER.id,email:o.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=P(),n=t.p_user_id,i=t.p_endpoint,o=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
313
+ `),console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables")),B}let q=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function J(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function K(e,t){return null==t?null:t instanceof Date?t.toISOString():q.has(e)?JSON.stringify(t):J(t)}function G(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),n=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===n.length?{columns:["*"],includeProjectRepos:r}:{columns:n,includeProjectRepos:r}}class V{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let n=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[n,i,...o]=e.split("."),a="true"===(r=o.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(J(a)),`${n} = ?`):"neq"===i?(t.push(J(a)),`${n} <> ?`):"is"===i?null===a?`${n} IS NULL`:(t.push(J(a)),`${n} IS ?`):"ilike"===i||"like"===i?(t.push(J(a)),`${n} LIKE ?`):"1=1"});n.length>0&&e.push(`(${n.join(" OR ")})`);continue}if("eq"===r.op)t.push(J(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(J(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(J(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(J(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(J(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(J(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(J(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let n=(r.value||[]).map(J);if(0===n.length)e.push("1=1");else{let i=n.map(()=>"?").join(", ");t.push(...n),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${n.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let n=(r.value||[]).map(J),i=n.map(()=>"?").join(", ");t.push(...n),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=W(),{columns:t,includeProjectRepos:r}=G(this.selectColumns),n=[],i=[];this.buildWhere(i,n);let o=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(o+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");o+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(n.push(this.limitValue),o+=" LIMIT ?");let a=e.prepare(o).all(...n);if(a=a.map(z),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),n=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of n){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=W(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let n=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],o=r.map(e=>{let t=n.map(t=>(i.push(K(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${n.join(", ")}) VALUES ${o.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=n.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=G(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...i)).map(z):(t.prepare(a).run(...i),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=W(),r=[],n=[],i=[];this.buildWhere(i,n);let o="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof Y?`${e} = ${t.expr}`:(r.push(K(e,t)),`${e} = ?`)});o=`UPDATE ${this.table} SET ${e.join(", ")}`}else o=`DELETE FROM ${this.table}`;i.length>0&&(o+=` WHERE ${i.join(" AND ")}`);let a=[...r,...n];if(this.returningColumns){let{columns:e}=G(this.returningColumns);o+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(o).all(...a)).map(z):(t.prepare(o).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let Z=new Set([...q,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function z(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(Z.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function Q(){return{from:e=>new V(e),auth:{getUser:async()=>({data:{user:{id:a.LOCAL_USER.id,email:a.LOCAL_USER.email,user_metadata:{name:a.LOCAL_USER.name,full_name:a.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:a.LOCAL_USER.id,email:a.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=W(),n=t.p_user_id,i=t.p_endpoint,o=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
314
314
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
315
315
  VALUES (?, ?, ?, 1)
316
316
  ON CONFLICT (user_id, endpoint, window_start)
317
317
  DO UPDATE SET request_count = rate_limits.request_count + 1
318
318
  RETURNING request_count
319
- `,t=r.prepare(e).get(n,i,s.toISOString());return{data:Number(t?.request_count||0)<=o,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>$,"createAdminDbClientSQLite",()=>Z,"getSQLiteDb",()=>P,"sqlExpr",()=>H],60447)}];
319
+ `,t=r.prepare(e).get(n,i,s.toISOString());return{data:Number(t?.request_count||0)<=o,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>Y,"createAdminDbClientSQLite",()=>Q,"getSQLiteDb",()=>W,"sqlExpr",()=>P],60447)}];
320
320
 
321
321
  //# sourceMappingURL=lib_sqlite-query-adapter_ts_b0b1a9b2._.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 n extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class a extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class i extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class o extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function s(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:n,output:a,...i}=e;return{type:t,status:r,config:i,output:a??null,metrics:n??null}}function l(e){let t={...p(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function g(e){return{query(t,r){let n=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(n.run(...r??[]),{rows:[]}):{rows:n.all(...r??[])}}}}class h{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),n=g(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=n.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new o(e.taskId,r.id);for(let[t,r]of(n.query(`INSERT INTO execution_graphs
1
+ module.exports=[97812,e=>{"use strict";var t=e.i(60447),r=e.i(59833);let n=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 i 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 d(e){return null==e?null:JSON.stringify(e)}function u(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function p(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function c(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function l(e){let{type:t,status:r,metrics:n,output:a,...i}=e;return{type:t,status:r,config:i,output:a??null,metrics:n??null}}function g(e){let t={...c(u(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=p(e.timestamp)),t}function h(e){return{query(t,r){let n=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(n.run(...(r??[]).map(e=>e)),{rows:[]}):{rows:n.all(...(r??[]).map(e=>e))}}}}class E{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let n=this.getDb(),a=h(n);t?.skipTaskBinding&&(0,r.pragmaSet)(n,"foreign_keys = OFF");try{return(0,r.transaction)(n,()=>{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
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,38 +9,38 @@ 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,s(e.policy),s(e.doneCriteria),s(e.schedule??null),e.createdAt,e.updatedAt]),n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=c(r);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,s(a.config),s(a.output),s(a.metrics)])}for(let t of e.edges)n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
- VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,s(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(n,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(n,e.id,t);t?.skipTaskBinding||n.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let i=this.getGraphForTask(n,e.taskId);if(!i)throw new a(e.id);return i})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(g(t),e)}updateNodeRuntime(e,t,r){let n=this.getDb(),o=g(n);return n.transaction(()=>{if(!o.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new a(e);let r=Object.keys(t);if(0===r.length){let t=o.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let n=r.map(()=>"?").join(", "),c=o.query(`SELECT node_id, type, status, config, output, metrics
15
- FROM graph_nodes WHERE graph_id = ? AND node_id IN (${n})`,[e,...r]),l=new Map;for(let e of c.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new i(e,g);for(let n of r){let r=t[n],a=l.get(n);if(!a||!r)continue;let i={...p(d(a.config)),...p(r.configPatch)};void 0!==r.startedAt&&(i.startedAt=r.startedAt),void 0!==r.completedAt&&(i.completedAt=r.completedAt),void 0!==r.actualMinutes&&(i.actualMinutes=r.actualMinutes),o.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
- WHERE graph_id = ? AND node_id = ?`,[r.status??a.status,s(r.metrics??d(a.metrics)),s(r.output??d(a.output)),s(i),e,n])}let h=o.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:u(h.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let n=this.getDb(),i=g(n);return n.transaction(()=>{let r=i.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new a(e);if(t.nodes)for(let[r,n]of(i.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(n);i.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,s(t.config),s(t.output),s(t.metrics)])}if(t.edges)for(let r of(i.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))i.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
- VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,s(r.dataMapping??null)]);let n=i.query(`UPDATE execution_graphs
12
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,d(e.policy),d(e.doneCriteria),d(e.schedule??null),e.createdAt,e.updatedAt]),a.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),a.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let n=l(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,d(n.config),d(n.output),d(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,d(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(a,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(a,e.id,t);t?.skipTaskBinding||a.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(a,e.taskId);if(!n)throw new i(e.id);return n})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(n,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(h(t),e)}updateNodeRuntime(e,t,n){let a=this.getDb(),s=h(a);return(0,r.transaction)(a,()=>{if(!s.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new i(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:p(t.rows[0].updated_at)}}let n=r.map(()=>"?").join(", "),a=s.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${n})`,[e,...r]),l=new Map;for(let e of a.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new o(e,g);for(let n of r){let r=t[n],a=l.get(n);if(!a||!r)continue;let i={...c(u(a.config)),...c(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),s.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??a.status,d(r.metrics??u(a.metrics)),d(r.output??u(a.output)),d(i),e,n])}let h=s.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:p(h.rows[0].updated_at)}})}updateGraphStructure(e,t,n){let a=this.getDb(),o=h(a);return(0,r.transaction)(a,()=>{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 i(e);if(t.nodes)for(let[r,n]of(o.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=l(n);o.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,d(t.config),d(t.output),d(t.metrics)])}if(t.edges)for(let r of(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,d(r.dataMapping??null)]);let n=o.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,s(t.policy??d(r.policy)??{}),s(t.doneCriteria??d(r.done_criteria)??{}),s(t.schedule??d(r.schedule)??null),e]);return{graphVersion:n.rows[0].graph_version,updatedAt:u(n.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(g(r),e,t)}getGraphForTask(e,t){let n=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
- FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!n)return null;let a=e.query(`SELECT node_id, type, status, config, output, metrics
23
- FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[n.id]),i=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
- FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[n.id]),o=e.query(`SELECT event_type, payload, timestamp
25
- FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[n.id]),s={};for(let e of a.rows)s[e.node_id]=function(e){let t={...p(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let n=d(e.output);return null!==n&&(t.output=n),t}(e);let c=i.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),g=[],h=[];for(let e of o.rows){let t=l(e);r.has(t.eventType)?g.push(t):h.push(t)}return{id:n.id,taskId:n.task_id,graphVersion:n.graph_version,mode:n.mode,nodes:s,edges:c,policy:d(n.policy)??{},doneCriteria:d(n.done_criteria)??{},schedule:d(n.schedule)??void 0,versionHistory:g,runtimeEvents:h,createdAt:u(n.created_at),updatedAt:u(n.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
- VALUES (?, ?, ?, ?)`,[t,r.eventType,s(r),r.timestamp])}}function E(){return new h}let _=new h;function m(e,t){return _.createGraph(e,t)}function f(e){return _.getGraph(e)}function y(e,t,r){return _.updateNodeRuntime(e,t,r)}function T(e,t,r){return _.updateGraphStructure(e,t,r)}function I(e,t){return _.appendEvent(e,t)}function S(e,r={}){let n=["graph_id = ?"],a=[e];r.eventType&&(n.push("event_type = ?"),a.push(r.eventType)),r.since&&(n.push("timestamp >= ?"),a.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,d(t.policy??u(r.policy)??{}),d(t.doneCriteria??u(r.done_criteria)??{}),d(t.schedule??u(r.schedule)??null),e]);return{graphVersion:n.rows[0].graph_version,updatedAt:p(n.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(h(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!r)return null;let a=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[r.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`,[r.id]),o=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),s={};for(let e of a.rows)s[e.node_id]=function(e){let t={...c(u(e.config)),type:e.type,status:e.status},r=u(e.metrics);null!==r&&(t.metrics=r);let n=u(e.output);return null!==n&&(t.output=n),t}(e);let d=i.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:u(e.condition)}:{},...e.data_mapping?{dataMapping:u(e.data_mapping)}:{}})),l=[],h=[];for(let e of o.rows){let t=g(e);n.has(t.eventType)?l.push(t):h.push(t)}return{id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,nodes:s,edges:d,policy:u(r.policy)??{},doneCriteria:u(r.done_criteria)??{},schedule:u(r.schedule)??void 0,versionHistory:l,runtimeEvents:h,createdAt:p(r.created_at),updatedAt:p(r.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,d(r),r.timestamp])}}function _(){return new E}let m=new E;function f(e,t){return m.createGraph(e,t)}function y(e){return m.getGraph(e)}function T(e,t,r){return m.updateNodeRuntime(e,t,r)}function S(e,t,r){return m.updateGraphStructure(e,t,r)}function I(e,t){return m.appendEvent(e,t)}function v(e,r={}){let n=["graph_id = ?"],a=[e];r.eventType&&(n.push("event_type = ?"),a.push(r.eventType)),r.since&&(n.push("timestamp >= ?"),a.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
27
27
  FROM graph_events
28
28
  WHERE ${n.join(" AND ")}
29
29
  ORDER BY timestamp ASC, event_type ASC
30
- LIMIT ?`;return a.push(i),g((0,t.getSQLiteDb)()).query(o,a).rows.map(e=>l(e))}function v(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
30
+ LIMIT ?`;return a.push(i),h((0,t.getSQLiteDb)()).query(o,a).rows.map(e=>g(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') = ?
34
34
  AND json_extract(schedule, '$.state') = 'active'
35
35
  ORDER BY updated_at DESC
36
- LIMIT 1`).get(r)??null:null}function R(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
36
+ LIMIT 1`).get(r)??null:null}function A(){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 A(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 N(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",()=>i,"GraphNotFoundError",()=>a,"GraphStore",()=>h,"GraphTaskAlreadyBoundError",()=>o,"GraphVersionConflictError",()=>n,"appendEvent",()=>I,"createGraph",()=>m,"createGraphStore",()=>E,"deactivateSchedulesByRootMessageId",()=>A,"getActiveScheduleForRootMessageId",()=>v,"getActiveScheduleRootMessageIds",()=>R,"getGraph",()=>f,"getGraphEvents",()=>S,"updateGraphStructure",()=>T,"updateNodeRuntime",()=>y])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),n=e.i(90081);async function a(e){let a=r.LOCAL_USER.id,i=await n.db.getTask(e.taskId,a);return i?{ok:!0,actor:{actorId:a,actorType:"service"},task:i,projectId:e.requestedProjectId??i.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>a])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function n(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function a(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function i(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function o(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function s(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function d(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>o,"buildGateVerificationEvent",()=>i,"buildGraphCreatedEvent",()=>n,"buildNodeStatusEvent",()=>a,"buildReplanEvent",()=>s,"buildRollbackEvent",()=>d],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},23297,83131,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function n(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function a(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>n,"isV2ReadPathEnabled",()=>a],83131);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),s=new Set(["done","passed","skipped"]);function d(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function u(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let n=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&s.has(r.status))})&&n||r.every(e=>i.has(e.status))&&n?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function p(e,t="INTAKE"){let r,n,a=u(e),o="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===a?100:0===(n=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(n.filter(e=>i.has(e.status)).length/n.length*100)));return{status:a,stage:o,progressPercent:s}}function c(e){var t;let r,a,i,o,s,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:p(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},a=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=d(t.legacy.stage,"INTAKE"),s=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&a.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&a.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&a.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===a.length)?null:{taskId:t.taskId,source:t.source,diffs:a});return u&&n()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>c,"projectLegacyCompatFromGraph",()=>p],23297)},88144,e=>{"use strict";var t=e.i(54799),r=e.i(79042);let n=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,a=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let s=o.replace(n,"").trim();if(!s)return r;let d=s.match(a);if(!d)return s;let u=s.slice(d[0].length).trim();return u||d[1].trim()||r}let s={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let n=new Date().toISOString(),a={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let n=i(e.objective);return n?o(n,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:a,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...s},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:n,updatedAt:n}}e.s(["createRootOnlyGraph",()=>d],88144)}];
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>o,"GraphNotFoundError",()=>i,"GraphStore",()=>E,"GraphTaskAlreadyBoundError",()=>s,"GraphVersionConflictError",()=>a,"appendEvent",()=>I,"createGraph",()=>f,"createGraphStore",()=>_,"deactivateSchedulesByRootMessageId",()=>N,"getActiveScheduleForRootMessageId",()=>R,"getActiveScheduleRootMessageIds",()=>A,"getGraph",()=>y,"getGraphEvents",()=>v,"updateGraphStructure",()=>S,"updateNodeRuntime",()=>T])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),n=e.i(90081);async function a(e){let a=r.LOCAL_USER.id,i=await n.db.getTask(e.taskId,a);return i?{ok:!0,actor:{actorId:a,actorType:"service"},task:i,projectId:e.requestedProjectId??i.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>a])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function n(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function a(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function i(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function o(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function s(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function d(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>o,"buildGateVerificationEvent",()=>i,"buildGraphCreatedEvent",()=>n,"buildNodeStatusEvent",()=>a,"buildReplanEvent",()=>s,"buildRollbackEvent",()=>d],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},23297,83131,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function n(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function a(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>n,"isV2ReadPathEnabled",()=>a],83131);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),s=new Set(["done","passed","skipped"]);function d(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function u(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let n=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&s.has(r.status))})&&n||r.every(e=>i.has(e.status))&&n?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function p(e,t="INTAKE"){let r,n,a=u(e),o="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===a?100:0===(n=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(n.filter(e=>i.has(e.status)).length/n.length*100)));return{status:a,stage:o,progressPercent:s}}function c(e){var t;let r,a,i,o,s,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:p(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},a=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=d(t.legacy.stage,"INTAKE"),s=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&a.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&a.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&a.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===a.length)?null:{taskId:t.taskId,source:t.source,diffs:a});return u&&n()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>c,"projectLegacyCompatFromGraph",()=>p],23297)},88144,e=>{"use strict";var t=e.i(54799),r=e.i(79042);let n=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,a=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let s=o.replace(n,"").trim();if(!s)return r;let d=s.match(a);if(!d)return s;let u=s.slice(d[0].length).trim();return u||d[1].trim()||r}let s={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let n=new Date().toISOString(),a={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let n=i(e.objective);return n?o(n,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:a,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...s},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:n,updatedAt:n}}e.s(["createRootOnlyGraph",()=>d],88144)}];
45
45
 
46
46
  //# sourceMappingURL=src_graph_14067235._.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 o extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function d(e){return null==e?null:JSON.stringify(e)}function s(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:a,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:a??null}}function l(e){let t={...p(s(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function g(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class h{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=g(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
1
+ module.exports=[97812,e=>{"use strict";var t=e.i(60447),r=e.i(59833);let a=new Set(["replan","rollback"]);class o 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 d 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 u(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function p(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function c(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function l(e){let{type:t,status:r,metrics:a,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:a??null}}function g(e){let t={...c(u(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=p(e.timestamp)),t}function h(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??[]).map(e=>e)),{rows:[]}):{rows:a.all(...(r??[]).map(e=>e))}}}}class E{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let a=this.getDb(),o=h(a);t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = OFF");try{return(0,r.transaction)(a,()=>{let r=o.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new d(e.taskId,r.id);for(let[t,r]of(o.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,38 +9,38 @@ 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,d(e.policy),d(e.doneCriteria),d(e.schedule??null),e.createdAt,e.updatedAt]),a.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),a.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let o=c(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,o.type,o.status,d(o.config),d(o.output),d(o.metrics)])}for(let t of e.edges)a.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
- VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,d(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(a,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(a,e.id,t);t?.skipTaskBinding||a.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(a,e.taskId);if(!n)throw new o(e.id);return n})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(g(t),e)}updateNodeRuntime(e,t,r){let a=this.getDb(),i=g(a);return a.transaction(()=>{if(!i.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new o(e);let r=Object.keys(t);if(0===r.length){let t=i.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),c=i.query(`SELECT node_id, type, status, config, output, metrics
15
- FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),l=new Map;for(let e of c.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new n(e,g);for(let a of r){let r=t[a],o=l.get(a);if(!o||!r)continue;let n={...p(s(o.config)),...p(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),i.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
- WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,d(r.metrics??s(o.metrics)),d(r.output??s(o.output)),d(n),e,a])}let h=i.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:u(h.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),n=g(a);return a.transaction(()=>{let r=n.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new o(e);if(t.nodes)for(let[r,a]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(a);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
- VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,d(t.config),d(t.output),d(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
- VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,d(r.dataMapping??null)]);let a=n.query(`UPDATE execution_graphs
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]),o.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),o.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=l(r);o.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,s(a.config),s(a.output),s(a.metrics)])}for(let t of e.edges)o.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(o,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(o,e.id,t);t?.skipTaskBinding||o.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let a=this.getGraphForTask(o,e.taskId);if(!a)throw new n(e.id);return a})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(h(t),e)}updateNodeRuntime(e,t,a){let o=this.getDb(),d=h(o);return(0,r.transaction)(o,()=>{if(!d.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=d.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:p(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),o=d.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),l=new Map;for(let e of o.rows)l.set(e.node_id,e);let g=r.filter(e=>!l.has(e));if(g.length>0)throw new i(e,g);for(let a of r){let r=t[a],o=l.get(a);if(!o||!r)continue;let n={...c(u(o.config)),...c(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),d.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,s(r.metrics??u(o.metrics)),s(r.output??u(o.output)),s(n),e,a])}let h=d.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:p(h.rows[0].updated_at)}})}updateGraphStructure(e,t,a){let o=this.getDb(),i=h(o);return(0,r.transaction)(o,()=>{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=l(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,d(t.policy??s(r.policy)??{}),d(t.doneCriteria??s(r.done_criteria)??{}),d(t.schedule??s(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:u(a.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(g(r),e,t)}getGraphForTask(e,t){let a=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
- FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!a)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
23
- FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
- FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[a.id]),i=e.query(`SELECT event_type, payload, timestamp
25
- FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),d={};for(let e of o.rows)d[e.node_id]=function(e){let t={...p(s(e.config)),type:e.type,status:e.status},r=s(e.metrics);null!==r&&(t.metrics=r);let a=s(e.output);return null!==a&&(t.output=a),t}(e);let c=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:s(e.condition)}:{},...e.data_mapping?{dataMapping:s(e.data_mapping)}:{}})),g=[],h=[];for(let e of i.rows){let t=l(e);r.has(t.eventType)?g.push(t):h.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:d,edges:c,policy:s(a.policy)??{},doneCriteria:s(a.done_criteria)??{},schedule:s(a.schedule)??void 0,versionHistory:g,runtimeEvents:h,createdAt:u(a.created_at),updatedAt:u(a.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
- VALUES (?, ?, ?, ?)`,[t,r.eventType,d(r),r.timestamp])}}function E(){return new h}let m=new h;function _(e,t){return m.createGraph(e,t)}function f(e){return m.getGraph(e)}function S(e,t,r){return m.updateNodeRuntime(e,t,r)}function I(e,t,r){return m.updateGraphStructure(e,t,r)}function y(e,t){return m.appendEvent(e,t)}function T(e,r={}){let a=["graph_id = ?"],o=[e];r.eventType&&(a.push("event_type = ?"),o.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),o.push(r.since));let n=r.limit??1e3,i=`SELECT event_type, payload, timestamp
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,s(t.policy??u(r.policy)??{}),s(t.doneCriteria??u(r.done_criteria)??{}),s(t.schedule??u(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:p(a.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(h(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!r)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[r.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[r.id]),i=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),d={};for(let e of o.rows)d[e.node_id]=function(e){let t={...c(u(e.config)),type:e.type,status:e.status},r=u(e.metrics);null!==r&&(t.metrics=r);let a=u(e.output);return null!==a&&(t.output=a),t}(e);let s=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:u(e.condition)}:{},...e.data_mapping?{dataMapping:u(e.data_mapping)}:{}})),l=[],h=[];for(let e of i.rows){let t=g(e);a.has(t.eventType)?l.push(t):h.push(t)}return{id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,nodes:d,edges:s,policy:u(r.policy)??{},doneCriteria:u(r.done_criteria)??{},schedule:u(r.schedule)??void 0,versionHistory:l,runtimeEvents:h,createdAt:p(r.created_at),updatedAt:p(r.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 m(){return new E}let _=new E;function f(e,t){return _.createGraph(e,t)}function S(e){return _.getGraph(e)}function I(e,t,r){return _.updateNodeRuntime(e,t,r)}function y(e,t,r){return _.updateGraphStructure(e,t,r)}function T(e,t){return _.appendEvent(e,t)}function R(e,r={}){let a=["graph_id = ?"],o=[e];r.eventType&&(a.push("event_type = ?"),o.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),o.push(r.since));let n=r.limit??1e3,i=`SELECT event_type, payload, timestamp
27
27
  FROM graph_events
28
28
  WHERE ${a.join(" AND ")}
29
29
  ORDER BY timestamp ASC, event_type ASC
30
- LIMIT ?`;return o.push(n),g((0,t.getSQLiteDb)()).query(i,o).rows.map(e=>l(e))}function R(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
30
+ LIMIT ?`;return o.push(n),h((0,t.getSQLiteDb)()).query(i,o).rows.map(e=>g(e))}function v(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') = ?
34
34
  AND json_extract(schedule, '$.state') = 'active'
35
35
  ORDER BY updated_at DESC
36
- LIMIT 1`).get(r)??null:null}function v(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
36
+ LIMIT 1`).get(r)??null:null}function N(){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 N(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",()=>n,"GraphNotFoundError",()=>o,"GraphStore",()=>h,"GraphTaskAlreadyBoundError",()=>i,"GraphVersionConflictError",()=>a,"appendEvent",()=>y,"createGraph",()=>_,"createGraphStore",()=>E,"deactivateSchedulesByRootMessageId",()=>N,"getActiveScheduleForRootMessageId",()=>R,"getActiveScheduleRootMessageIds",()=>v,"getGraph",()=>f,"getGraphEvents",()=>T,"updateGraphStructure",()=>I,"updateNodeRuntime",()=>S])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),a=e.i(90081);async function o(e){let o=r.LOCAL_USER.id,n=await a.db.getTask(e.taskId,o);return n?{ok:!0,actor:{actorId:o,actorType:"service"},task:n,projectId:e.requestedProjectId??n.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>o])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function a(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function o(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function n(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function i(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function d(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function s(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>i,"buildGateVerificationEvent",()=>n,"buildGraphCreatedEvent",()=>a,"buildNodeStatusEvent",()=>o,"buildReplanEvent",()=>d,"buildRollbackEvent",()=>s],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},39760,e=>{"use strict";var t=e.i(69719),r=e.i(73122),a=e.i(63279),o=e.i(86582),n=e.i(6838),i=e.i(77036),d=e.i(97812),s=e.i(97681);let u=t.z.object({error:t.z.string().min(1),nodeIds:t.z.array(t.z.string())});async function p(e){try{await (0,d.appendEvent)(e.graphId,(0,r.buildNodeStatusEvent)({actor:e.actor,nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,reason:e.reason,projectId:e.projectId}))}catch(e){console.error("Failed to append rejected node transition event",e)}}async function c(e){let t=await (0,n.authorizeGraphMutation)({request:e.request,taskId:e.taskId,action:e.action,requestedProjectId:e.requestedProjectId});if(!t.ok)return t.response;let c=await (0,d.getGraph)(e.taskId);if(!c)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Graph not found"},{status:404});let l=c.nodes[e.nodeId];if(!l)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Node not found"},{status:404});if(e.allowedFromStatuses&&!e.allowedFromStatuses.includes(l.status))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:`Rejected: node must be in one of [${e.allowedFromStatuses.join(", ")}] to ${e.action}`}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Cannot ${e.action} node ${e.nodeId}: current status is ${l.status}`},{status:400});try{(0,s.assertValidNodeStatusTransition)(l.type,l.status,e.targetStatus)}catch{return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected invalid transition"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Invalid node transition for ${e.nodeId}: ${l.status} -> ${e.targetStatus}`},{status:400})}if("gate"===l.type&&"pending"===l.status&&"passed"===e.targetStatus&&!function(e){if("gate"!==e.type)return!1;let t=e.verificationStrategy.checks??[];return"progress"===e.gateType&&0===t.length&&"auto"===e.verificationStrategy.type}(l))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected required gate bypass"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Required gate transition blocked for node ${e.nodeId}`},{status:400});try{let n={...e.patch??{},status:e.targetStatus};e.resetWorkAttempts&&"work"===l.type&&(n.configPatch={...n.configPatch??{},attempts:0});let s={[e.nodeId]:{...n}},u=await (0,d.updateNodeRuntime)(c.id,s,e.ifMatchGraphVersion??c.graphVersion),p=new Date().toISOString();if(await (0,d.appendEvent)(c.id,(0,r.buildNodeStatusEvent)({actor:t.actor,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:e.reason,timestamp:p,projectId:t.projectId})),("gate"===l.type||"node_verify"===e.action)&&("passed"===e.targetStatus||"failed"===e.targetStatus)){let a="passed"===e.targetStatus;(0,i.recordGateVerificationResult)(a),await (0,d.appendEvent)(c.id,(0,r.buildGateVerificationEvent)({actor:t.actor,nodeId:e.nodeId,timestamp:p,result:{passed:a,checks:e.gateChecks??[],verifiedAt:p,verifiedBy:"user"===t.actor.actorType?"human":"agent"},projectId:t.projectId}))}if(e.consumeVerifyBudget||"node_verify"===e.action){let a=Math.max(0,c.policy.verifyBudgetRemaining-1);await (0,d.appendEvent)(c.id,(0,r.buildBudgetConsumedEvent)({actor:t.actor,budgetType:"verify",remaining:a,triggerNodeId:e.nodeId,timestamp:p,projectId:t.projectId}))}return(0,o.jsonWithSchema)(a.NodeMutationResponseSchema,{graphId:c.id,nodeId:e.nodeId,graphVersion:u.graphVersion,updatedAt:u.updatedAt})}catch(e){if(e instanceof d.GraphVersionConflictError)return(0,o.graphConflictResponse)(e);if(e instanceof d.GraphNodeNotFoundError)return(0,o.jsonWithSchema)(u,{error:e.message,nodeIds:e.nodeIds},{status:404});return console.error("Error mutating node status:",e),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Failed to mutate node status"},{status:500})}}e.s(["applyNodeStatusMutation",()=>c])}];
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>i,"GraphNotFoundError",()=>n,"GraphStore",()=>E,"GraphTaskAlreadyBoundError",()=>d,"GraphVersionConflictError",()=>o,"appendEvent",()=>T,"createGraph",()=>f,"createGraphStore",()=>m,"deactivateSchedulesByRootMessageId",()=>A,"getActiveScheduleForRootMessageId",()=>v,"getActiveScheduleRootMessageIds",()=>N,"getGraph",()=>S,"getGraphEvents",()=>R,"updateGraphStructure",()=>y,"updateNodeRuntime",()=>I])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},6838,e=>{"use strict";var t=e.i(94028),r=e.i(49041),a=e.i(90081);async function o(e){let o=r.LOCAL_USER.id,n=await a.db.getTask(e.taskId,o);return n?{ok:!0,actor:{actorId:o,actorType:"service"},task:n,projectId:e.requestedProjectId??n.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>o])},73122,77036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function a(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function o(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function n(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function i(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function d(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function s(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>i,"buildGateVerificationEvent",()=>n,"buildGraphCreatedEvent",()=>a,"buildNodeStatusEvent",()=>o,"buildReplanEvent",()=>d,"buildRollbackEvent",()=>s],73122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],77036)},39760,e=>{"use strict";var t=e.i(69719),r=e.i(73122),a=e.i(63279),o=e.i(86582),n=e.i(6838),i=e.i(77036),d=e.i(97812),s=e.i(97681);let u=t.z.object({error:t.z.string().min(1),nodeIds:t.z.array(t.z.string())});async function p(e){try{await (0,d.appendEvent)(e.graphId,(0,r.buildNodeStatusEvent)({actor:e.actor,nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,reason:e.reason,projectId:e.projectId}))}catch(e){console.error("Failed to append rejected node transition event",e)}}async function c(e){let t=await (0,n.authorizeGraphMutation)({request:e.request,taskId:e.taskId,action:e.action,requestedProjectId:e.requestedProjectId});if(!t.ok)return t.response;let c=await (0,d.getGraph)(e.taskId);if(!c)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Graph not found"},{status:404});let l=c.nodes[e.nodeId];if(!l)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Node not found"},{status:404});if(e.allowedFromStatuses&&!e.allowedFromStatuses.includes(l.status))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:`Rejected: node must be in one of [${e.allowedFromStatuses.join(", ")}] to ${e.action}`}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Cannot ${e.action} node ${e.nodeId}: current status is ${l.status}`},{status:400});try{(0,s.assertValidNodeStatusTransition)(l.type,l.status,e.targetStatus)}catch{return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected invalid transition"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Invalid node transition for ${e.nodeId}: ${l.status} -> ${e.targetStatus}`},{status:400})}if("gate"===l.type&&"pending"===l.status&&"passed"===e.targetStatus&&!function(e){if("gate"!==e.type)return!1;let t=e.verificationStrategy.checks??[];return"progress"===e.gateType&&0===t.length&&"auto"===e.verificationStrategy.type}(l))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected required gate bypass"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Required gate transition blocked for node ${e.nodeId}`},{status:400});try{let n={...e.patch??{},status:e.targetStatus};e.resetWorkAttempts&&"work"===l.type&&(n.configPatch={...n.configPatch??{},attempts:0});let s={[e.nodeId]:{...n}},u=await (0,d.updateNodeRuntime)(c.id,s,e.ifMatchGraphVersion??c.graphVersion),p=new Date().toISOString();if(await (0,d.appendEvent)(c.id,(0,r.buildNodeStatusEvent)({actor:t.actor,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:e.reason,timestamp:p,projectId:t.projectId})),("gate"===l.type||"node_verify"===e.action)&&("passed"===e.targetStatus||"failed"===e.targetStatus)){let a="passed"===e.targetStatus;(0,i.recordGateVerificationResult)(a),await (0,d.appendEvent)(c.id,(0,r.buildGateVerificationEvent)({actor:t.actor,nodeId:e.nodeId,timestamp:p,result:{passed:a,checks:e.gateChecks??[],verifiedAt:p,verifiedBy:"user"===t.actor.actorType?"human":"agent"},projectId:t.projectId}))}if(e.consumeVerifyBudget||"node_verify"===e.action){let a=Math.max(0,c.policy.verifyBudgetRemaining-1);await (0,d.appendEvent)(c.id,(0,r.buildBudgetConsumedEvent)({actor:t.actor,budgetType:"verify",remaining:a,triggerNodeId:e.nodeId,timestamp:p,projectId:t.projectId}))}return(0,o.jsonWithSchema)(a.NodeMutationResponseSchema,{graphId:c.id,nodeId:e.nodeId,graphVersion:u.graphVersion,updatedAt:u.updatedAt})}catch(e){if(e instanceof d.GraphVersionConflictError)return(0,o.graphConflictResponse)(e);if(e instanceof d.GraphNodeNotFoundError)return(0,o.jsonWithSchema)(u,{error:e.message,nodeIds:e.nodeIds},{status:404});return console.error("Error mutating node status:",e),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Failed to mutate node status"},{status:500})}}e.s(["applyNodeStatusMutation",()=>c])}];
45
45
 
46
46
  //# sourceMappingURL=src_graph_b63e2d39._.js.map