@mndrk/agx 2.0.48 → 2.0.49

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 (345) 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/server/app/_global-error.html +2 -2
  5. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  12. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/agents.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +13 -7
  34. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +2 -2
  83. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +14 -6
  85. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +13 -5
  87. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +3 -4
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +3 -4
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +3 -4
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +3 -4
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +3 -4
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +3 -4
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +4 -5
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +2 -2
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  154. package/cloud-runtime/standalone/.next/server/app/automations.rsc +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  162. package/cloud-runtime/standalone/.next/server/app/board.rsc +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  169. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  170. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +1 -1
  171. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
  175. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/folders.html +2 -2
  178. package/cloud-runtime/standalone/.next/server/app/folders.rsc +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  181. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/index.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  188. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  201. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/projects.rsc +1 -1
  205. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  209. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  212. package/cloud-runtime/standalone/.next/server/app/settings.rsc +1 -1
  213. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  220. package/cloud-runtime/standalone/.next/server/app/skills.rsc +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  228. package/cloud-runtime/standalone/.next/server/app/status.rsc +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  235. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  244. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a300f072._.js → [root-of-the-server]__02a4a323._.js} +2 -2
  245. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__05dedbe1._.js +64 -0
  246. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4ce74056._.js → [root-of-the-server]__05f0bfbf._.js} +2 -2
  247. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c22dd3a6._.js → [root-of-the-server]__08c82fe8._.js} +2 -2
  248. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fae531a._.js → [root-of-the-server]__09e37b59._.js} +2 -2
  249. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1a1f66b1._.js → [root-of-the-server]__0e83aabc._.js} +2 -2
  250. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__27da58f0._.js +67 -0
  251. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9ffa67b7._.js → [root-of-the-server]__2ae8b938._.js} +2 -2
  252. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2cfd21b8._.js +108 -0
  253. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f9f7f2df._.js → [root-of-the-server]__3c1403f2._.js} +2 -2
  254. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__143fdf69._.js → [root-of-the-server]__40e9e2e8._.js} +2 -2
  255. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42e602eb._.js +49 -0
  256. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a7b2350e._.js → [root-of-the-server]__456840d0._.js} +2 -2
  257. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5c2848bb._.js +64 -0
  258. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__667c658f._.js +52 -0
  259. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a92b882._.js +49 -0
  260. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c9baa7c._.js +64 -0
  261. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c21747df._.js → [root-of-the-server]__719eddc2._.js} +2 -2
  262. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__36d15de5._.js → [root-of-the-server]__7ee3dfe1._.js} +2 -2
  263. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d324f8a1._.js → [root-of-the-server]__80964fad._.js} +2 -2
  264. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__bab85495._.js → [root-of-the-server]__862cf77d._.js} +2 -2
  265. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a280fa63._.js → [root-of-the-server]__8b5b9860._.js} +2 -2
  266. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3170b7bf._.js → [root-of-the-server]__8d475640._.js} +2 -2
  267. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__958dded3._.js +49 -0
  268. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ab655b9f._.js → [root-of-the-server]__96c424d5._.js} +2 -2
  269. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5c55f67a._.js → [root-of-the-server]__976ebe46._.js} +2 -2
  270. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__179cb224._.js → [root-of-the-server]__a1cab8fe._.js} +2 -2
  271. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__20a2cb22._.js → [root-of-the-server]__a31dd756._.js} +2 -2
  272. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a3955224._.js → [root-of-the-server]__ad53dc3f._.js} +2 -2
  273. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ac6326b6._.js → [root-of-the-server]__b8eeb177._.js} +2 -2
  274. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcfa3690._.js → [root-of-the-server]__c10e827d._.js} +2 -2
  275. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e58e9f91._.js → [root-of-the-server]__c11e0040._.js} +2 -2
  276. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c40b6f69._.js +49 -0
  277. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c7d3c7ab._.js +52 -0
  278. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__cdc52544._.js +49 -0
  279. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8cbd8c56._.js → [root-of-the-server]__d1c698b6._.js} +12 -12
  280. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9ea98bd._.js +52 -0
  281. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ef27f8cd._.js → [root-of-the-server]__df886e3c._.js} +2 -2
  282. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ca4987eb._.js → [root-of-the-server]__e0b6f424._.js} +2 -2
  283. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8890cd6._.js → [root-of-the-server]__f43ecbc2._.js} +2 -2
  284. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f51c7b72._.js +5 -0
  285. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f662fd1e._.js +20 -0
  286. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__538b0bdd._.js → [root-of-the-server]__f961230c._.js} +2 -2
  287. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b627cb83._.js → [root-of-the-server]__feec5b54._.js} +2 -2
  288. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d16caed5._.js → [root-of-the-server]__ff6ce4b1._.js} +2 -2
  289. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9ce15e._.js +5 -0
  290. package/cloud-runtime/standalone/.next/server/chunks/_26ffc857._.js +121 -0
  291. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +1 -1
  292. package/cloud-runtime/standalone/.next/server/chunks/_66d0cf73._.js +6 -0
  293. package/cloud-runtime/standalone/.next/server/chunks/_9b10087f._.js +3 -2
  294. package/cloud-runtime/standalone/.next/server/chunks/_a13c0bef._.js +121 -0
  295. package/cloud-runtime/standalone/.next/server/chunks/{lib_98ae187c._.js → lib_2cd3429c._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/lib_a2a83df5._.js +55 -0
  297. package/cloud-runtime/standalone/.next/server/chunks/lib_a658c9ef._.js +34 -0
  298. package/cloud-runtime/standalone/.next/server/chunks/lib_ba38ea08._.js +55 -0
  299. package/cloud-runtime/standalone/.next/server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js +27 -29
  300. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +6 -102
  301. package/cloud-runtime/standalone/.next/server/chunks/src_graph_schedule-runner_ts_43a13c69._.js +13 -0
  302. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  303. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  304. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  305. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  306. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  307. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  308. package/cloud-runtime/standalone/.next/static/chunks/{442eb8ef62bef9f9.js → 5545da2ad239c0b6.js} +3 -3
  309. package/cloud-runtime/standalone/app/api/chat/route.ts +5 -163
  310. package/cloud-runtime/standalone/app/api/schedules/route.ts +11 -2
  311. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +0 -13
  312. package/cloud-runtime/standalone/lib/chat/project-context.ts +169 -0
  313. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +2 -0
  314. package/cloud-runtime/standalone/lib/orchestrator/schedule-runtime.ts +76 -0
  315. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +201 -16
  316. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +128 -35
  317. package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +4 -4
  318. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  319. package/cloud-runtime/standalone/vault/agx/issues/ESO-327/design-doc.md +202 -0
  320. package/cloud-runtime/standalone/worker/index.js +34516 -1717
  321. package/cloud-runtime/standalone/worker/index.ts +3 -0
  322. package/package.json +1 -1
  323. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +0 -67
  324. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__152b2000._.js +0 -61
  325. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__33865410._.js +0 -3
  326. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c53437e._.js +0 -110
  327. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6dbe939c._.js +0 -49
  328. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7012e83d._.js +0 -66
  329. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da645a5e._.js +0 -15
  330. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +0 -3
  331. package/cloud-runtime/standalone/.next/server/chunks/_2a5aeb76._.js +0 -3
  332. package/cloud-runtime/standalone/.next/server/chunks/_4689976f._.js +0 -6
  333. package/cloud-runtime/standalone/.next/server/chunks/_682c9d81._.js +0 -6
  334. package/cloud-runtime/standalone/.next/server/chunks/_6e7f0ae4._.js +0 -6
  335. package/cloud-runtime/standalone/.next/server/chunks/_a32a5cdd._.js +0 -6
  336. package/cloud-runtime/standalone/.next/server/chunks/_af7bd752._.js +0 -3
  337. package/cloud-runtime/standalone/.next/server/chunks/_fe32a267._.js +0 -3
  338. package/cloud-runtime/standalone/.next/server/chunks/lib_2492d514._.js +0 -55
  339. package/cloud-runtime/standalone/.next/server/chunks/lib_3c080873._.js +0 -34
  340. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +0 -70
  341. package/cloud-runtime/standalone/.next/server/chunks/src_graph_12d46a92._.js +0 -3
  342. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +0 -8
  343. /package/cloud-runtime/standalone/.next/static/{gty0FO80D_lbq3o9lSpQQ → ZkFZnP5h74O7GgdHudXgH}/_buildManifest.js +0 -0
  344. /package/cloud-runtime/standalone/.next/static/{gty0FO80D_lbq3o9lSpQQ → ZkFZnP5h74O7GgdHudXgH}/_clientMiddlewareManifest.json +0 -0
  345. /package/cloud-runtime/standalone/.next/static/{gty0FO80D_lbq3o9lSpQQ → ZkFZnP5h74O7GgdHudXgH}/_ssgManifest.js +0 -0
@@ -1,34 +0,0 @@
1
- module.exports=[65768,e=>{"use strict";var t=e.i(902157),r=e.i(660526),i=e.i(750227),o=e.i(666680),n=e.i(180228),a=e.i(965196);let d=process.env.AGX_VAULT_ROOT||i.default.join(process.env.AGX_DATA_DIR||i.default.join(r.default.homedir(),".agx"),"vault");function s(){return new Date().toISOString()}function l(e,t="item"){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function c(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):null}function u(e){t.default.mkdirSync(e,{recursive:!0})}function p(e){t.default.existsSync(e)&&t.default.rmSync(e,{recursive:!0,force:!0})}function f(e,r){if(!t.default.existsSync(e))return r;try{return JSON.parse(t.default.readFileSync(e,"utf8"))}catch{return r}}function g(e,r){u(i.default.dirname(e));let o=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(o,r,"utf8"),t.default.renameSync(o,e)}function m(e,t){g(e,`${JSON.stringify(t,null,2)}
2
- `)}function _(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function h(e){return String(e||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim()}function j(e,t,r){let i=(0,n.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),o=h(r);g(e,o?`---
3
- ${i}
4
- ---
5
- ${o}
6
- `:`---
7
- ${i}
8
- ---
9
- `)}function y(e){if(!t.default.existsSync(e))return null;let r=t.default.readFileSync(e,"utf8"),i=r.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!i)return{frontmatter:{},body:h(r)};let o=(0,n.load)(i[1]);return{frontmatter:_(o)?o:{},body:h(i[2]??"")}}function w(e){return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(t=>i.default.join(e,t.name)).sort((e,t)=>e.localeCompare(t)):[]}function k(e){let t=new Set,r=[];for(let i of e??[]){let e=String(i??"").trim().toLowerCase();!e||t.has(e)||(t.add(e),r.push(e))}return r}function b(e){let t=[];for(let r of e??[]){let e=String(r?.note??"").trim(),i="string"==typeof r?.id?r.id.trim():"";e&&t.push(i?{id:i,note:e}:{note:e})}return t}function v(e,t,r){return(0,o.createHash)("sha256").update(`${e}
10
- ${t}
11
- ${r}`).digest("hex")}function S(e){return[...e].sort((e,t)=>{let r=e.updatedAt||e.createdAt||"";return(t.updatedAt||t.createdAt||"").localeCompare(r)})}let D=new class{rootDir;constructor(e=d){this.rootDir=e}getRootDir(){return this.ensureRoot(),this.rootDir}registryPath(){return i.default.join(this.rootDir,".agx","registry.json")}globalDir(){return i.default.join(this.rootDir,"_global")}globalAgentsDir(){return i.default.join(this.globalDir(),"Agents")}globalImportedLearningsDir(){return i.default.join(this.globalDir(),"_generated","imported","learnings")}globalEvidenceDir(e){return i.default.join(this.globalDir(),"_generated","evidence",e)}globalPlaybookPath(){return i.default.join(this.globalDir(),"Playbook.md")}projectDir(e){return i.default.join(this.rootDir,e)}projectManifestPath(e){return i.default.join(this.projectDir(e),".agx","manifest.json")}projectContextPath(e){return i.default.join(this.projectDir(e),"Context","Project.md")}projectSkillsDir(e){return i.default.join(this.projectDir(e),"Context","Skills")}projectVariablesDir(e){return i.default.join(this.projectDir(e),"Context","Variables")}projectAgentsIndexPath(e){return i.default.join(this.projectDir(e),"Context","Agents","_index.md")}projectThreadsDir(e){return i.default.join(this.projectDir(e),"Threads")}repoDir(e,t){return i.default.join(this.projectDir(e),"Repos",t)}repoKnowledgePath(e,t){return i.default.join(this.repoDir(e,t),"Knowledge.md")}projectImportedDir(e,t){return i.default.join(this.projectDir(e),"_generated","imported",t)}projectEvidenceDir(e,t){return i.default.join(this.projectDir(e),"_generated","evidence",t)}ensureRoot(){u(i.default.join(this.rootDir,".agx")),u(this.globalDir()),u(this.globalAgentsDir()),u(this.globalImportedLearningsDir()),u(this.globalEvidenceDir("agent")),u(this.globalEvidenceDir("global")),t.default.existsSync(this.registryPath())||this.writeRegistry({version:1,updatedAt:s(),projects:[],agents:[]}),t.default.existsSync(i.default.join(this.globalDir(),"_Index.md"))||g(i.default.join(this.globalDir(),"_Index.md"),"# Global Knowledge\n\n- [[Playbook]]\n- [[Agents]]\n"),t.default.existsSync(this.globalPlaybookPath())||j(this.globalPlaybookPath(),{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:"playbook",slug:"playbook",title:"Playbook",created_at:s(),updated_at:s(),version:1},"")}readRegistry(){this.ensureRoot();let e={version:1,updatedAt:s(),projects:[],agents:[]},t=f(this.registryPath(),e);return Array.isArray(t.projects)||(t.projects=[]),Array.isArray(t.agents)||(t.agents=[]),t.version=1,t}writeRegistry(e){u(i.default.join(this.rootDir,".agx")),m(this.registryPath(),{version:1,updatedAt:s(),projects:[...e.projects].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...e.agents].sort((e,t)=>e.slug.localeCompare(t.slug))})}readManifest(e){return f(this.projectManifestPath(e),null)}writeManifest(e,t){m(this.projectManifestPath(e),{...t,version:1,updatedAt:s(),repos:[...t.repos].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...t.agents].sort((e,t)=>e.routing_order-t.routing_order),threads:[...t.threads].sort((e,t)=>e.created_at.localeCompare(t.created_at))})}findProjectRegistryEntry(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t||e.slug===t)??null:null}findProjectRegistryEntryById(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t)??null:null}findRepoEntry(e){let t=e.trim();if(!t)return null;for(let e of this.readRegistry().projects){let r=e.repos.find(e=>e.id===t);if(r)return{project:e,repo:r}}return null}findAgentEntry(e){let t=e.trim();return t?this.readRegistry().agents.find(e=>e.id===t||e.slug===t)??null:null}nextProjectSlug(e,t){let r=this.readRegistry(),i=l(e,"project"),o=i,n=1;for(;r.projects.some(e=>e.slug===o&&e.id!==t);)n+=1,o=`${i}-${n}`;return o}nextRepoSlug(e,t,r){let i=this.readManifest(e),o=l(t,"repo"),n=o,a=1;for(;i?.repos.some(e=>e.slug===n&&e.id!==r);)a+=1,n=`${o}-${a}`;return n}ensureProjectScaffold(e,r){let o=this.projectDir(e.slug);for(let n of(u(o),u(i.default.join(o,".agx")),u(i.default.join(o,"Context")),u(this.projectSkillsDir(e.slug)),u(this.projectVariablesDir(e.slug)),u(i.default.dirname(this.projectAgentsIndexPath(e.slug))),u(this.projectThreadsDir(e.slug)),u(i.default.join(o,"Repos")),u(this.projectImportedDir(e.slug,"project-memory")),u(this.projectImportedDir(e.slug,"learnings")),u(this.projectEvidenceDir(e.slug,"project")),u(this.projectEvidenceDir(e.slug,"repo")),u(this.projectEvidenceDir(e.slug,"agent")),r))u(this.repoDir(e.slug,n.slug)),u(this.projectImportedDir(e.slug,i.default.join("repo-knowledge",n.slug))),t.default.existsSync(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"))||g(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"),`# ${n.name}
12
-
13
- - [[Knowledge]]
14
- `),t.default.existsSync(this.repoKnowledgePath(e.slug,n.slug))||j(this.repoKnowledgePath(e.slug,n.slug),{id:n.id,type:"knowledge-note",scope:"repo",subject_id:n.id,project_id:e.id,repo_id:n.id,slug:n.slug,title:n.name,created_at:n.created_at,updated_at:n.updated_at,version:1},n.notes??"");t.default.existsSync(i.default.join(o,"_Index.md"))||g(i.default.join(o,"_Index.md"),`# ${e.name}
15
-
16
- - [[Overview]]
17
- - [[Architecture]]
18
- - [[Active Development]]
19
- - [[Design Decisions]]
20
- `),t.default.existsSync(i.default.join(o,"Overview.md"))||g(i.default.join(o,"Overview.md"),`# Overview
21
-
22
- ${e.description?.trim()||""}
23
- `),t.default.existsSync(i.default.join(o,"Architecture.md"))||g(i.default.join(o,"Architecture.md"),"# Architecture\n"),t.default.existsSync(i.default.join(o,"Active Development.md"))||g(i.default.join(o,"Active Development.md"),"# Active Development\n"),t.default.existsSync(i.default.join(o,"Design Decisions.md"))||g(i.default.join(o,"Design Decisions.md"),"# Design Decisions\n"),t.default.existsSync(this.projectContextPath(e.slug))||j(this.projectContextPath(e.slug),{id:e.id,type:"knowledge-note",scope:"project",subject_id:e.id,project_id:e.id,slug:e.slug,title:e.name,created_at:e.created_at,updated_at:e.updated_at,version:1},e.description?.trim()||""),t.default.existsSync(this.projectAgentsIndexPath(e.slug))||j(this.projectAgentsIndexPath(e.slug),{id:`project-agents:${e.id}`,type:"project-agents",project_id:e.id,title:`${e.name} Agents`,created_at:e.created_at,updated_at:e.updated_at,agents:[]},"# Project Agents\n")}toRegistryRepos(e){return e.map(e=>({id:e.id,slug:e.slug,name:e.name,path:e.path??null,git_url:e.git_url??null}))}updateProjectRegistryEntry(e,t){let r=this.readRegistry(),i={id:e.id,slug:e.slug,name:e.name,path:this.projectDir(e.slug),created_at:e.created_at,updated_at:e.updated_at,repos:this.toRegistryRepos(t)},o=r.projects.filter(t=>t.id!==e.id);o.push(i),this.writeRegistry({...r,projects:o})}removeProjectRegistryEntry(e){let t=this.readRegistry();this.writeRegistry({...t,projects:t.projects.filter(t=>t.id!==e)})}ensureAgentRegistryEntry(e,t){let r=this.readRegistry(),o=r.agents.find(t=>t.id===e);if(o)return o;let n=l(t||e,"agent"),a=s(),d={id:e,slug:n,name:t||e,path:i.default.join(this.globalAgentsDir(),`${n}.md`),created_at:a,updated_at:a};return this.writeRegistry({...r,agents:[...r.agents,d]}),d}updateAgentRegistryEntry(e,t){let r=this.readRegistry(),i=r.agents.find(t=>t.id===e);if(!i)return this.ensureAgentRegistryEntry(e,t);let o={...i,name:t,updated_at:s()};return this.writeRegistry({...r,agents:[...r.agents.filter(t=>t.id!==e),o]}),o}listProjects(e){return this.readRegistry().projects.map(t=>this.getProjectWithRepos(t.id,e)).filter(e=>!!e)}getProjectBySlug(e,t){let r=this.getProjectWithRepos(e,t);return r?{...r,repos:void 0}:null}getProjectRepos(e){let t=this.getProjectWithRepos(e);return t?.repos??[]}getProjectWithRepos(e,t){let r=this.findProjectRegistryEntry(e);if(!r)return null;let i=this.readManifest(r.slug);if(!i||t&&i.project.user_id&&i.project.user_id!==t)return null;let o=i.repos.map(e=>({id:e.id,project_id:e.project_id,name:e.name,path:e.path??"",git_url:e.git_url??void 0,notes:this.getKnowledgeNote("repo",e.id)?.content||"",created_at:e.created_at,updated_at:e.updated_at}));return{...i.project,repos:o}}createProject(e,t){let r=s(),i=this.nextProjectSlug(t.name||"project"),n={id:(0,o.randomUUID)(),user_id:e,name:t.name.trim(),slug:i,description:t.description?.trim()||"",metadata:{},workflow_id:t.workflow_id??null,created_at:r,updated_at:r},a=(t.repos??[]).map(e=>{let t=this.nextRepoSlug(n.slug,e.name||e.path||"repo");return{id:e.id?.trim()||(0,o.randomUUID)(),project_id:n.id,name:e.name.trim(),path:e.path??"",git_url:e.git_url??void 0,notes:e.notes??"",created_at:r,updated_at:r,slug:t}});for(let e of(this.ensureProjectScaffold(n,a),this.writeManifest(n.slug,{version:1,updatedAt:r,project:n,repos:a,agents:[],threads:[]}),this.updateProjectRegistryEntry(n,a),a))e.notes?.trim()&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:e.notes,changeSummary:"Initial repo note",sourceType:"manual",sourceId:"project-create",metadata:{project_id:n.id}});return this.getProjectWithRepos(n.id,e)}updateProject(e,r,i){let n=this.getProjectWithRepos(e,r);if(!n)return null;let a=this.readManifest(n.slug);if(!a)return null;let d=i.slug?.trim()?this.nextProjectSlug(i.slug.trim(),n.id):n.slug,l=s(),c={...a.project,name:"string"==typeof i.name&&i.name.trim()?i.name.trim():a.project.name,slug:d,description:void 0!==i.description?i.description??"":a.project.description??"",metadata:void 0!==i.metadata?i.metadata??{}:a.project.metadata??{},ci_cd_info:void 0!==i.ci_cd_info?i.ci_cd_info??void 0:a.project.ci_cd_info,workflow_id:void 0!==i.workflow_id?i.workflow_id??null:a.project.workflow_id,updated_at:l},u=a.repos;if(i.repos){let e=[],t=new Map(a.repos.map(e=>[e.id,e]));for(let r of i.repos){let i=r.id?t.get(r.id):void 0,a=i?.id||r.id?.trim()||(0,o.randomUUID)(),d=i?.slug||this.nextRepoSlug(c.slug,r.name||r.path||"repo",a);e.push({id:a,project_id:n.id,name:r.name.trim(),path:r.path??"",git_url:r.git_url??void 0,notes:r.notes??"",created_at:i?.created_at||l,updated_at:l,slug:d})}for(let t of a.repos)e.some(e=>e.id===t.id)||p(this.repoDir(n.slug,t.slug));u=e}for(let e of(d!==n.slug&&(p(this.projectDir(d)),t.default.renameSync(this.projectDir(n.slug),this.projectDir(d))),this.ensureProjectScaffold(c,u),this.writeManifest(c.slug,{version:1,updatedAt:l,project:c,repos:u,agents:a.agents,threads:a.threads}),this.updateProjectRegistryEntry(c,u),u)){let t=i.repos?.find(t=>(t.id||e.id)===e.id)?.notes;"string"==typeof t&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:t,changeSummary:"Repo note updated",sourceType:"manual",sourceId:"project-update",metadata:{project_id:c.id}})}return this.getProjectWithRepos(c.id,r)}deleteProject(e,t){let r=this.getProjectWithRepos(e,t);r&&(p(this.projectDir(r.slug)),this.removeProjectRegistryEntry(r.id))}getProjectAgents(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=y(this.projectAgentsIndexPath(t.slug));return[...Array.isArray(r?.frontmatter?.agents)?r.frontmatter.agents:[]].sort((e,t)=>e.routing_order-t.routing_order)}addProjectAgent(e,t,r){let i=this.findProjectRegistryEntryById(e);if(!i)throw Error("Project not found");let o=this.getProjectAgents(e).filter(e=>e.agent_id!==t),n=r??o.length,a=s();o.push({project_id:e,agent_id:t,routing_order:n,created_at:a});let d=o.sort((e,t)=>e.routing_order-t.routing_order).map((e,t)=>({...e,routing_order:t}));return this.writeProjectAgents(i.slug,e,d),d.find(e=>e.agent_id===t)}removeProjectAgent(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return;let i=this.getProjectAgents(e).filter(e=>e.agent_id!==t).map((e,t)=>({...e,routing_order:t}));this.writeProjectAgents(r.slug,e,i)}reorderProjectAgents(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return[];let i=new Map(this.getProjectAgents(e).map(e=>[e.agent_id,e])),o=t.map((e,t)=>{let r=i.get(e);return r?{...r,routing_order:t}:null}).filter(e=>!!e);return this.writeProjectAgents(r.slug,e,o),o}writeProjectAgents(e,t,r){let i=this.projectAgentsIndexPath(e),o=y(i),n=o?.frontmatter?.created_at||s();j(i,{id:o?.frontmatter?.id||`project-agents:${t}`,type:"project-agents",project_id:t,title:"Project Agents",created_at:n,updated_at:s(),agents:r},"# Project Agents\n");let a=this.readManifest(e);a&&this.writeManifest(e,{...a,agents:r})}getProjectSkills(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=[];for(let i of w(this.projectSkillsDir(t.slug))){let t=y(i);if(!t)continue;let o=String(t.frontmatter.id||"").trim(),n=String(t.frontmatter.file||"").trim(),a=String(t.frontmatter.created_at||"");o&&n&&r.push({id:o,project_id:String(t.frontmatter.project_id||e),file:n,condition:"string"==typeof t.frontmatter.condition?t.frontmatter.condition:void 0,created_at:a,updatedAt:a,createdAt:a})}return S(r).map(({updatedAt:e,createdAt:t,...r})=>r)}addProjectSkill(e,t,r){let n=this.findProjectRegistryEntryById(e);if(!n)throw Error("Project not found");let a=s(),d=(0,o.randomUUID)(),c=l(i.default.basename(t)||d,"skill");return j(i.default.join(this.projectSkillsDir(n.slug),`${c}-${d.slice(0,8)}.md`),{id:d,type:"project-skill",project_id:e,title:i.default.basename(t)||t,file:t,condition:r??null,created_at:a,updated_at:a},`# ${i.default.basename(t)||t}
24
- `),{id:d,project_id:e,file:t,condition:r,created_at:a}}removeProjectSkill(e){for(let r of this.readRegistry().projects)for(let i of w(this.projectSkillsDir(r.slug))){let r=y(i);if(r?.frontmatter?.id===e)return void t.default.unlinkSync(i)}}getProjectVariables(e){let t=this.findProjectRegistryEntryById(e);return t?w(this.projectVariablesDir(t.slug)).map(t=>{let r=y(t);return r?{project_id:String(r.frontmatter.project_id||e),key:String(r.frontmatter.key||""),value:String(r.frontmatter.value||"")}:null}).filter(e=>!!e?.key):[]}setProjectVariable(e,t,r){let o=this.findProjectRegistryEntryById(e);if(!o)throw Error("Project not found");let n=i.default.join(this.projectVariablesDir(o.slug),`${l(t,"var")}.md`),a=y(n),d=s();return j(n,{id:a?.frontmatter?.id||`project-variable:${e}:${t}`,type:"project-variable",project_id:e,title:t,key:t,value:r,created_at:a?.frontmatter?.created_at||d,updated_at:d},""),{project_id:e,key:t,value:r}}deleteProjectVariable(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=i.default.join(this.projectVariablesDir(o.slug),`${l(r,"var")}.md`);t.default.existsSync(n)&&t.default.unlinkSync(n)}getProjectMemory(e){let t=this.getKnowledgeNote("project",e);return t?.content.trim()?[{id:t.id,project_id:e,content:t.content,source:t.sourceType||"vault",producer:"human",created_at:t.updatedAt}]:[]}addProjectMemory(e,t,r,i="human"){let o=this.getKnowledgeNote("project",e)?.content??"",n=o.trim()?`${o.trim()}
25
-
26
- - ${t.trim().replace(/^\-\s*/,"")}`:t.trim(),{note:a}=this.upsertKnowledgeNote({scope:"project",subjectId:e,content:n,changeSummary:r||"Project memory updated",sourceType:"system"===i?"task_completion":"manual",sourceId:r||"manual-project-memory",metadata:{producer:i}});return{id:a.id,project_id:e,content:a.content,source:a.changeSummary||void 0,producer:i,created_at:a.updatedAt}}deleteProjectMemory(e){let t=this.findProjectRegistryEntryById(e);if(!t)return;let r=this.projectContextPath(t.slug),i=y(r);i&&j(r,{...i.frontmatter,updated_at:s()},"")}getProjectThreads(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=this.readManifest(t.slug);return r?.threads??[]}addProjectThread(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)throw Error("Project not found");let o=this.readManifest(r.slug);if(!o)throw Error("Project manifest missing");let n=o.threads.find(e=>e.thread_id===t);if(n)return n;let a=s(),d={project_id:e,thread_id:t,created_at:a};return j(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(t)}.md`),{id:`project-thread:${e}:${t}`,type:"project-thread",project_id:e,thread_id:t,title:t,created_at:a,updated_at:a},`# Thread ${t}
27
- `),this.writeManifest(r.slug,{...o,threads:[...o.threads,d]}),d}removeProjectThread(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=this.readManifest(o.slug);if(!n)return;let a=i.default.join(this.projectThreadsDir(o.slug),`${encodeURIComponent(r)}.md`);t.default.existsSync(a)&&t.default.unlinkSync(a),this.writeManifest(o.slug,{...n,threads:n.threads.filter(e=>e.thread_id!==r)})}getProjectForThread(e){for(let t of this.readRegistry().projects){let r=this.readManifest(t.slug);if(r?.threads.some(t=>t.thread_id===e))return r.project.id}return null}getKnowledgeNote(e,t){let r=this.resolveKnowledgeNotePath(e,t);if(!r)return null;let i=y(r.path);if(!i)return null;let o=i.frontmatter;return{id:String(o.id||t),scope:e,subjectId:t,content:i.body,changeSummary:"string"==typeof o.change_summary?o.change_summary:null,sourceType:"string"==typeof o.source_type?o.source_type:"manual",sourceId:"string"==typeof o.source_id?o.source_id:"vault",metadata:_(o.metadata)?o.metadata:{},version:"number"==typeof o.version?o.version:1,createdAt:"string"==typeof o.created_at?o.created_at:s(),updatedAt:"string"==typeof o.updated_at?o.updated_at:s()}}upsertKnowledgeNote(e){let t=this.resolveKnowledgeNotePath(e.scope,e.subjectId,{createIfMissing:!0});if(!t)throw Error(`Cannot resolve knowledge note for ${e.scope}:${e.subjectId}`);let r=this.getKnowledgeNote(e.scope,e.subjectId),i=h(e.content);if(r&&h(r.content)===i)return{note:r,changed:!1};let o=r?.createdAt||s(),n=(r?.version||0)+1,a={...t.frontmatter,updated_at:s(),created_at:o,source_type:e.sourceType,source_id:e.sourceId,change_summary:e.changeSummary??null,version:n,metadata:e.metadata??{}};j(t.path,a,i);let d=this.getKnowledgeNote(e.scope,e.subjectId);if(!d)throw Error("Failed to read knowledge note after write");return{note:d,changed:!0}}resolveKnowledgeNotePath(e,t,r){if("global"===e){let e=s();return this.ensureRoot(),{path:this.globalPlaybookPath(),frontmatter:{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:t||"playbook",slug:"playbook",title:"Playbook",created_at:e,updated_at:e}}}if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)return null;let r=s();return{path:this.projectContextPath(e.slug),frontmatter:{id:t,type:"knowledge-note",scope:"project",subject_id:t,project_id:t,slug:e.slug,title:e.name,created_at:r,updated_at:r}}}if("repo"===e){let e=this.findRepoEntry(t);if(!e)return null;let r=s();return{path:this.repoKnowledgePath(e.project.slug,e.repo.slug),frontmatter:{id:t,type:"knowledge-note",scope:"repo",subject_id:t,project_id:e.project.id,repo_id:t,slug:e.repo.slug,title:e.repo.name,created_at:r,updated_at:r}}}let i=this.findAgentEntry(t)??(r?.createIfMissing?this.ensureAgentRegistryEntry(t,t):null);if(!i)return null;let o=s();return{path:i.path,frontmatter:{id:t,type:"knowledge-note",scope:"agent",subject_id:t,agent_id:t,slug:i.slug,title:i.name,created_at:o,updated_at:o}}}listKnowledgeEntries(e){return S(this.knowledgeEntryFilesForScope(e.scope,e.subjectId).map(t=>{let r=y(t);return r?{id:String(r.frontmatter.id||""),scope:r.frontmatter.scope,subjectId:String(r.frontmatter.subject_id||e.subjectId),sourceType:r.frontmatter.source_type,sourceId:String(r.frontmatter.source_id||""),kind:r.frontmatter.kind,title:String(r.frontmatter.title||""),body:r.body,confidence:c(r.frontmatter.confidence),durability:c(r.frontmatter.durability),tags:k(r.frontmatter.tags),evidence:b(r.frontmatter.evidence),metadata:_(r.frontmatter.metadata)?r.frontmatter.metadata:{},createdAt:String(r.frontmatter.created_at||""),updatedAt:String(r.frontmatter.updated_at||"")}:null}).filter(e=>!!(e?.id&&e.body))).slice(0,e.limit??50)}storeKnowledgeEntries(e){let t=0;for(let r of e){let e=r.subjectId.trim(),i=r.title.trim(),n=r.body.trim(),a=r.sourceId.trim();if(!e||!i||!n||!a)continue;let d=v(r.scope,e,n);if(this.listKnowledgeEntries({scope:r.scope,subjectId:e,limit:500}).find(e=>e.metadata?.content_hash===d))continue;let l=this.nextKnowledgeEntryPath(r.scope,e,i),u=s();j(l,{id:(0,o.randomUUID)(),type:"knowledge-evidence",scope:r.scope,subject_id:e,source_type:r.sourceType,source_id:a,kind:r.kind,title:i,confidence:c(r.confidence),durability:c(r.durability),tags:k(r.tags),evidence:b(r.evidence),metadata:{...r.metadata??{},content_hash:d},content_hash:d,created_at:u,updated_at:u},n),t+=1}return t}knowledgeEntryFilesForScope(e,t){if("global"===e)return w(this.globalEvidenceDir("global"));if("agent"===e)return w(this.globalEvidenceDir("agent")).filter(e=>{let r=y(e);return r?.frontmatter?.subject_id===t});if("project"===e){let e=this.findProjectRegistryEntryById(t);return e?w(this.projectEvidenceDir(e.slug,"project")):[]}let r=this.findRepoEntry(t);return r?w(this.projectEvidenceDir(r.project.slug,"repo")).filter(e=>{let r=y(e);return r?.frontmatter?.subject_id===t}):[]}nextKnowledgeEntryPath(e,t,r){let n=(0,o.randomUUID)(),a=`${l(r,"entry")}-${n.slice(0,8)}.md`;if("global"===e)return i.default.join(this.globalEvidenceDir("global"),a);if("agent"===e)return i.default.join(this.globalEvidenceDir("agent"),a);if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)throw Error("Project not found for knowledge entry");return i.default.join(this.projectEvidenceDir(e.slug,"project"),a)}let d=this.findRepoEntry(t);if(!d)throw Error("Repo not found for knowledge entry");return i.default.join(this.projectEvidenceDir(d.project.slug,"repo"),a)}getLearnings(e,t){if("task"===e)return[];if("global"===e){let e=this.getKnowledgeNote("global","playbook");return e?.content.trim()?[{id:e.id,scope:"global",scope_id:void 0,content:e.content,created_at:e.updatedAt}]:[]}if(!t)return[];let r=this.getKnowledgeNote("project",t);return r?.content.trim()?[{id:r.id,scope:"project",scope_id:t,content:r.content,created_at:r.updatedAt}]:[]}addLearning(e,t,r){if("task"===e)throw Error("Task learnings are not handled by VaultStore");let i="global"===e?"global":"project",o="global"===e?"playbook":String(r||"").trim();if(!o)throw Error("scopeId is required for project learnings");let n=this.getKnowledgeNote(i,o)?.content??"",a=`- ${t.trim().replace(/^\-\s*/,"")}`,d=n.trim()?`${n.trim()}
28
- ${a}`:a,{note:s}=this.upsertKnowledgeNote({scope:i,subjectId:o,content:d,changeSummary:"Learning added",sourceType:"manual",sourceId:"manual-learning",metadata:{scope:e}});return{id:s.id,scope:e,scope_id:r,content:s.content,created_at:s.updatedAt}}deleteLearning(e,t,r){if("task"===t)return;let i="global"===t?"playbook":String(r||"").trim();if(!i)return;let o=this.getKnowledgeNote("global"===t?"global":"project",i);o&&o.id===e&&this.upsertKnowledgeNote({scope:"global"===t?"global":"project",subjectId:i,content:"",changeSummary:"Learning cleared",sourceType:"manual",sourceId:"manual-learning-delete",metadata:{scope:t}})}migrateFromLegacyDb(){this.ensureRoot();let e=(0,a.getSQLiteDb)(),t=s(),r=t=>!!e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name = ? LIMIT 1").get(t),o=t=>r(t)?e.prepare(`SELECT * FROM ${t}`).all():[],n=o("projects"),d=o("project_repos"),c=o("project_agents"),u=o("project_skills"),f=o("project_variables"),g=o("project_threads"),m=o("project_memory"),_=r("repo_knowledge")?e.prepare("SELECT id, repo_id, content, producer, created_at FROM repo_knowledge").all():[],h=r("knowledge_notes")?e.prepare("SELECT * FROM knowledge_notes").all():[],y=r("knowledge_entries")?e.prepare("SELECT * FROM knowledge_entries").all():[],w=o("learnings"),k=o("agents"),b=r("agent_memory")?e.prepare("SELECT * FROM agent_memory").all():[];p(this.rootDir),this.ensureRoot();let S=w.filter(e=>"global"===e.scope),D=S.map(e=>`- ${e.content.trim().replace(/^\-\s*/,"")}`).join("\n");this.upsertKnowledgeNote({scope:"global",subjectId:"playbook",content:D,changeSummary:"Imported from legacy learnings",sourceType:"task_completion",sourceId:"vault-import",metadata:{imported_at:t}});let P=0,A=0;for(let e of S)j(i.default.join(this.globalImportedLearningsDir(),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),P+=1;for(let e of k){let r=h.find(t=>"agent"===t.scope&&t.subject_id===e.id),i=r?.content?.trim()||this.synthesizeAgentNote(e.id,b,y),o=this.updateAgentRegistryEntry(e.id,e.name);j(o.path,{id:e.id,type:"knowledge-note",scope:"agent",subject_id:e.id,agent_id:e.id,slug:o.slug,title:e.name,created_at:r?.created_at||e.created_at||t,updated_at:r?.updated_at||e.updated_at||t,source_type:r?.source_type||"task_completion",source_id:r?.source_id||"vault-import",change_summary:r?.change_summary||"Imported from legacy agent knowledge",version:r?.version||1,metadata:r?.metadata?JSON.parse(r.metadata):{}},this.composeAgentNoteBody(e.name,e.description,i))}for(let e of n){let r={id:e.id,user_id:e.user_id,name:e.name,slug:e.slug||this.nextProjectSlug(e.name||e.id,e.id),description:e.description??"",metadata:e.metadata??{},ci_cd_info:e.ci_cd_info??void 0,workflow_id:e.workflow_id??null,created_at:e.created_at||t,updated_at:e.updated_at||t},o=d.filter(t=>t.project_id===e.id).map(e=>({...e,slug:this.nextRepoSlug(r.slug,e.name||e.path||e.id,e.id)}));this.ensureProjectScaffold(r,o),this.writeManifest(r.slug,{version:1,updatedAt:t,project:r,repos:o,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order),threads:g.filter(e=>e.project_id===r.id)}),this.updateProjectRegistryEntry(r,o);let n=h.find(e=>"project"===e.scope&&e.subject_id===r.id),a=n?.content?.trim()||this.synthesizeProjectNote(r.id,m,y);for(let e of(this.upsertKnowledgeNote({scope:"project",subjectId:r.id,content:a,changeSummary:n?.change_summary||"Imported from legacy project knowledge",sourceType:n?.source_type||"task_completion",sourceId:n?.source_id||"vault-import",metadata:n?.metadata?JSON.parse(n.metadata):{imported_at:t}}),j(this.projectContextPath(r.slug),{id:r.id,type:"knowledge-note",scope:"project",subject_id:r.id,project_id:r.id,slug:r.slug,title:r.name,created_at:n?.created_at||r.created_at,updated_at:n?.updated_at||r.updated_at,source_type:n?.source_type||"task_completion",source_id:n?.source_id||"vault-import",change_summary:n?.change_summary||"Imported from legacy project knowledge",version:n?.version||1,metadata:n?.metadata?JSON.parse(n.metadata):{}},a),w.filter(e=>"project"===e.scope&&e.scope_id===r.id)))j(i.default.join(this.projectImportedDir(r.slug,"learnings"),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,project_id:r.id,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),P+=1;for(let e of m.filter(e=>e.project_id===r.id))j(i.default.join(this.projectImportedDir(r.slug,"project-memory"),`${l(e.id,"memory")}.md`),{id:e.id,type:"imported-artifact",source_table:"project_memory",source_row_id:e.id,project_id:r.id,producer:e.producer,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{source:e.source??null}},e.content),P+=1;for(let e of o){let o=h.find(t=>"repo"===t.scope&&t.subject_id===e.id),n=o?.content?.trim()||this.synthesizeRepoNote(e.id,_,y);for(let a of(j(this.repoKnowledgePath(r.slug,e.slug),{id:e.id,type:"knowledge-note",scope:"repo",subject_id:e.id,project_id:r.id,repo_id:e.id,slug:e.slug,title:e.name,created_at:o?.created_at||e.created_at,updated_at:o?.updated_at||e.updated_at,source_type:o?.source_type||"task_completion",source_id:o?.source_id||"vault-import",change_summary:o?.change_summary||"Imported from legacy repo knowledge",version:o?.version||1,metadata:o?.metadata?JSON.parse(o.metadata):{}},n),e.notes?.trim()&&(j(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(e.id,"repo-notes")}-project-repos-notes.md`),{id:`${e.id}:project_repos.notes`,type:"imported-artifact",source_table:"project_repos",source_row_id:e.id,project_id:r.id,repo_id:e.id,created_at:e.updated_at||e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.notes),P+=1),_.filter(t=>t.repo_id===e.id)))j(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(a.id,"repo-knowledge")}.md`),{id:a.id,type:"imported-artifact",source_table:"repo_knowledge",source_row_id:a.id,project_id:r.id,repo_id:e.id,producer:a.producer,created_at:a.created_at||t,updated_at:a.created_at||t},a.content),P+=1}for(let e of u.filter(e=>e.project_id===r.id))j(i.default.join(this.projectSkillsDir(r.slug),`${l(i.default.basename(e.file)||e.id,"skill")}-${e.id.slice(0,8)}.md`),{id:e.id,type:"project-skill",project_id:r.id,title:i.default.basename(e.file)||e.file,file:e.file,condition:e.condition??null,created_at:e.created_at||t,updated_at:e.created_at||t},`# ${i.default.basename(e.file)||e.file}
29
- `);for(let e of f.filter(e=>e.project_id===r.id))j(i.default.join(this.projectVariablesDir(r.slug),`${l(e.key,"var")}.md`),{id:`project-variable:${r.id}:${e.key}`,type:"project-variable",project_id:r.id,title:e.key,key:e.key,value:e.value,created_at:t,updated_at:t},"");for(let e of(j(this.projectAgentsIndexPath(r.slug),{id:`project-agents:${r.id}`,type:"project-agents",project_id:r.id,title:"Project Agents",created_at:r.created_at,updated_at:r.updated_at,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order)},"# Project Agents\n"),g.filter(e=>e.project_id===r.id)))j(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(e.thread_id)}.md`),{id:`project-thread:${r.id}:${e.thread_id}`,type:"project-thread",project_id:r.id,thread_id:e.thread_id,title:e.thread_id,created_at:e.created_at||t,updated_at:e.created_at||t},`# Thread ${e.thread_id}
30
- `)}for(let e of y)j(this.nextKnowledgeEntryPath(e.scope,e.subject_id,e.title||e.id),{id:e.id,type:"knowledge-evidence",scope:e.scope,subject_id:e.subject_id,source_type:e.source_type,source_id:e.source_id,kind:e.kind,title:e.title,confidence:e.confidence,durability:e.durability,tags:e.tags?JSON.parse(e.tags):[],evidence:e.evidence?JSON.parse(e.evidence):[],metadata:e.metadata?JSON.parse(e.metadata):{},content_hash:e.content_hash||v(e.scope,e.subject_id,e.body),created_at:e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.body),A+=1;return{projects:n.length,repos:d.length,agents:k.length,importedArtifacts:P,evidenceFiles:A}}composeAgentNoteBody(e,t,r){let i=[`# ${e}`];return t?.trim()&&i.push(`## Identity
31
- ${t.trim()}`),r.trim()&&i.push(`## Portable Knowledge
32
- ${r.trim()}`),i.join("\n\n")}synthesizeProjectNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.project_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"project"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeRepoNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.repo_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"repo"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeAgentNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.agent_id===e).map(e=>e.content.trim()),...r.filter(t=>"agent"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}};e.s(["vaultStore",0,D])},648392,e=>{"use strict";var t=e.i(65768);function r(e){return t.vaultStore.listKnowledgeEntries(e)}function i(e){return t.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>r,"storeKnowledgeEntries",()=>i])},445491,592508,129264,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(965196);return t()}e.i(686213),e.s(["createAdminDbClient",()=>t],445491);let r="Waiting on dependencies";function i(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),i=`${r}: ${t.join(", ")}`;return e.length>3&&(i+=` +${e.length-3} more`),i}function o(e){return"string"==typeof e&&e.startsWith(r)}e.s(["formatDependencyBlockedReason",()=>i,"isDependencyBlockedReason",()=>o],592508);let n=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class a extends Error{}function d(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>n.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function s(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,i="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||i.includes(`relation "${t}" does not exist`)||i.includes(`Could not find the table 'agx.${t}'`)||i.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new a(`Missing relation: ${e}`);throw t}async function l(e){let r=t(),{data:i,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await s("notification_webhooks",o),i)?(Array.isArray(i)?i:[i]).map(d):[]}async function c(e){if(!e.userId)return;let t=[];try{t=await l(e.userId)}catch(e){if(e instanceof a)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let i=e.timestamp||new Date().toISOString(),o={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:i,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",()=>c],129264)},699904,e=>{"use strict";var t=e.i(445491),r=e.i(592508),i=e.i(129264),o=e.i(254799),n=e.i(65768);function a(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function d(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(a(o,"user_settings"))return null;throw o}return i||null}async function s(e,r,i){let o=i?.onlyIfNewer!==!1,n=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),a=await d(e);if(o&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(n);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let s={user_id:e,default_provider:r.default_provider??a?.default_provider??null,models:r.models??a?.models??{},provenance:r.provenance,changed_at:n},l=(0,t.createAdminDbClient)(),{error:c}=await l.from("user_settings").upsert(s,{onConflict:"user_id"});if(c)throw c;let u=await d(e);if(!u)throw Error("Failed to load user_settings after upsert");return{settings:u,updated:!0}}function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function c(e,t){let r=l(e);for(let i=0;i<5;i++){let{data:i,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!i||0===i.length)return r;let n=Math.random().toString(36).slice(2,6);r=`${l(e)}-${n}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function u(e,t,r,i){let o=l(e);for(let n=0;n<5;n++){let n=r.from("projects").select("id").eq("slug",o).eq("user_id",t);i&&(n=n.neq("id",i));let{data:a,error:d}=await n.limit(1);if(d)throw d;if(!a||0===a.length)return o;let s=Math.random().toString(36).slice(2,6);o=`${l(e)}-${s}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function p(e){return e??(0,t.createAdminDbClient)()}function f(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function g(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=f(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function m(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let i=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===i){r[i]=f(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o):r[i]=o}}return{frontmatter:r,body:t[2]}}async function _(e,t,r){if(!e||!t?.length)return;let i=p(r),o=new Set,n=[...t];for(;n.length;){let t=n.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(o.has(t))continue;o.add(t);let{data:r,error:a}=await i.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(a){if("PGRST116"===a.code||"42703"===a.code)continue;throw a}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!o.has(e)&&n.push(e)}}function h(e){let{body:t}=m(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function j(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function y(e,i){let o=Array.isArray(e.depends_on)?e.depends_on:[];if(!o.length)return;let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("tasks").select("id, title, slug, status, stage").in("id",o);if(d)return;let s=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(s.length){let t=(0,r.formatDependencyBlockedReason)(s),o=n.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);i&&(o=o.eq("user_id",i));let{error:a}=await o;if(a&&"42703"!==a.code)throw a;return}if("blocked"===e.status&&(0,r.isDependencyBlockedReason)(e.blocked_reason)){let t=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);i&&(t=t.eq("user_id",i));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function w(e,r){console.log("getTasks called with userId:",e);let i=(0,t.createAdminDbClient)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(i=i.eq("user_id",e)),r?.project&&(i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?i.eq("project_id",r.project):i.eq("project",r.project)),r?.orphan&&(i=i.is("project_id",null)),r?.status&&(i=i.eq("status",r.status)),r?.search){let e=r.search;i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?i.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):i.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:n}=await i;if(n)throw n;let a=o||[];return r?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function k(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("id",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function b(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function v(e,r,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(e),l="boolean"==typeof d.swarm?d.swarm:void 0,u=n?.title||h(e),p=String(d.slug||u||"task"),f=await c(p,a),w=n?.projectId||("string"==typeof d.project_id?d.project_id:void 0),b="string"==typeof d.workflow_id?d.workflow_id:void 0,v="string"==typeof d.project?d.project:void 0;if(!v&&w){let e=await $(w);e?.slug&&(v=e.slug)}/^---\n/.test(e);let S="string"==typeof d.provider?d.provider:null,D="string"==typeof d.model?d.model:null,P="string"==typeof d.engine?d.engine:null,A="ai"===d.created_by?"ai":"user",I=g(d.depends_on),C=g(n?.dependsOn),q=C.length>0?C:I,R={id:(0,o.randomUUID)(),content:e,description:j(s),title:u,slug:f,status:d.status||"queued",stage:d.stage||"intake",project:v||null,...void 0!==w?{project_id:w}:{},...void 0!==b?{workflow_id:b}:{},priority:d.priority,engine:P,provider:S,model:D,swarm:l,swarm_models:n?.swarmModels??null,depends_on:q.length?q:null,created_by:A,user_id:r,current_plan:n?.currentPlan||null,open_blockers:n?.openBlockers||[],next_action:n?.nextAction||null,version:1};await _(R.id,q,a);let{data:E,error:T}=await a.from("tasks").insert(R).select().single();if(T&&"42703"===T.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:o,next_action:n,version:d,depends_on:s,...l}=R;({data:E,error:T}=await a.from("tasks").insert(l).select().single())}if(T)throw T;if(!E)throw Error("Failed to create task");await y(E,r);let x=await k(E.id,r)||E,N=r||x.user_id;if(N){let e=x.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(x.depends_on)?x.depends_on:[],project:x.project||null,projectId:x.project_id||null,workflowId:x.workflow_id||null,createdBy:x.created_by||null};(0,i.notifyTaskEvent)({taskId:x.id,userId:N,eventType:"task.created",title:x.title||null,slug:x.slug||null,stage:x.stage||null,status:x.status||null,timestamp:e,details:t})}return x}async function S(e,r,o,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(r),l="boolean"==typeof d.swarm?d.swarm:void 0,c=h(r),u="string"==typeof d.project_id?d.project_id:void 0,p=Object.prototype.hasOwnProperty.call(d,"provider"),f=Object.prototype.hasOwnProperty.call(d,"model"),w=Object.prototype.hasOwnProperty.call(d,"workflow_id"),b=Object.prototype.hasOwnProperty.call(d,"depends_on"),v=g(d.depends_on),S=g(n?.dependsOn),D=n?.dependsOn!==void 0||b,P=n?.dependsOn!==void 0?S:v,A={content:r,description:j(s),title:c,status:d.status,stage:d.stage,project:d.project,...void 0!==u?{project_id:u}:{},workflow_id:w?d.workflow_id:void 0,priority:d.priority,engine:d.engine,provider:p?d.provider:null,model:f?d.model:null,swarm:l,swarm_models:n?.swarmModels??void 0,...D?{depends_on:P.length?P:null}:{},updated_at:new Date().toISOString(),current_plan:n?.currentPlan??void 0,open_blockers:n?.openBlockers??void 0,next_action:n?.nextAction??void 0};Object.keys(A).forEach(e=>{void 0===A[e]&&delete A[e]}),D&&await _(e,P,a);let I=a.from("tasks").update({...A,version:a.rpc("increment_version")}).eq("id",e);o&&(I=I.eq("user_id",o)),n?.expectedVersion!==void 0&&(I=I.eq("version",n.expectedVersion));let{data:C,error:q}=await a.from("tasks").update({...A}).eq("id",e).select().maybeSingle();if(q&&console.error(`[db.updateTask] error updating task ${e}:`,q),C||q||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(A)),q&&"42703"===q.code){let{swarm_models:t,swarm:r,workflow_id:i,current_plan:n,open_blockers:d,next_action:s,version:l,depends_on:c,...u}=A,p=a.from("tasks").update(u).eq("id",e);o&&(p=p.eq("user_id",o)),{data:C,error:q}=await p.select().maybeSingle()}if(q)throw q;if(!C){let t=await k(e,o);if(!t)throw Error(`Task ${e} not found`);return t}await y(C,o);let R=await k(C.id,o)||C,$=o||R.user_id;if($){let e=R.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(R.depends_on)?R.depends_on:[],project:R.project||null,projectId:R.project_id||null,workflowId:R.workflow_id||null,createdBy:R.created_by||null};(0,i.notifyTaskEvent)({taskId:R.id,userId:$,eventType:"task.created",title:R.title||null,slug:R.slug||null,stage:R.stage||null,status:R.status||null,timestamp:e,details:t})}return R}async function D(e,r,i=25){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let d=[r,...Array.isArray(n.run_index)?n.run_index:[]].slice(0,i),{error:s}=await o.from("tasks").update({run_index:d}).eq("id",e);if(s){if(s?.code==="42703")return;throw s}}async function P(e,r){let i=(0,t.createAdminDbClient)().from("tasks").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function A(e){let r=(0,t.createAdminDbClient)().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:i,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return i}async function I(e){let r=(0,t.createAdminDbClient)().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e));let{data:i,error:o}=await r;if(o){if(a(o,"projects"))return[];throw o}return(i||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function C(e,r){let i=(0,t.createAdminDbClient)().from("projects").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"projects"))return null;throw n}return o||null}async function q(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(a(o,"project_repos"))return[];throw o}return i||[]}let R=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function $(e,r){let i=(0,t.createAdminDbClient)(),o=R.test(e),n=i.from("projects").select("*");n=o?n.eq("id",e):n.eq("slug",e),r&&(n=n.eq("user_id",r));let d=await n.maybeSingle();if(d.error){if(a(d.error,"projects"))return null;throw d.error}let s=d.data;if(!s)return null;let l=await q(s.id);return{...s,repos:l}}async function E(e,t,r){if(!t.length)return[];let i=t.map(t=>({...t.id?{id:t.id}:{},project_id:e,name:t.name,path:t.path??null,git_url:t.git_url??null,notes:t.notes??null})),{data:o,error:n}=await r.from("project_repos").insert(i).select("*");if(n){if(a(n,"project_repos"))return[];throw n}return o||[]}async function T(e,t,r){if(!t.name?.trim())throw Error("Project name is required");let i=p(r),o=t.name.trim()||"project",n=await u(o,e,i),a={user_id:e,name:t.name.trim(),slug:n,description:t.description??null,workflow_id:t.workflow_id??null},{data:d,error:s}=await i.from("projects").insert(a).select("*").single();if(s)throw s;let l=await E(d.id,t.repos??[],i);return{...d,repos:l}}async function x(e,t,r,i){let o=p(i),n=R.test(e),d=e;if(!n){let r=await C(e,t);if(!r)return null;d=r.id}let s={};if(void 0!==r.name){let e=r.name?.trim();if(!e)throw Error("Project name cannot be empty");s.name=e}if(void 0!==r.slug){let e=r.slug?.trim();e&&(s.slug=e)}if(void 0!==r.description&&(s.description=r.description),void 0!==r.metadata&&(s.metadata=r.metadata),void 0!==r.ci_cd_info&&(s.ci_cd_info=r.ci_cd_info),void 0!==r.workflow_id&&(s.workflow_id=r.workflow_id),Object.keys(s).length){let{error:e}=await o.from("projects").update(s).eq("id",d).eq("user_id",t);if(e)throw e}if(r.repos){let{data:e,error:t}=await o.from("project_repos").select("*").eq("project_id",d);if(t&&!a(t,"project_repos"))throw t;let i=e||[],n=new Set(i.map(e=>e.id)),s=new Set(r.repos.map(e=>e.id).filter(e=>!!e));for(let e of i){if(s.has(e.id))continue;let{error:t}=await o.from("project_repos").delete().eq("id",e.id).eq("project_id",d);if(t&&!a(t,"project_repos"))throw t}for(let e of r.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:d};if(e.id&&n.has(e.id)){let{error:r}=await o.from("project_repos").update(t).eq("id",e.id).eq("project_id",d);if(r&&!a(r,"project_repos"))throw r;continue}let{error:r}=await o.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!a(r,"project_repos"))throw r}}return $(d,t)}async function N(e,t,r){let i=p(r),{error:o}=await i.from("projects").delete().eq("id",e).eq("user_id",t);if(o)throw o}async function O(e,t,r){let i=p(r),o=await $(e,t);if(!o)throw Error("Project not found");let{data:n,error:a}=await i.from("tasks").select("id, project").eq("user_id",t).is("project_id",null);if(a)throw a;let d=String(o.slug||"").trim().toLowerCase(),s=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!s.length)return{updatedCount:0,taskIds:[]};let{error:l}=await i.from("tasks").update({project:o.slug,project_id:o.id,updated_at:new Date().toISOString()}).eq("user_id",t).is("project_id",null).in("id",s);if(l)throw l;return{updatedCount:s.length,taskIds:s}}let M="00000000-0000-0000-0000-000000000001",K=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],B=new Map(K.map(e=>[e.id,e]));async function L(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("workflows").upsert({id:M,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(i)throw i;let{error:o}=await r.from("workflow_nodes").upsert(K.map(e=>({...e,workflow_id:M,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:n}=await r.from("workflow_transitions").upsert([{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(n)throw n}async function F(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(a(o,"workflows"))return[];throw o}return i||[]}async function W(e,r){let i=(0,t.createAdminDbClient)().from("workflows").select("*").eq("id",e),{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"workflows"))return null;throw n}return o}async function U(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};void 0!==i.definition&&(n.definition=i.definition),void 0!==i.name&&(n.name=i.name),void 0!==i.description&&(n.description=i.description);let{data:a,error:d}=await o.from("workflows").update(n).eq("id",e).select().single();if(d)throw d;return a}async function V(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(a(o,"workflow_nodes"))return[];throw o}return i||[]}async function G(e,r,i){let o=(0,t.createAdminDbClient)();if(e===M&&await L(r),!await W(e,r))throw Error("Workflow not found");if(e===M){let t=i.map(t=>{let r=B.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return V(e)}return await Promise.all(i.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:i}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),V(e)}async function J(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(n){if(a(n,"workflow_nodes"))return null;throw n}return o}async function z(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(a(o,"workflow_transitions"))return[];throw o}return i||[]}async function H(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(n){if(a(n,"workflow_transitions"))return[];throw n}return o||[]}async function Q(e,t){let r=await W(e,t);if(!r)return null;let[i,o]=await Promise.all([V(e),z(e)]);return{...r,nodes:i,transitions:o}}async function X(e,r={}){let i=(0,t.createAdminDbClient)(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),n="string"==typeof r.after&&r.after.trim()?r.after.trim():null,a=n?null:void 0===r.tail?o:Number(r.tail),d=null!==a&&Number.isFinite(a)&&a>0,s=i.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(s=s.eq("node_id",r.nodeId)),s=n?s.gt("created_at",n).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):d?s.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):s.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await s;if(c)throw c;let u=l||[];return n?u:d?u.slice().reverse():u}async function Y(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_logs").insert({task_id:e,content:r,log_type:i,...o?{node_id:o}:{}}).select().single();if(d)throw d;return a}function Z(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function ee(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function et(e){let r=(0,t.createAdminDbClient)(),i={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:Z(e.inputTokens),output_tokens:Z(e.outputTokens),estimated_cost:ee(e.estimatedCost)},{data:o,error:n}=await r.from("task_costs").insert(i).select().single();if(n)throw n;return o}async function er(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return i||[]}async function ei(e){return function(e){let t={},r=0,i=0,o=0;for(let n of e){let e=n.stage||"unknown",a=Z(n.input_tokens),d=Z(n.output_tokens),s=ee(n.estimated_cost??0);r+=a,i+=d,o+=s;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=a,l.output_tokens+=d,l.estimated_cost+=s,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}(await er(e))}async function eo(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return i||[]}async function en(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_comments").insert({task_id:e,content:r,author_type:i,author_id:o??null}).select().single();if(d)throw d;return a}async function ea(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("task_comments").select("author_id, author_type").eq("id",e).single();if(n)throw n;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:a}=await i.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function ed(e,r,i){if("task"!==e)return n.vaultStore.getLearnings(e,r);let o=(0,t.createAdminDbClient)().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),i&&(o=o.eq("user_id",i));let{data:a,error:d}=await o;if(d)throw d;return a||[]}async function es(e,r,i,o){if("task"!==e)return n.vaultStore.addLearning(e,r,i);let a=(0,t.createAdminDbClient)(),{data:d,error:s}=await a.from("learnings").insert({scope:e,scope_id:i,content:r,user_id:o}).select().single();if(s)throw s;return d}async function el(e,r){if("global-playbook"===e)return void n.vaultStore.deleteLearning(e,"global");let i=await $(e,r);if(i)return void n.vaultStore.deleteLearning(e,"project",i.id);let o=(0,t.createAdminDbClient)().from("learnings").delete().eq("id",e);r&&(o=o.eq("user_id",r));let{error:a}=await o;if(a)throw a}async function ec(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});i=e?i.or(`user_id.eq.${e},is_default.eq.true`):i.eq("is_default",!0);let{data:o,error:n}=await i;if(n)throw n;return o||[]}async function eu(e,r,i){let o=(0,t.createAdminDbClient)();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:n}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("is_default",!0).single();return n||null}async function ep(e,r,i=[],o,n,a){let d=(0,t.createAdminDbClient)(),s={stage:e,prompt:r,outputs:i,user_id:o,is_default:!o,workflow_id:a};n&&(void 0!==n.swarm&&(s.swarm=n.swarm),void 0!==n.provider&&(s.provider=n.provider),void 0!==n.model&&(s.model=n.model),void 0!==n.swarm_models&&(s.swarm_models=n.swarm_models));let{data:l,error:c}=await d.from("stage_prompts").upsert(s,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function ef(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function eg(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(a(o,"agents"))return[];throw o}return i||[]}async function em(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(n){if("PGRST116"===n.code||a(n,"agents"))return null;throw n}return o}async function e_(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"agent_skills"))return[];throw o}return i||[]}async function eh(e,r){let i=(0,t.createAdminDbClient)(),o={user_id:e,name:r.name,style:r.style,description:r.description??null};void 0!==r.id&&(o.id=r.id),void 0!==r.title&&(o.title=r.title),void 0!==r.voice&&(o.voice=r.voice),void 0!==r.seed&&(o.seed=r.seed),void 0!==r.model&&(o.model=r.model),void 0!==r.provider&&(o.provider=r.provider),void 0!==r.color&&(o.color=r.color);let{data:n,error:d}=await i.from("agents").insert(o).select().single();if(d){if(a(d,"agents"))throw Error("Agents table does not exist");throw d}return n}async function ej(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};if(void 0!==i.name&&(n.name=i.name),void 0!==i.title&&(n.title=i.title),void 0!==i.style&&(n.style=i.style),void 0!==i.description&&(n.description=i.description),void 0!==i.voice&&(n.voice=i.voice),void 0!==i.seed&&(n.seed=i.seed),void 0!==i.model&&(n.model=i.model),void 0!==i.provider&&(n.provider=i.provider),void 0!==i.color&&(n.color=i.color),1===Object.keys(n).length)return em(e,r);let{data:d,error:s}=await o.from("agents").update(n).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||a(s,"agents"))return null;throw s}return d}async function ey(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!a(o,"agents"))throw o}async function ew(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(a(o,"project_agents"))return[];throw o}return i||[]}async function ek(e,r,i){let o=(0,t.createAdminDbClient)();if(void 0===i){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);i=(t?.[0]?.routing_order??-1)+1}let{data:n,error:a}=await o.from("project_agents").upsert({project_id:e,agent_id:r,routing_order:i}).select().single();if(a)throw a;return n}async function eb(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_agents").delete().eq("project_id",e).eq("agent_id",r);if(o)throw o}async function ev(e,r){let i=(0,t.createAdminDbClient)();for(let t=0;t<r.length;t++)await i.from("project_agents").update({routing_order:t}).eq("project_id",e).eq("agent_id",r[t]);return ew(e)}async function eS(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_skills"))return[];throw o}return i||[]}async function eD(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_skills").insert({project_id:e,file:r,condition:i??null}).select().single();if(a)throw a;return n}async function eP(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("project_skills").delete().eq("id",e);if(i)throw i}async function eA(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_variables").select("*").eq("project_id",e);if(o){if(a(o,"project_variables"))return[];throw o}return i||[]}async function eI(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_variables").upsert({project_id:e,key:r,value:i}).select().single();if(a)throw a;return n}async function eC(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_variables").delete().eq("project_id",e).eq("key",r);if(o)throw o}async function eq(e,t){return n.vaultStore.getProjectMemory(e)}async function eR(e,t,r,i="human"){return n.vaultStore.addProjectMemory(e,t,r,i)}async function e$(e){n.vaultStore.deleteProjectMemory(e)}async function eE(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_threads"))return[];throw o}return i||[]}async function eT(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("project_threads").insert({project_id:e,thread_id:r}).select().single();if(n)throw n;return o}async function ex(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_threads").delete().eq("project_id",e).eq("thread_id",r);if(o)throw o}async function eN(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(a(o,"project_threads"),null):i?.project_id??null}e.s(["addLearning",()=>es,"addProjectAgent",()=>ek,"addProjectMemory",()=>eR,"addProjectSkill",()=>eD,"addProjectThread",()=>eT,"addTaskComment",()=>en,"addTaskCostEntry",()=>et,"addTaskLog",()=>Y,"appendRunToIndex",()=>D,"assignOrphanTasksToProject",()=>O,"createAgent",()=>eh,"createProject",()=>T,"createTask",()=>v,"deleteAgent",()=>ey,"deleteLearning",()=>el,"deleteProject",()=>N,"deleteProjectMemory",()=>e$,"deleteProjectVariable",()=>eC,"deleteStagePrompt",()=>ef,"deleteTask",()=>P,"deleteTaskComment",()=>ea,"ensureNoCircularDependency",()=>_,"getAgent",()=>em,"getAgentSkills",()=>e_,"getAgents",()=>eg,"getLearnings",()=>ed,"getNextQueuedTask",()=>A,"getProjectAgents",()=>ew,"getProjectBySlug",()=>C,"getProjectForThread",()=>eN,"getProjectMemory",()=>eq,"getProjectRepos",()=>q,"getProjectSkills",()=>eS,"getProjectThreads",()=>eE,"getProjectVariables",()=>eA,"getProjectWithRepos",()=>$,"getProjects",()=>I,"getStagePrompt",()=>eu,"getStagePrompts",()=>ec,"getTask",()=>k,"getTaskBySlug",()=>b,"getTaskComments",()=>eo,"getTaskCostEntries",()=>er,"getTaskCostSummary",()=>ei,"getTaskLogs",()=>X,"getTasks",()=>w,"getUserSettings",()=>d,"getWorkflow",()=>W,"getWorkflowNodeByName",()=>J,"getWorkflowNodes",()=>V,"getWorkflowTransitions",()=>z,"getWorkflowTransitionsFromNode",()=>H,"getWorkflowWithGraph",()=>Q,"getWorkflows",()=>F,"parseFrontmatter",()=>m,"removeProjectAgent",()=>eb,"removeProjectSkill",()=>eP,"removeProjectThread",()=>ex,"reorderProjectAgents",()=>ev,"setProjectVariable",()=>eI,"updateAgent",()=>ej,"updateProject",()=>x,"updateTask",()=>S,"updateWorkflow",()=>U,"updateWorkflowNodes",()=>G,"upsertStagePrompt",()=>ep,"upsertUserSettings",()=>s])}];
33
-
34
- //# sourceMappingURL=lib_3c080873._.js.map
@@ -1,70 +0,0 @@
1
- module.exports=[37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),s=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function o(){return s}function l(e,r){try{t.default.mkdirSync(n.default.dirname(s),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(s,`${i}
2
- `,"utf8")}catch{}}e.s(["getDebugLogPath",()=>o,"writeDebugLog",()=>l])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function i(e){let i=function(){if(void 0!==t)return t;try{let e=n(),i=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===i.status?i.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...i?{PATH:i}:{},CLAUDECODE:void 0,...e}}function s(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>i,"commandExists",()=>s])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),i=e.i(37269),s=e.i(701435),a=e.i(902157),o=e.i(660526),l=e.i(750227);function u(e){return e.replace(/\\/g,"/")}let d=e=>"string"==typeof e&&e.trim().length>0,c=e=>({push:e,flush:()=>{}}),p=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let s=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&d(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&d(t?.delta?.text)?t.delta.text:""})(t);if(!s||t?.type==="assistant"&&r>0)return;r+=s.length,e(s)}catch{n||e(`${t}
3
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},m=e=>{let t="",r=!1,n="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&d(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
4
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},h=e=>{let t="",r=!1,n=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&d(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let s=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&d(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&d(t.delta?.text)?t.delta.text:"":"";s&&e(s)}catch{r||e(`${t}
5
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},f=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},g=new Set(["claude","gemini","ollama","codex"]);function v({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
6
-
7
- ${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
8
-
9
- ${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
10
-
11
- ${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function x(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function y({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},a={}){let o=a.commandExists??s.commandExists,l=void 0===a.bundledCliPath?x():a.bundledCliPath,u=[],d=n?`${n}
12
-
13
- ${r}`:r;if(g.has(e)){let s=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let s=void 0===n?x():n;if(!s)return null;let a=[s,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),i&&i.length>0&&a.push("--",...i),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:i});s&&u.push(s),o("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:i}));let a=v({provider:e,model:t,prompt:r,systemPrompt:n});return a&&o(a.command)&&u.push(a),u}let c=v({provider:e,model:t,prompt:r,systemPrompt:n});return c&&o(c.command)&&u.push(c),u}async function b({command:e,args:r,timeoutMs:n,signal:a,onDelta:o,onLog:l,onSpawn:u,env:d}){await new Promise((c,p)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:x(),isElectron:process.env.AGX_ELECTRON||null}),l&&l("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
14
- `);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,s.buildSpawnEnv)(d)}),h=!1,f="",g=!1,v=e=>{h||(h=!0,clearTimeout(b),a&&a.removeEventListener("abort",y),e?p(e):c())},y=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),v(Error("Chat request aborted."))};a&&a.addEventListener("abort",y,{once:!0}),u&&m.pid&&u(m.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let b=setTimeout(()=>{g=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),v(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();f+=t,o(t),l&&l("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();f+=t,l&&l("stderr",t)}),m.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),v(t)}),m.on("close",(t,n)=>{if(!h&&!g){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void v();v(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${f.trim()?` ${f.trim()}`:""}`))}})})}async function k({provider:e,model:t,prompt:r,identity:n,self:s,skills:a,systemContext:o,passthroughArgs:l,signal:u,onDelta:d,onLog:g,onSpawn:v}){let k,j,$,A,S=(k=!1,j=!1,$="",A=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!k?(k=!0,"\n"):"";let r=k?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),i=A.test(n),s=j&&i&&!k,a=j&&!k&&!s&&!/^\s/.test(r)&&/[.!?)]/.test($)&&/^[A-Z0-9`(]/.test(r),o=s?`
15
-
16
- ${r}`:a?`
17
- ${r}`:r;k=o.endsWith("\n"),j=j||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&($=l[l.length-1]??$),o}),E=e=>{let t=S(e);t&&d(t)},L=y({provider:e,model:t,prompt:r,systemPrompt:w({identity:n,self:s,skills:a,systemContext:o}),passthroughArgs:l});if(0===L.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:x(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let P=null;for(let r of L){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?p(E):"codex-json"===r.parser?h(E):"gemini-stream-json"===r.parser?m(E):c(E),s=r.filterThoughts?f(n):n;try{await b({command:r.command,args:r.args,timeoutMs:18e5,signal:u,onDelta:s.push,onLog:g,onSpawn:v,env:r.env}),s.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){P=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:P})}}throw P||Error("CLI execution failed.")}function w({identity:e,self:t,skills:r,systemContext:n}){let i=[];return n&&i.push(n),i.push(function(e={}){let t=function(e={}){let t=function(e={}){return l.default.join(function(e){let t=e?.trim();if(t)return t;let r=process.env.AGX_DATA_DIR?.trim();return r||l.default.join(o.default.homedir(),".agx")}(e.agxDataDir),"skills","scheduled-task-manager","SKILL.md")}(e),r=function(e={}){var t;let r,n=(t=e.workspaceRoot,(r=t?.trim())||process.cwd()),i=u(l.default.join(n,"planning","automation-frontmatter-migration-spec.md")),s=u(l.default.join(n,"src","automations")),a=u(l.default.join(n,"src","prompt-scheduler")),o=u(l.default.join(n,"src","graph","schedule-runner.ts")),d=u(l.default.join(n,"src","graph","store.ts")),c=u(l.default.join(n,"app","api","automations","route.ts")),p=u(l.default.join(n,"app","api","prompt-jobs","route.ts"));return`---
18
- name: scheduled-task-manager
19
- description: Use when creating, editing, migrating, debugging, or reviewing AGX scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
20
- ---
21
-
22
- # Scheduled Task Manager
23
-
24
- Use this skill whenever the task touches scheduled tasks, automations, prompt jobs, execution graph schedules, or automation frontmatter.
25
-
26
- ## Read First
27
-
28
- - [automation-frontmatter-migration-spec](${i})
29
- - Shared automation model lives in [src/automations](${s})
30
- - Prompt-job scheduling lives in [src/prompt-scheduler](${a})
31
- - Execution-graph scheduling flows through [schedule-runner.ts](${o}) and [store.ts](${d})
32
- - API entry points are [app/api/automations/route.ts](${c}) and [app/api/prompt-jobs/route.ts](${p})
33
-
34
- ## Guardrails
35
-
36
- - Reject malformed frontmatter. Do not coerce invalid enum values into defaults.
37
- - Preserve stable automation ids. Renaming a task must not create a new id.
38
- - Keep runtime state such as last run, next run, and archival flags out of frontmatter unless the spec explicitly says otherwise.
39
- - Preserve sub-minute scheduled cadences when they are represented as \`intervalMs\`.
40
- - For \`execution_graph\` targets, keep \`graphId\` and \`taskId\` resolution correct. Do not assume \`definition.id === taskId\`.
41
- - Updating an automation definition should advance user-visible \`updatedAt\`.
42
- - Avoid eager file-backed repository initialization on request paths that should stay lazy or rollout-gated.
43
- - Keep parser and serializer behavior round-trippable unless the spec explicitly requires normalization.
44
-
45
- ## Working Pattern
46
-
47
- 1. Read the migration spec before changing storage, rollout, or validation behavior.
48
- 2. Trace the full path: parser -> validation -> repository -> scheduler -> API.
49
- 3. Add or update regression tests for parsing, serialization, due selection, and the affected API or runtime path.
50
- 4. Prefer small fixes in the shared automation layer over duplicating logic in adapters.
51
-
52
- ## Validation Checklist
53
-
54
- - Scheduled triggers keep \`cronExpr\`, \`cadence\`, and sub-minute \`intervalMs\` semantics intact.
55
- - Condition triggers validate required fields and reject unsupported polling intervals.
56
- - Target-specific required fields are enforced.
57
- - Invalid definitions fail closed and are excluded instead of silently rewritten.
58
- - Prompt-job and execution-graph adapters preserve the same runtime meaning before and after frontmatter serialization.
59
- `}(e);try{a.default.mkdirSync(l.default.dirname(t),{recursive:!0}),(a.default.existsSync(t)?a.default.readFileSync(t,"utf8"):null)!==r&&a.default.writeFileSync(t,r,"utf8")}catch(e){console.warn("[scheduled-task-skill] Failed to install skill:",e)}return t}(e);return`<scheduled-task-skill>
60
- Path: ${u(t)}
61
- Read this skill whenever the task involves scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
62
- </scheduled-task-skill>`}()),e&&i.push(`<identity>
63
- ${e}
64
- </identity>`),t&&i.push(`<self>
65
- ${t}
66
- </self>`),r&&i.push(`<skills>
67
- ${r}
68
- </skills>`),i.length>0?i.join("\n\n"):void 0}e.s(["buildCliAttempts",()=>y,"buildCliSystemPrompt",()=>w,"runCliResponse",()=>k],914350)}];
69
-
70
- //# sourceMappingURL=lib_9f439b27._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[123297,383131,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 s(){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",()=>s],383131);let a=new Set(["done","passed","failed","skipped"]),i=new Set(["running","awaiting_human","blocked"]),o=new Set(["done","passed","skipped"]);function l(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&&o.has(r.status))})&&n||r.every(e=>a.has(e.status))&&n?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>i.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function d(e,t="INTAKE"){let r,n,s=u(e),i="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,o="completed"===s?100:0===(n=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(n.filter(e=>a.has(e.status)).length/n.length*100)));return{status:s,stage:i,progressPercent:o}}function p(e){var t;let r,s,a,i,o,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:d(e.graph,l(e.task.stage||"INTAKE","INTAKE"))},s=[],a="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",i=l(t.legacy.stage,"INTAKE"),o=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(a!==t.v2.status&&s.push({field:"status",legacy:a,v2:t.v2.status}),i!==t.v2.stage&&s.push({field:"stage",legacy:i,v2:t.v2.stage}),null!==o&&o!==t.v2.progressPercent&&s.push({field:"progressPercent",legacy:o,v2:t.v2.progressPercent}),0===s.length)?null:{taskId:t.taskId,source:t.source,diffs:s});return u&&n()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>p,"projectLegacyCompatFromGraph",()=>d],123297)},688144,e=>{"use strict";var t=e.i(254799),r=e.i(579042);let n=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,s=/^#\s+(.+?)(?:\r?\n|$)/;function a(e){return"string"==typeof e?e.trim():""}function i(e,t){let r=a(t),i=a(e);if(!i)return r;let o=i.replace(n,"").trim();if(!o)return r;let l=o.match(s);if(!l)return o;let u=o.slice(l[0].length).trim();return u||l[1].trim()||r}let o={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function l(e,r){let n=new Date().toISOString(),s={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=a(e.description);if(t)return i(t,e.title);let r=a(e.content);if(r)return i(r,e.title);let n=a(e.objective);return n?i(n,e.title):a(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:s,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:{...o},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:n,updatedAt:n}}e.s(["createRootOnlyGraph",()=>l],688144)}];
2
-
3
- //# sourceMappingURL=src_graph_12d46a92._.js.map
@@ -1,8 +0,0 @@
1
- module.exports=[33601,e=>{"use strict";var t,n=e.i(874533),i=e.i(812057),r=e.i(455494);let o={tests_pass:{command:"npm test",timeout:3e5,required:!0},lint_clean:{command:"npm run lint",timeout:6e4,required:!1},coverage_threshold:{command:"npm run coverage",timeout:3e5,required:!0},build_success:{command:"npm run build",timeout:6e5,required:!0},types_valid:{command:"npm run typecheck",timeout:12e4,required:!0}};async function a(e,t){let i=Date.now();return new Promise(r=>{let o,a="",s="",d=!1,u=!1,c=(0,n.spawn)(e,{cwd:t.cwd,env:t.env,shell:!0,stdio:["ignore","pipe","pipe"]}),l=setTimeout(()=>{u=!0,c.kill("SIGTERM"),o=setTimeout(()=>{d||c.kill("SIGKILL")},500),o.unref?.()},Math.max(1,t.timeoutMs));l.unref?.();let p=e=>{d||(d=!0,clearTimeout(l),o&&clearTimeout(o),r({exitCode:e,stdout:a,stderr:s,durationMs:Date.now()-i,timedOut:u}))};c.stdout?.on("data",e=>{a+=e.toString()}),c.stderr?.on("data",e=>{s+=e.toString()}),c.on("error",e=>{s+=e.message,p(1)}),c.on("close",e=>{p(e)})})}async function s(e,t={}){if(!Object.prototype.hasOwnProperty.call(o,e))return{check:e,passed:!1,message:`Unknown auto-check '${e}' was skipped`,required:!1,command:"",timeoutMs:0,timedOut:!1,exitCode:null};let n=o[e],i=t.executor??a,r=await i(n.command,{cwd:t.cwd,env:t.env,timeoutMs:n.timeout}),d=0===r.exitCode&&!r.timedOut,u=r.timedOut?`Check timed out after ${n.timeout}ms`:d?`Check passed (${n.command})`:`Check failed with exit code ${r.exitCode??"null"}`;return{check:e,passed:d,message:u,latencyMs:r.durationMs,details:{stdout:r.stdout,stderr:r.stderr},required:n.required,command:n.command,timeoutMs:n.timeout,timedOut:r.timedOut,exitCode:r.exitCode}}async function d(e,t={}){let n=[];for(let i of e){let e=await s(i,t);n.push(e)}return n}var u=e.i(461860),c=((t={}).GATE_FAILURE="gate_failure",t.WORK_EXHAUSTED="work_exhausted",t.AGENT_REQUEST="agent_request",t.HUMAN_REQUEST="human_request",t.SCOPE_CHANGE="scope_change",t);class l extends Error{constructor(e){super(e),this.name="ReplanError"}}class p extends l{constructor(){super("Replan rejected: replan budget exhausted."),this.name="ReplanBudgetExceededError"}}class f extends l{constructor(e){super(`Replan rejected: node "${e}" is not a valid replan point.`),this.name="InvalidReplanPointError"}}class m extends l{constructor(e){super(e),this.name="ReplanConstraintViolationError"}}class g extends l{validationErrors;constructor(e){super("Replan rejected: resulting graph violates validation invariants."),this.name="ReplanValidationError",this.validationErrors=e}}let y=new Set(["progress","quality_gate","design_gate","handoff_gate"]);function h(e,t){if(!e.nodes[t])throw new m(`Replan references unknown node "${t}".`)}function w(e,t){if(e.policy.replanBudgetRemaining<=0)throw new p;if(!function(e,t){var n;let i=e.nodes[t.triggeredAtNodeId];return!!i&&("gate"===i.type&&("progress"===i.gateType||("quality_gate"===i.gateType||"design_gate"===i.gateType||"handoff_gate"===i.gateType)&&"failed"===i.status)||!("work"!==i.type||"work_exhausted"!==t.trigger||!("work"===i.type&&"failed"===i.status&&i.attempts>=i.maxAttempts)||function(e,t){let n=function(e){let t=new Map;for(let n of e){if("hard"!==n.type)continue;let e=t.get(n.from);e?e.push(n.to):t.set(n.from,[n.to])}return t}(e.edges),i=[...n.get(t)??[]],r=new Set(i);for(;i.length>0;){var o;let t=i.shift();if(t){if(o=e.nodes[t],o?.type==="gate"&&y.has(o.gateType))return!0;for(let e of n.get(t)??[])r.has(e)||(r.add(e),i.push(e))}}return!1}(e,t.triggeredAtNodeId))&&(n=t.triggeredAtNodeId,!e.versionHistory.some(e=>"replan"===e.eventType&&e.triggeredAtNodeId===n)))}(e,t))throw new f(t.triggeredAtNodeId);let n=structuredClone(e),i=function(e,t){let n=new Set(t);if(0===n.size)return[];for(let t of n){let n=e.nodes[t];if(!n)throw new m(`Cannot remove unknown node "${t}".`);if("gate"===n.type&&n.required)throw new m(`Cannot remove required gate "${t}" during replan.`)}for(let t of n)delete e.nodes[t];for(let t of(e.edges=e.edges.filter(e=>!n.has(e.from)&&!n.has(e.to)),Object.values(e.nodes)))t.deps=t.deps.filter(e=>!n.has(e));return[...n]}(n,t.removeNodes??[]),r=function(e,t){let n=Object.entries(t);if(0===n.length)return[];let i=new Set;for(let[t]of n)if(e.nodes[t])throw new m(`Cannot add duplicate node "${t}".`);for(let[t,i]of n)e.nodes[t]=i;for(let[t,r]of n)for(let n of r.deps){if(!e.nodes[n])throw new m(`Added node "${t}" depends on unknown node "${n}".`);i.add(`${n}=>${t}`)}for(let t of i){let[n,i]=t.split("=>");e.edges.push({from:n,to:i,type:"hard"})}return n.map(([e])=>e)}(n,t.addNodes??{}),o=function(e,t){let n=[];for(let[i,r]of Object.entries(t)){h(e,i);let t=e.nodes[i];if(!t)continue;let o=[...new Set(r)];for(let t of o)h(e,t);let a=new Map;for(let t of e.edges)t.to!==i||a.has(t.from)||a.set(t.from,t);for(let n of(e.edges=e.edges.filter(e=>e.to!==i),t.deps=o,o)){let t=a.get(n);e.edges.push(t??{from:n,to:i,type:"hard"})}n.push(i)}return n}(n,t.rewireDeps??{}),a=function(e,t){let n={};for(let[i,r]of Object.entries(t)){h(e,i);let t=e.nodes[i];if(!t)continue;let o=t.estimateMinutes??0;if(null===r){delete t.estimateMinutes,n[i]=0-o;continue}t.estimateMinutes=r,n[i]=r-o}return n}(n,t.estimateUpdates??{});if(t.addEdges)for(let e of t.addEdges)n.edges.push(e);n.edges=function(e){let t=[],n=new Set;for(let i of e){let e=`${i.from}|${i.to}|${i.type}|${i.condition??""}`;n.has(e)||(n.add(e),t.push(i))}return t}(n.edges);let s=new Map;for(let e of n.edges){let t=s.get(e.to);t?t.includes(e.from)||t.push(e.from):s.set(e.to,[e.from])}for(let[e,t]of Object.entries(n.nodes))t.deps=[...s.get(e)??[]];for(let[t,i]of Object.entries(e.nodes))if("gate"===i.type&&i.required&&!n.nodes[t])throw new m(`Required gate "${t}" must remain present after replan.`);let d=(0,u.validateGraph)(n);if(!d.valid)throw new g(d.errors);let c=t.now??new Date().toISOString(),l=n.graphVersion,w=l+1;return n.graphVersion=w,n.policy.replanBudgetRemaining-=1,n.updatedAt=c,n.versionHistory.push({eventType:"replan",fromVersion:l,toVersion:w,timestamp:c,reason:t.reason,triggeredBy:t.triggeredBy,triggeredAtNodeId:t.triggeredAtNodeId,changes:{addedNodes:r,removedNodes:i,rewiredDeps:o,estimateDeltas:a}}),n}async function v(t){let{execSync:n}=await e.A(482848),i={cwd:t,encoding:"utf-8",maxBuffer:524288};try{let e=n("git diff HEAD",i).trim();if(e)return e}catch{}try{let e=n("git diff --cached",i).trim();if(e)return e}catch{}return""}function k(e){for(let t of Object.values(e.nodes))if("root"===t.type)return t}async function A(e,t,n,i,r){let o,a,s,d=k(e);if(!d)return E("LLM review skipped: no root node found");let u=await v(i);if(!u)return E("LLM review skipped: no changes detected");let c=(o=d.criteria?.length?`
2
-
3
- Acceptance Criteria:
4
- ${d.criteria.map((e,t)=>`${t+1}. ${e}`).join("\n")}`:"",a=u.length>3e4?u.slice(0,3e4)+"\n\n... (diff truncated)":u,s=[r?.name?.trim()?`Reviewer: ${r.name.trim()}`:null,r?.voice?.trim()?`Voice: ${r.voice.trim()}`:null,r?.seed?.trim()?`Core orientation: ${r.seed.trim()}`:null].filter(Boolean),{type:"work",status:"pending",workType:"spike",title:`Quality gate review: ${d.title}`,description:["You are reviewing this change against the task objective.",s.length>0?`Preserve the reviewer's distinct perspective instead of flattening into generic review language.
5
- ${s.join("\n")}`:"Preserve your configured reviewer voice and perspective. Do not flatten into generic review language.","\n## Task Objective",d.objective,o,"\n## Code Changes (git diff)\n```diff",a,'```\n\nRespond with your decision:\n- If the changes satisfy the objective, mark this task as done with output: {"passed": true, "reasoning": "..."}\n- If the changes do NOT satisfy the objective, mark this task as failed with output: {"passed": false, "reasoning": "..."}\n\nBe pragmatic: if the changes clearly address the objective, pass it. Only fail if the changes are clearly incomplete, wrong, or unrelated.'].join("\n"),acceptanceCriteria:d.criteria,deps:[],attempts:0,maxAttempts:1,retryPolicy:{backoffMs:0,onExhaust:"fail"},stage:"review",planNodeKey:`${t}:llm-review`}),l=await n(c,e);if("success"===l.status){let e=l.output,t=e?.passed!==!1;return{check:"llm_review",passed:t,message:e?.reasoning??"Review completed by agent",details:e?{agentOutput:e}:void 0,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:+!t}}return{check:"llm_review",passed:!1,message:"failure"===l.status?`Agent review failed: ${l.message??"unknown error"}`:`Agent review blocked: ${l.message??"unknown reason"}`,required:!0,command:"daemon:llm_review",timeoutMs:12e4,timedOut:!1,exitCode:1}}function E(e){return{check:"llm_review",passed:!0,message:e,required:!0,command:"daemon:llm_review",timeoutMs:0,timedOut:!1,exitCode:0}}var R=e.i(97681);let T={progress:{defaultChecks:[],humanRequirement:"never"},quality_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold"],humanRequirement:"optional"},design_gate:{defaultChecks:["build_success","types_valid"],humanRequirement:"often"},handoff_gate:{defaultChecks:["tests_pass","lint_clean","coverage_threshold","build_success","types_valid"],humanRequirement:"always"},approval_gate:{defaultChecks:[],humanRequirement:"always"}};class N extends Error{constructor(e){super(e),this.name="GateVerificationError"}}function _(e,t){return{...e,verificationResult:t}}function x(e,t){return{eventType:"gate_verification",nodeId:e,timestamp:t.verifiedAt,result:t}}function S(e,t,n){let i=Math.max(0,e.verifyBudgetRemaining-1);return{policy:{...e,verifyBudgetRemaining:i},exhausted:0===i,event:{eventType:"budget_consumed",budgetType:"verify",remaining:i,timestamp:n,triggerNodeId:t}}}function C(e,t,n,i){return{passed:e,checks:n,verifiedAt:i,verifiedBy:t}}async function O(e){let{gateId:t}=e,n=e.now??new Date().toISOString(),i=e.depsSatisfied??!0,r=(s=e.gate,"pending"===s.status?(0,R.transitionGateNode)(s,{type:"START",depsSatisfied:i}):s),o={...e.policy},a=[];var s,u,c,l,p,f,m=r.status;if("passed"===m||"failed"===m||"skipped"===m)throw new N(`Cannot verify gate from terminal status '${m}'`);if("progress"===r.gateType&&"running"===r.status)return r=_((0,R.transitionGateNode)(r,{type:"AUTO_PASS",humanRequired:!1}),C(!0,"agent",[],n)),a.push(x(t,r.verificationResult)),{gate:r,policy:o,autoCheckResults:[],awaitingHuman:!1,escalated:!1,events:a};let g=[];if("running"===r.status){let i,s="progress"===(u=r).gateType||"approval_gate"===u.gateType?[]:u.verificationStrategy.checks&&u.verificationStrategy.checks.length>0?[...u.verificationStrategy.checks]:[...T[u.gateType].defaultChecks];if(!(g=await d(s,e)).every(e=>!e.required||e.passed)){let e,i;return c=r,l=o,p=g,e=_((0,R.transitionGateNode)(c,{type:"AUTO_FAIL"}),C(!1,"agent",p,n)),{gate:e,policy:(i=S(l,t,n)).policy,autoCheckResults:p,awaitingHuman:!1,escalated:i.exhausted,escalationReason:i.exhausted?"verify_budget_exhausted":void 0,events:[x(t,e.verificationResult),i.event]}}if("quality_gate"===r.gateType&&e.graph&&e.dispatchReview){let i=await A(e.graph,t,e.dispatchReview,e.cwd);if(g.push(i),!i.passed){let e=_((0,R.transitionGateNode)(r,{type:"AUTO_FAIL"}),C(!1,"agent",g,n));return a.push(x(t,e.verificationResult)),{gate:e,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a,llmReviewFailed:!0,llmReviewFeedback:i.message??"LLM review failed"}}}let m="never"!==(i=T[(f=r).gateType]).humanRequirement&&("always"===i.humanRequirement||("optional"===i.humanRequirement?"human"===f.verificationStrategy.type||"hybrid"===f.verificationStrategy.type:"auto"!==f.verificationStrategy.type));if(r=_(r=(0,R.transitionGateNode)(r,{type:"AUTO_PASS",humanRequired:m}),C(!0,"agent",g,n)),a.push(x(t,r.verificationResult)),!m)return{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a}}if("awaiting_human"!==r.status)throw new N(`Unexpected gate status '${r.status}' after verification flow`);if(void 0===e.humanDecision)return{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!0,escalated:!1,events:a};if("approve"===e.humanDecision)return r=_(r=(0,R.transitionGateNode)(r,{type:"HUMAN_APPROVE"}),C(!0,"human",r.verificationResult?.checks??g,n)),a.push(x(t,r.verificationResult)),{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:!1,events:a};r=_(r=(0,R.transitionGateNode)(r,{type:"HUMAN_REJECT"}),C(!1,"human",r.verificationResult?.checks??g,n));let y=S(o,t,n);return o=y.policy,a.push(x(t,r.verificationResult)),a.push(y.event),{gate:r,policy:o,autoCheckResults:g,awaitingHuman:!1,escalated:y.exhausted,escalationReason:y.exhausted?"verify_budget_exhausted":void 0,events:a}}var M=e.i(300248);class b extends Error{timeoutMs;constructor(e){super(`Graph execution exceeded timeout (${e}ms).`),this.name="GraphExecutionTimeoutError",this.timeoutMs=e}}class $ extends Error{nodeId;timeoutMs;constructor(e,t){super(`Node "${e}" execution exceeded timeout (${t}ms).`),this.name="NodeExecutionTimeoutError",this.nodeId=e,this.timeoutMs=t}}let I=async()=>void 0,F=(0,i.promisify)(n.execFile);function q(e){return e.nowMs?.()??Date.now()}function j(e){return new Date(q(e)).toISOString()}function U(e,t){return"gate"===t.type&&"number"==typeof t.verificationStrategy.timeout&&t.verificationStrategy.timeout>0?t.verificationStrategy.timeout:Math.max(1,e.policy.nodeTimeoutMs)}async function L(e,t){let n=Math.max(1,e.timeoutMs??t.policy.nodeTimeoutMs);try{let{stdout:t}=await F("bash",["-lc",e.command],{timeout:n,maxBuffer:65536,env:process.env,windowsHide:!0});return{status:"success",output:function(e,t){let n,i=e.trim();if(!i)throw Error(`Function node "${t}" produced empty stdout.`);try{n=JSON.parse(i)}catch(n){let e=n instanceof Error?n.message:String(n);throw Error(`Function node "${t}" stdout is not valid JSON: ${e}`)}if(!n||"object"!=typeof n||Array.isArray(n))throw Error(`Function node "${t}" stdout JSON must be an object.`);return n}(t,e.command)}}catch(e){return{status:"failure",message:function(e){if(e&&"object"==typeof e){if("ERR_CHILD_PROCESS_STDIO_MAXBUFFER"===e.code)return"Function stdout exceeded 65536 bytes.";if(e.killed&&e.signal)return`Function command timed out and was terminated (${e.signal}).`;let t=e.stderr?.trim();if(t)return t;if(e.message)return e.message}return"string"==typeof e?e:"Unknown function execution error."}(e),error:e}}}async function P(e,t,n){let i;try{return await Promise.race([e,new Promise((e,r)=>{i=setTimeout(()=>r(n()),t)})])}finally{i&&clearTimeout(i)}}function D(e,t){let n=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0};return{...e,metrics:{...n,errorMessages:[...n.errorMessages??[],t],retryCount:"work"===e.type?e.attempts:n.retryCount}}}function G(e,t,n,i){let r=e.metrics??{tokensUsed:0,latencyMs:0,retryCount:"work"===e.type?e.attempts:0},o="done"===e.status||"passed"===e.status||"failed"===e.status||"skipped"===e.status?j(n):e.completedAt;return{...e,completedAt:o,metrics:{...r,tokensUsed:r.tokensUsed+(i??0),latencyMs:Math.max(0,q(n)-t),retryCount:"work"===e.type?e.attempts:r.retryCount}}}async function H(e,t,n,i,r,o){let a=(0,R.transitionWorkNode)(n,{type:"FAIL",transient:o});if("pending"===a.status){let e=i.sleep??I;await e(Math.max(0,n.retryPolicy.backoffMs))}else"blocked"===a.status&&"escalate"===n.retryPolicy.onExhaust&&await i.onEscalateWorkFailure?.(a,r,e);return D(a,r.message)}async function B(e,t,n,i){let r=n;"pending"===r.status&&(r=(0,R.transitionWorkNode)(r,{type:"START",depsSatisfied:!0})),r.startedAt||(r={...r,startedAt:j(i)});let o=q(i),a=U(e,r),s=!1;try{let n=i.dispatchWork??(async()=>({status:"success"})),d=await P(n(r,e),a,()=>new $(t,a));if("success"===d.status){let e=(0,R.transitionWorkNode)(r,{type:"COMPLETE"});return{node:G({...e,output:d.output??e.output},o,i,d.tokensUsed),timedOut:s}}if("blocked"===d.status){let e=(0,R.transitionWorkNode)(r,{type:"BLOCK"}),t=d.message?D(e,d.message):e;return{node:G(t,o,i),timedOut:s}}let u=Error(d.message??"Work node failed."),c=await H(e,t,r,i,u,d.transient??!0);return{node:G(c,o,i),timedOut:s}}catch(a){let n=a instanceof Error?a:Error("string"==typeof a?a:"Unknown work execution error");return s=n instanceof $,{node:G(await H(e,t,r,i,n,!0),o,i),timedOut:s}}}async function K(e,t,n){let i=e.nodes[t];if(!i||"gate"!==i.type)throw Error(`Node "${t}" is not a gate node.`);let r=q(n),o=U(e,i),a=!1,s=e,d=!1;try{let e=await P(O({gateId:t,gate:i,policy:s.policy,now:j(n),humanDecision:n.humanDecisionsByGateId?.[t],cwd:n.checkCwd,env:n.checkEnv,executor:n.checkExecutor,graph:s,dispatchReview:n.dispatchWork}),o,()=>new $(t,o)),u=G(e.gate,r,n);if(s.nodes[t]=u,s.policy=e.policy,e.llmReviewFailed){let i=e.llmReviewFeedback??"Quality gate review failed",r=n.makeReplanFromReviewFeedback??(async(e,t,n)=>{let i,r,o,a,s;return i=k(e),r=e.graphVersion,o=`fix-from-review-v${r}`,a=`quality-gate-v${r+1}`,s={type:"work",status:"pending",workType:"implementation",title:`Fix issues from quality review (v${r})`,description:["The quality gate review found issues with the current changes.\n\n## Review Feedback",n,"",i?`## Original Objective
6
- ${i.objective}`:"","\nAddress the feedback above and fix the issues identified by the reviewer."].join("\n"),acceptanceCriteria:["Address all issues raised in the review feedback"],deps:[],attempts:0,maxAttempts:3,retryPolicy:{backoffMs:1e3,onExhaust:"fail"},stage:"fix"},{trigger:c.GATE_FAILURE,triggeredAtNodeId:t,reason:`Quality gate LLM review failed: ${n.slice(0,200)}`,triggeredBy:"agent",addNodes:{[o]:s,[a]:{type:"gate",status:"pending",gateType:"quality_gate",required:!0,verificationStrategy:{type:"auto",checks:[],timeout:3e5},deps:[o]}},addEdges:[{from:t,to:o,type:"hard",condition:"on_failure"}]}}),o=await r(s,t,i);o&&(s=(n.replan??w)(s,o),d=!0)}else if(e.escalated&&n.makeReplanRequest){let i=n.makeReplanRequest(s,t,e);i&&(s=(n.replan??w)(s,i),d=!0)}return{graph:s,node:s.nodes[t],events:e.events,replanApplied:d,timedOut:a}}catch(u){let e=u instanceof Error?u:Error("string"==typeof u?u:"Unknown gate execution error");a=e instanceof $;let o=i;"pending"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"START",depsSatisfied:!0})),"running"===o.status?o=(0,R.transitionGateNode)(o,{type:"AUTO_FAIL"}):"awaiting_human"===o.status&&(o=(0,R.transitionGateNode)(o,{type:"HUMAN_REJECT"}));let d=D(o,e.message);return s.nodes[t]=G(d,r,n),{graph:s,node:s.nodes[t],events:[],replanApplied:!1,timedOut:a}}}async function V(t,n,i,r){let o=i;"pending"===o.status&&(o=(0,R.transitionFunctionNode)(o,{type:"START",depsSatisfied:!0})),o.startedAt||(o={...o,startedAt:j(r)});let a=q(r),s=o.timeoutMs??t.policy.nodeTimeoutMs,d=!1;try{let i=r.dispatchFunction??(async(t,n)=>{if("bash"===t.kind)return L(t,n);let{createDispatchFunction:i}=await e.A(997757);return i()(t,n)}),u=await P(i(o,t),s,()=>new $(n,s));if("success"===u.status){let e=(0,R.transitionFunctionNode)(o,{type:"COMPLETE"});return{node:G({...e,output:u.output??e.output},a,r),timedOut:d}}let c=(0,R.transitionFunctionNode)(o,{type:"FAIL"}),l=u.message?D(c,u.message):c;return u.message?.toLowerCase().includes("timed out")&&(d=!0),{node:G(l,a,r),timedOut:d}}catch(t){let e=t instanceof Error?t:Error("string"==typeof t?t:"Unknown function execution error");return d=e instanceof $,{node:G(D((0,R.transitionFunctionNode)(o,{type:"FAIL"}),e.message),a,r),timedOut:d}}}async function W(e,t,n={}){!function(e,t){if(!e.policy.graphTimeoutMs)return;let n=function(e,t){if(void 0!==t.graphStartedAtMs)return t.graphStartedAtMs;let n=Date.parse(e.createdAt);return Number.isNaN(n)?q(t):n}(e,t);if(q(t)-n>e.policy.graphTimeoutMs)throw new b(e.policy.graphTimeoutMs)}(e,n);let i=structuredClone(e),o=i.nodes[t];if(!o)throw Error(`Unknown node "${t}".`);if("function"===o.type){let e=await V(i,t,o,n);return i.nodes[t]=e.node,{graph:i,nodeId:t,node:i.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("work"===o.type){let e=await B(i,t,o,n);return i.nodes[t]=e.node,{graph:i,nodeId:t,node:i.nodes[t],events:[],replanApplied:!1,timedOut:e.timedOut}}if("gate"===o.type){let e=await K(i,t,n);return{graph:e.graph,nodeId:t,node:e.graph.nodes[t],events:e.events,replanApplied:e.replanApplied,timedOut:e.timedOut}}if("fork"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"fork"!==n.type)throw Error(`Node "${t}" is not a fork node.`);if("pending"!==n.status||!n.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return n;let i=(0,R.transitionForkNode)(n,{type:"ACTIVATE",depsSatisfied:!0});return e.nodes[t]=i,i}(i,t);return{graph:i,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}if("join"===o.type){let e=function(e,t){let n=e.nodes[t];if(!n||"join"!==n.type)throw Error(`Node "${t}" is not a join node.`);if("pending"!==n.status&&"running"!==n.status)return n;let i=n.deps.map(n=>({nodeId:n,status:e.nodes[n]?.status??"failed",edgeType:e.edges.find(e=>e.from===n&&e.to===t)?.type??"hard"})),r=(0,R.transitionJoinNode)(n,{type:"EVALUATE",dependencies:i});return e.nodes[t]=r,r}(i,t);return{graph:i,nodeId:t,node:e,events:[],replanApplied:!1,timedOut:!1}}let a=function(e,t,n){let i=e.nodes[t];if(!i||"conditional"!==i.type)throw Error(`Node "${t}" is not a conditional node.`);if("pending"!==i.status||!i.deps.every(n=>(0,M.isDepSatisfied)(e,n,t)))return i;let o=(0,R.transitionConditionalNode)(i,{type:"START",depsSatisfied:!0}).node;try{var a;let s=function(e,t,n){let i=e.nodes[t];if(!i||"conditional"!==i.type)return{graph:e,nodeId:t,ctx:{graph:e,nodeId:t}};let r=e.nodes[i.condition.inputFrom],o=r&&"output"in r?r.output??null:null;return{graph:e,nodeId:t,inputFrom:i.condition.inputFrom,input:o,ctx:{graph:e,nodeId:t,inputFrom:i.condition.inputFrom,input:o},...n[t]??{}}}(e,t,n.conditionContextByNodeId??{}),d=!!((a=s.input)&&"object"==typeof a&&!Array.isArray(a))&&(0,r.evaluateCondition)(i.condition.expression,s),u=(0,R.transitionConditionalNode)(o,{type:d?"CONDITION_TRUE":"CONDITION_FALSE"});for(let n of(e.nodes[t]=u.node,u.skippedBranchNodeIds)){let t=e.nodes[n];t&&"pending"===t.status&&("work"===t.type?e.nodes[n]=(0,R.transitionWorkNode)(t,{type:"SKIP"}):"function"===t.type?e.nodes[n]=(0,R.transitionFunctionNode)(t,{type:"SKIP"}):"gate"===t.type?e.nodes[n]=(0,R.transitionGateNode)(t,{type:"SKIP"}):"fork"===t.type?e.nodes[n]=(0,R.transitionForkNode)(t,{type:"SKIP"}):"join"===t.type?e.nodes[n]=(0,R.transitionJoinNode)(t,{type:"SKIP"}):"conditional"===t.type&&(e.nodes[n]=(0,R.transitionConditionalNode)(t,{type:"SKIP"}).node))}return u.node}catch(r){let n=(0,R.transitionConditionalNode)(o,{type:"CONDITION_ERROR"}).node,i=r instanceof Error?r:Error("string"==typeof r?r:"Condition evaluation failed.");return e.nodes[t]=D(n,i.message),e.nodes[t]}}(i,t,n);return{graph:i,nodeId:t,node:a,events:[],replanApplied:!1,timedOut:!1}}e.s(["executeNode",()=>W],33601)}];
7
-
8
- //# sourceMappingURL=src_graph_executor_ts_55c06268._.js.map