@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,4 +1,4 @@
1
- module.exports=[666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>i])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",i=["json1"],o=["fts5"],s=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,l){let p=[],c=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(c.v,n)&&p.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${n}`,found:c.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))d(u,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===r.default.platform()){let e=i(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(l);h&&s.some(e=>h.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${l}' is on a network filesystem (${h})`,path:l,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>u])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(960447),r=e.i(259833);e.i(201037);var a=e.i(200866),n=e.i(434542);let i=new Set(["replan","rollback"]);class o extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class s extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class d extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class u extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function l(e){return null==e?null:JSON.stringify(e)}function p(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function c(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function h(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function g(e){if(!(0,n.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,n.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function f(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>i])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",i=["json1"],o=["fts5"],s=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,l){let p=[],c=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(c.v,n)&&p.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${n}`,found:c.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))d(u,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===r.default.platform()){let e=i(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(l);h&&s.some(e=>h.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${l}' is on a network filesystem (${h})`,path:l,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>u])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(960447),r=e.i(259833);e.i(201037);var a=e.i(200866),n=e.i(434542);let i=new Set(["replan","rollback"]);class o extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class s extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class d extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class u extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function l(e){return null==e?null:JSON.stringify(e)}function p(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function c(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function h(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function g(e){if(!(0,n.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,n.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function f(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
2
2
  FROM execution_graphs
3
3
  WHERE id = ?
4
4
  LIMIT 1`).get(r);return a?.taskId??null}function m(e){let{type:t,status:r,metrics:a,output:n,...i}=e;return{type:t,status:r,config:i,output:n??null,metrics:a??null}}function E(e){let t={...h(p(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=c(e.timestamp)),t}function _(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...(r??[]).map(e=>e)),{rows:[]}):{rows:a.all(...(r??[]).map(e=>e))}}}}class R{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let a=this.getDb(),n=_(a);t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = OFF");try{return(0,r.transaction)(a,()=>{let r=n.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new u(e.taskId,r.id);for(let[t,r]of(n.query(`INSERT INTO execution_graphs
@@ -46,4 +46,4 @@ module.exports=[666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:c
46
46
  AND json_extract(schedule, '$.rootMessageId') = ?
47
47
  AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0)}e.s(["GraphNodeNotFoundError",()=>d,"GraphNotFoundError",()=>s,"GraphStore",()=>R,"GraphTaskAlreadyBoundError",()=>u,"GraphVersionConflictError",()=>o,"appendEvent",()=>I,"createGraph",()=>A,"createGraphStore",()=>y,"deactivateSchedulesByRootMessageId",()=>C,"getActiveScheduleForRootMessageId",()=>k,"getActiveScheduleRootMessageIds",()=>N,"getGraph",()=>v,"getGraphEvents",()=>w,"getTaskIdForGraphId",()=>f,"updateGraphStructure",()=>T,"updateNodeRuntime",()=>S])},269292,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),o=e.i(174677),s=e.i(869741),d=e.i(316795),u=e.i(487718),l=e.i(995169),p=e.i(47587),c=e.i(666012),h=e.i(570101),g=e.i(626937),f=e.i(10372),m=e.i(193695);e.i(52474);var E=e.i(600220),_=e.i(666680),R=e.i(89171),y=e.i(963279),x=e.i(886582),A=e.i(97812);async function v(e,{params:t}){let{id:r,nodeId:a}=await t,n=(0,x.normalizeTaskId)(r),i=(0,x.normalizeNodeId)(a);if(!n||!i)return(0,x.jsonWithSchema)(y.ErrorResponseSchema,{error:"Invalid taskId or nodeId"},{status:400});let o=await (0,x.parseJsonBody)(e,y.AddNodeCommentRequestSchema);if(!o.ok)return o.response;let s=await (0,A.getGraph)(n);if(!s)return(0,x.jsonWithSchema)(y.ErrorResponseSchema,{error:"Graph not found"},{status:404});let d=s.nodes[i];if(!d)return(0,x.jsonWithSchema)(y.ErrorResponseSchema,{error:"Node not found"},{status:404});let u=d.comments??[],l={id:(0,_.randomUUID)(),content:o.data.content,author:"user",createdAt:new Date().toISOString()},p=await (0,A.updateNodeRuntime)(s.id,{[i]:{configPatch:{comments:[...u,l]}}},s.graphVersion);return"error"in p?(0,x.jsonWithSchema)(y.ErrorResponseSchema,{error:p.error},{status:409}):R.NextResponse.json(l,{status:201})}e.s(["POST",()=>v],278211);var S=e.i(278211);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/nodes/[nodeId]/comments/route",pathname:"/api/tasks/[id]/nodes/[nodeId]/comments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/[id]/nodes/[nodeId]/comments/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:I,workUnitAsyncStorage:w,serverHooks:k}=T;function N(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:w})}async function C(e,t,a){T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/tasks/[id]/nodes/[nodeId]/comments/route";_=_.replace(/\/index$/,"")||"/";let R=await T.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:x,nextConfig:A,parsedUrl:v,isDraftMode:S,prerenderManifest:I,routerServerContext:w,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,resolvedPathname:C,clientReferenceManifest:b,serverActionsManifest:L}=R,O=(0,s.normalizeAppPath)(_),D=!!(I.dynamicRoutes[O]||I.routes[C]),M=async()=>((null==w?void 0:w.render404)?await w.render404(e,t,v,!1):t.end("This page could not be found"),null);if(D&&!S){let e=!!I.routes[C],t=I.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await M();throw new m.NoFallbackError}}let q=null;!D||T.isDev||S||(q="/index"===(q=C)?"/":q);let F=!0===T.isDev||!D,G=D&&!F;L&&b&&(0,o.setManifestsSingleton)({page:_,clientReferenceManifest:b,serverActionsManifest:L});let j=e.method||"GET",U=(0,i.getTracer)(),P=U.getActiveScopeSpan(),$={params:x,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>T.onRequestError(e,t,a,n,w)},sharedContext:{buildId:y}},H=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let o=async e=>T.handle(B,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${j} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${_}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var i,d;let u=async({previousCacheEntry:r})=>{try{if(!s&&k&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=$.renderOpts.fetchMetrics;let d=$.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=$.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(H,W,i,$.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:k})},!1,w),t}},l=await T.handleResponse({req:e,nextConfig:A,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:s});if(!D)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",k?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return s&&D||m.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,c.sendResponse)(H,W,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};P?await d(P):await U.withPropagatedContext(e.headers,()=>U.trace(l.BaseServerSpan.handleRequest,{spanName:`${j} ${_}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},d))}catch(t){if(t instanceof m.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:k})},!1,w),D)throw t;return await (0,c.sendResponse)(H,W,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>N,"routeModule",()=>T,"serverHooks",()=>k,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>w],269292)}];
48
48
 
49
- //# sourceMappingURL=%5Broot-of-the-server%5D__9ffa67b7._.js.map
49
+ //# sourceMappingURL=%5Broot-of-the-server%5D__2ae8b938._.js.map
@@ -0,0 +1,108 @@
1
+ module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},942969,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let s=Object.values(r);return s.length>0?s[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function s(e,t){e.exec(`PRAGMA ${t}`)}function o(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let s=t(...r);return e.exec("COMMIT"),s}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>s,"transaction",()=>o,"transactionFn",()=>n])},828237,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(942969);e.i(522734);var r=e.i(446786),s=e.i(814747);let o="3.35.0",n=["json1"],i=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,u){let c=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),s=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(s[e]||0);if(0!==t)return t}return 0}(p.v,o)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${o}`,found:p.v,required:`>= ${o}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),n))l(d,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)l(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let o=s.default.resolve(t),{execSync:n}=e.r(233405);if("darwin"===r.default.platform()){let e=n(`df -T "${o}" 2>/dev/null || df "${o}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);h&&a.some(e=>h.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${h})`,path:u,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>d])},648392,e=>{"use strict";var t=e.i(65768);function r(e){return t.vaultStore.listKnowledgeEntries(e)}function s(e){return t.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>r,"storeKnowledgeEntries",()=>s])},40793,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(942969),s=e.i(666680);let o={randomUUID:s.randomUUID},n=new Uint8Array(256),i=n.length,a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(o.randomUUID&&!t&&!e)return o.randomUUID();var l=e,d=r;let u=(l=l||{}).random??l.rng?.()??(i>n.length-16&&((0,s.randomFillSync)(n),i=0),n.slice(i,i+=16));if(u.length<16)throw Error("Random bytes length must be >= 16");if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,t){if((d=d||0)<0||d+16>t.length)throw RangeError(`UUID byte range ${d}:${d+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[d+e]=u[e];return t}return function(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}(u)};var d=e.i(814747),u=e.i(522734),c=e.i(446786),p=e.i(828237);process.env.AGX_MAX_WORKERS;class h{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=6e4;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-1e4;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/10,s=r>=40;return s&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:s}}}var g=e.i(157306);let f=process.env.AGX_DATA_DIR||d.default.join(c.default.homedir(),".agx");function m(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class _{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new h;workerId;constructor(e){this.workerId=l();const r=e||process.env.SQLITE_QUEUE_PATH||d.default.join(f,"agx-queue.db"),s=d.default.dirname(r);u.default.existsSync(s)||u.default.mkdirSync(s,{recursive:!0}),this.db=new t.DatabaseSync(r);const o=(0,p.validateSQLiteEnvironment)(this.db,r);if(o.length>0){const e=o.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
2
+ CREATE TABLE IF NOT EXISTS agx_jobs (
3
+ id TEXT PRIMARY KEY,
4
+ queue TEXT NOT NULL,
5
+ data TEXT NOT NULL,
6
+ status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
7
+ created_at INTEGER NOT NULL,
8
+ start_after INTEGER NOT NULL DEFAULT 0,
9
+ started_at INTEGER,
10
+ completed_at INTEGER,
11
+ failed_at INTEGER,
12
+ worker_id TEXT,
13
+ retry_count INTEGER DEFAULT 0,
14
+ retry_limit INTEGER DEFAULT 0,
15
+ priority INTEGER DEFAULT 0,
16
+ error TEXT
17
+ );
18
+ CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
19
+ `);let e=new Set((0,r.pragmaAll)(this.db,"table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let s=l(),o=Date.now(),n=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:o;return this.db.prepare(`
20
+ INSERT INTO agx_jobs (
21
+ id, queue, data, status, created_at, start_after, retry_limit, priority
22
+ ) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
23
+ `).run(s,e,JSON.stringify(t),o,n,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,g.writeDebugLog)("queue.send",{queue:e,jobId:s,startAfter:n,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),s}async work(e,t,r){(0,g.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),1e4))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let s=t.options.batchSize||1,o=Date.now(),n=o-m(),i=(0,r.transaction)(this.db,()=>{let t=this.reapStaleJobs(e,o,n);t.length>0&&(0,g.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:n,jobs:t});let r=this.db.prepare(`
24
+ SELECT id, data FROM agx_jobs
25
+ WHERE queue = ?
26
+ AND (status = 'pending' OR status = 'retry')
27
+ AND start_after <= ?
28
+ ORDER BY priority DESC, created_at ASC
29
+ LIMIT ?
30
+ `).all(e,o,s);if(0===r.length)return[];let i=r.map(e=>e.id),a=this.db.prepare(`
31
+ UPDATE agx_jobs
32
+ SET status = 'active', started_at = ?, worker_id = ?
33
+ WHERE id = ?
34
+ `);for(let e of i)a.run(o,this.workerId,e);return r.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))});i.length>0&&((0,g.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:i.map(e=>e.id)}),this.executeJobs(i,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,g.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,g.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),s=this.db.prepare(`
35
+ UPDATE agx_jobs
36
+ SET status = 'completed', completed_at = ?, worker_id = NULL
37
+ WHERE id = ?
38
+ `);(0,r.transaction)(this.db,()=>{for(let r of e)s.run(t,r)})}failJobs(e,t){let s=Date.now(),o=this.db.prepare(`
39
+ SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
40
+ `),n=this.db.prepare(`
41
+ UPDATE agx_jobs
42
+ SET status = 'retry', retry_count = retry_count + 1,
43
+ start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
44
+ started_at = NULL,
45
+ worker_id = NULL,
46
+ error = ?
47
+ WHERE id = ?
48
+ `),i=this.db.prepare(`
49
+ UPDATE agx_jobs
50
+ SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
51
+ WHERE id = ?
52
+ `);(0,r.transaction)(this.db,()=>{for(let r of e){let e=o.get(r);if(e&&e.retry_count<e.retry_limit){let o=(e.retry_count+1)*2e3;n.run(s+o,t,r)}else i.run(s,t,r)}})}reapStaleJobs(e,t,r){let s=this.db.prepare(`
53
+ SELECT id, retry_count, retry_limit
54
+ FROM agx_jobs
55
+ WHERE queue = ?
56
+ AND status = 'active'
57
+ AND started_at IS NOT NULL
58
+ AND started_at <= ?
59
+ ORDER BY started_at ASC
60
+ `).all(e,r);if(0===s.length)return[];let o=this.db.prepare(`
61
+ UPDATE agx_jobs
62
+ SET status = 'retry',
63
+ retry_count = retry_count + 1,
64
+ start_after = ?,
65
+ started_at = NULL,
66
+ worker_id = NULL,
67
+ error = ?
68
+ WHERE id = ?
69
+ `),n=this.db.prepare(`
70
+ UPDATE agx_jobs
71
+ SET status = 'failed',
72
+ failed_at = ?,
73
+ started_at = NULL,
74
+ worker_id = NULL,
75
+ error = ?
76
+ WHERE id = ?
77
+ `),i=[];for(let e of s){let r=`Job exceeded active timeout of ${m()}ms`;e.retry_count<e.retry_limit?(o.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(n.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return i}}let S=null;async function E(){return S||(S=new _,await S.start()),S}async function w(){S&&(await S.stop(),S=null)}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>E,"stopQueue",()=>w],40793)},79580,96883,e=>{"use strict";var t=e.i(699904),r=e.i(902157),s=e.i(965196),o=e.i(750227),n=e.i(874533);function i(e){return e.replace(/\s+/g," ").trim()}async function a(e){return(0,s.getSQLiteDb)().prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(e).map(e=>({repo:e.repo,skillId:e.skill_id,...e.condition?{condition:e.condition}:{}}))}function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function d(e){let t=new Set,r=[];for(let s of l(e).split(" "))s.length<4||t.has(s)||(t.add(s),r.push(s));return r}function u(e,t,a){let u=[];for(let p of e){var c;if(!function(e,t){let r=l(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>l(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let s=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...d(e.skillId),...d(s)].some(e=>r.includes(e))}(p,t))continue;let e=(c=p.skillId,o.default.join(process.cwd(),".agents","skills",c,"SKILL.md"));(r.default.existsSync(e)||function(e){var t;let r=Array.from(new Set(e.providers.map(e=>"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null).filter(Boolean)));if(0===r.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let o=Date.now(),a=[],l="",d="",u="",c=new Map;for(let e of r){let t="claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null;if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[r,p]of c.entries()){let c=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",r,"--yes"];u=`npx ${c.join(" ")}`;let h=(0,n.spawnSync)("npx",c,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});l=String(h.stdout??""),d=String(h.stderr??"");let g=0===h.status;for(let n of p)a.push({provider:n,ok:g,agent:r}),t={provider:n,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:g?"succeeded":"failed",command:u,error:g?null:i(d||l).slice(0,1e3),run_started_at:o,run_completed_at:Date.now(),created_at:o,updated_at:Date.now()},(0,s.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
78
+ (provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
79
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.provider,t.repo,t.skill_id,t.skill_label,t.status,t.command,t.error,t.run_started_at,t.run_completed_at,t.created_at,t.updated_at);if(!g)return{ok:!1,command:u,stdout:l,stderr:d,results:a,error:i(d||l)||"Installation failed"}}return{ok:!0,command:u,stdout:l,stderr:d,results:a}}({repo:p.repo,skillId:p.skillId,providers:[a]}).ok)&&u.push({file:e,...p.condition?{condition:p.condition}:{}})}return u}e.s(["getAgentSkillBindings",()=>a,"resolveBoundSkillFiles",()=>u],96883);var c=e.i(686213);async function p(){let e=await (0,t.getAgents)(c.LOCAL_USER.id),r=new Map,s=new Map;return await Promise.all(e.map(async e=>{r.set(e.id,await (0,t.getAgentSkills)(e.id)),s.set(e.id,await a(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...r.get(e.id)?.length?{skills:r.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...s.get(e.id)?.length?{skillBindings:s.get(e.id)}:{}}))}function h(e,t){if(!Array.isArray(t))return e;let r=new Set,s=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),s.push(t))}let o=new Set(s),n=e.filter(e=>o.has(e.id));if(s.length>0&&0===n.length)return e;let i=new Map(s.map((e,t)=>[e,t]));return n.sort((e,t)=>(i.get(e.id)??Number.MAX_SAFE_INTEGER)-(i.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>h,"loadDbParticipants",()=>p],79580)},680469,e=>{"use strict";var t=e.i(902157),r=e.i(750227),s=e.i(660526);let o=new Set(["running","working"]),n=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
80
+ 1. what has been accomplished vs. what remains
81
+ 2. the concrete next steps needed to move toward shipping`,i=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
82
+ {"isDone": true/false, "message": "your assessment"}
83
+
84
+ Set isDone=true only when the thread is genuinely ready to stop ship mode and move into review.
85
+ If isDone=false, message must be a single concise steering note with both status and next steps.
86
+ The message must not be empty.`;function a(){try{let e=(0,r.join)((0,s.homedir)(),".agx","config.json");return JSON.parse((0,t.readFileSync)(e,"utf8")).defaultProvider??"claude"}catch{return"claude"}}function l(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}async function d(t){try{let[{getSQLiteDb:r},{loadDbParticipants:s}]=await Promise.all([e.A(548207),e.A(719893)]),o=r(),n=o.prepare(`SELECT pt.project_id AS project_id
87
+ FROM project_threads pt
88
+ WHERE pt.thread_id = ?
89
+ ORDER BY pt.created_at ASC
90
+ LIMIT 1`).get(t);if(!n?.project_id)return{provider:l(a()),model:null};let i=o.prepare(`SELECT agent_id
91
+ FROM project_agents
92
+ WHERE project_id = ?
93
+ ORDER BY routing_order ASC, created_at ASC
94
+ LIMIT 1`).get(n.project_id);if(!i?.agent_id)return{provider:l(a()),model:null};let d=(await s()).find(e=>e.id===i.agent_id);if(!d)return{provider:l(a()),model:null};return{provider:l(d.provider),model:d.model}}catch{return{provider:l(a()),model:null}}}function u(){return async(t,r)=>{let s=r.schedule?.rootMessageId;if(!s)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${t.title}" for graph ${r.id} (root: ${s})`);try{let r,{getMessageThread:a,getThreadStatusSnapshot:l,sweepStaleWorkingReactions:u}=await e.A(205617),c=await a(s);if(!c)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await u(c.threadId);let p=await l({threadId:c.threadId,rootMessageId:s}),h=p.processes.filter(e=>o.has(e.status)).length,g=p.rootMessage?.threadStatus??"active",f=p.processes.slice(0,8).map(e=>{let t=[`${e.agent}: ${e.status}`];return e.responseTo&&t.push(`replying to "${e.responseTo.slice(0,140)}"`),e.responseContent&&t.push(`latest response "${e.responseContent.slice(0,140)}"`),`- ${t.join(" | ")}`}).join("\n"),m=(p.messages??[]).slice(-15).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,600);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${h}, msgs=${p.messages?.length??0}`);let _=["--- THREAD STATE ---",`Root request: ${p.rootMessage?.content??"(missing root message)"}`,`Thread status: ${g}`,`Active agents: ${h}`,`Total messages: ${p.messages?.length??0}`,p.lastUpdatedAt?`Last updated at: ${new Date(p.lastUpdatedAt).toISOString()}`:null,"","Current process state:",f||"- none","","Recent messages:",m||"- none","--- END THREAD STATE ---","","Assess the progress and respond with the JSON object."].filter(Boolean).join("\n"),{runCliResponse:S}=await e.A(156795),E=await d(c.threadId);console.log(`[work-dispatch] Calling ${E.provider} via runCliResponse (prompt length: ${_.length})...`);let w="";await S({provider:E.provider,model:E.model,prompt:_,systemContext:(r=t.description?.trim()||n,`${r}
95
+
96
+ ${i}`),onDelta:e=>{w+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${w.slice(0,500)}`);let I=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]),r=String(e.message??"").trim();if(!r)return{ok:!1,error:"Ship mode response JSON did not include a non-empty message."};return{ok:!0,value:{isDone:!!e.isDone,message:r}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!1,error:"Ship mode response was not valid JSON with isDone/message fields."}}(w.trim());if(!I.ok)return{status:"failure",transient:!1,message:I.error};return console.log("[work-dispatch] Parsed result:",I),{status:"success",output:I.value}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}e.s(["createDispatchWork",()=>u])},209662,e=>{"use strict";var t=e.i(633037);function r(e,t=Date.now()){let s=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return s("no_schedule");let o=e.schedule;if("active"!==o.state)return s("not_active");if(o.tickInProgress)return s("tick_in_progress");if(null!=o.maxRuns&&o.runCount>=o.maxRuns)return s("max_runs_reached");if(o.cronExpr&&"number"==typeof o.nextTickAt){if(t<o.nextTickAt)return s("not_due")}else if(t-(o.lastTickAt??0)<o.intervalMs)return s("not_due");let n=JSON.parse(JSON.stringify(e)),i=[];for(let e of o.resetNodeIds){let t=n.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(n.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},i.push(e))}return n.schedule={...o,tickInProgress:!0,lastTickAt:t,runCount:o.runCount+1},{graph:n,tickFired:!0,resetNodeIds:i}}function s(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,s=r.nextTickAt;return r.cronExpr&&(s=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:s}}}function o(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let s=e.nodes[r];if(s&&!t.has(s.status))return!1}return!0}function n(e,t=6e4,r){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:r,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}}function i(e){return e.schedule&&"active"!==e.schedule.state?{...e,schedule:{...e.schedule,state:"active"}}:e}function a(e){return e.schedule?{...e,schedule:{...e.schedule,state:"stopped",tickInProgress:!1}}:e}e.s(["activateSchedule",()=>i,"completeScheduleTick",()=>s,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>o,"scheduleTickIfDue",()=>r,"stopSchedule",()=>a])},676109,e=>{"use strict";var t=e.i(965196);e.i(1181);var r=e.i(317325),s=e.i(545744),o=e.i(209662),n=e.i(633037),i=e.i(988840),a=e.i(291329);function l(){let e=new Map,o=(0,t.getSQLiteDb)().prepare(`
97
+ SELECT task_id, id, schedule
98
+ FROM execution_graphs
99
+ WHERE schedule IS NOT NULL
100
+ AND json_extract(schedule, '$.state') = 'active'
101
+ `).all(),n=new Map(o.map(e=>[e.id,e]));if((0,s.isAutomationFrontmatterEnabled)()){for(let t of(0,s.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active"})){if("execution_graph"!==t.definition.target.type)continue;let s=t.definition.target.graphId??t.definition.id,o=t.definition.target.taskId??n.get(s)?.task_id??s;e.set(s,{taskId:o,graphId:s,schedule:(0,r.automationRecordToGraphSchedule)(t,n.get(s)?JSON.parse(n.get(s).schedule):void 0)})}if(!(0,s.isAutomationDualReadEnabled)())return[...e.values()]}for(let t of o)e.has(t.id)||e.set(t.id,{taskId:t.task_id,graphId:t.id,schedule:JSON.parse(t.schedule)});return[...e.values()]}async function d(e={}){let t=new a.GraphStore,r={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},s=l();for(let{taskId:a}of(console.log(`[schedules:poll] found ${s.length} active schedule(s)`),s))try{let s=t.getGraph(a);if(!s){r.errors.push({graphId:a,error:Error("Graph not found")});continue}let l=(0,o.scheduleTickIfDue)(s);if(!l.tickFired){console.log(`[schedules:poll] ${a} skipped (${l.skipReason??"unknown"})`),r.skippedGraphIds.push(a);continue}console.log(`[schedules:poll] ${a} tick fired — resetting nodes`),t.updateGraphStructure(l.graph.id,{nodes:l.graph.nodes,schedule:l.graph.schedule});let d=(0,n.schedulerTick)(l.graph,e);console.log(`[schedules:poll] ${a} scheduler: fn=${d.functionToRun.length} work=${d.workToRun.length}`);let u=d.graph;for(let t of d.functionToRun){let s=u.nodes[t];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${a} executing function node "${t}"`);let r=await (0,i.executeNode)(u,t,e),s=r.graph.nodes[t];console.log(`[schedules:poll] ${a} function "${t}" → ${s?.status}`,s&&"output"in s?JSON.stringify(s.output)?.slice(0,200):""),u=r.graph}catch(e){console.error(`[schedules:poll] ${a} function "${t}" error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(u.id,{nodes:u.nodes});let c=(0,n.schedulerTick)(u,e);for(let t of(console.log(`[schedules:poll] ${a} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),u=c.graph,c.workToRun)){let s=u.nodes[t];if(s&&"work"===s.type)try{u=(await (0,i.executeNode)(u,t,e)).graph}catch(e){r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){r.pendingWork.push({taskId:a,nodeIds:c.workToRun,graph:u}),t.updateGraphStructure(u.id,{nodes:u.nodes});let s=(0,n.schedulerTick)(u,e);for(let t of(console.log(`[schedules:poll] ${a} post-work scheduler: fn=${s.functionToRun.length} cond=${s.control.conditionalNodeIds.length}`),u=s.graph,s.functionToRun)){let s=u.nodes[t];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${a} executing post-work function "${t}"`),u=(await (0,i.executeNode)(u,t,e)).graph}catch(e){console.error(`[schedules:poll] ${a} post-work function "${t}" error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(u.id,{nodes:u.nodes});let p=Object.entries(u.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${a} node states: ${p}`);let h=(0,o.isScheduleTickComplete)(u);if(console.log(`[schedules:poll] ${a} tick complete? ${h}`),h){let e=(0,o.completeScheduleTick)(u),r=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,s=r?t+1:0;e.schedule={...e.schedule,consecutiveFailures:s};let o=e.schedule.maxConsecutiveFailures;null!=o&&s>=o&&(e.schedule={...e.schedule,state:"paused"})}let s=t.getGraph(a);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${a} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}r.tickedGraphIds.push(a)}catch(e){console.error(`[schedules:poll] ${a} caught error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(a);if(e?.schedule?.tickInProgress){let r=(0,o.completeScheduleTick)(e);t.updateGraphStructure(r.id,{nodes:r.nodes,schedule:r.schedule}),console.log(`[schedules:poll] ${a} force-completed stuck tick`)}}catch{}}return r}async function u(e,t={}){let r=new a.GraphStore,s=r.getGraph(e);if(!s)return{fired:!1,graph:null,error:Error("Graph not found")};if(!s.schedule)return{fired:!1,graph:s,error:Error("No schedule on graph")};let l=(0,o.scheduleTickIfDue)(s);if(!l.tickFired)return{fired:!1,graph:l.graph};r.updateGraphStructure(l.graph.id,{nodes:l.graph.nodes,schedule:l.graph.schedule});let d=l.graph,c=0;for(;;){c++;let e=Object.entries(d.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let r=(0,n.schedulerTick)(d,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${r.functionToRun.length} work=${r.workToRun.length} cond=${r.control.conditionalNodeIds.length}`),r.functionToRun)){let r=d.nodes[e];r&&"function"===r.type&&(d=(await (0,i.executeNode)(d,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${d.nodes[e]?.status}`))}for(let e of(r.control.conditionalNodeIds.length>0&&(d=r.graph,console.log(`[schedules:tick] applied conditional results: ${r.control.conditionalNodeIds.join(", ")}`)),r.workToRun))d=(await (0,i.executeNode)(d,e,t)).graph;let s=Object.entries(d.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${s}`),(0,o.isScheduleTickComplete)(d)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(r.complete||!(r.workToRun.length>0||r.functionToRun.length>0))break}let p=(0,o.completeScheduleTick)(d);return r.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>u,"getGraphsWithActiveSchedules",()=>l,"pollSchedules",()=>d])},558898,e=>{"use strict";e.s(["createDispatchFunction",()=>x,"dispatchBashFunction",()=>R],558898);var t=e.i(233405),r=e.i(686213),s=e.i(79580),o=e.i(965196),n=e.i(912931),i=e.i(699904),a=e.i(65768),l=e.i(190088);async function d(e,t,s=[]){let u,c,p,h,g,f=new Set;for(let r of(e&&f.add(e),t))r&&f.add(r);if(0===f.size)return;let m=await Promise.all(Array.from(f).map(async e=>{try{let t=await n.db.getProjectWithRepos(e,r.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),_=new Map;for(let[e,t]of m)t&&_.set(e,t);let S=e?_.get(e):void 0,E=t.map(e=>_.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(S||0!==E.length){if(S)try{let[e,t,r]=await Promise.all([(0,i.getProjectSkills)(S.id),(0,i.getProjectVariables)(S.id),(0,i.getProjectMemory)(S.id,"human")]),n=(0,l.getKnowledgeNote)("project",S.id);e.length>0&&(u=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),t.length>0&&(c=t.map(e=>({key:e.key,value:e.value}))),r.length>0&&(p=r.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),n?.content&&(p=[...p??[],{content:n.content,source:"system-note"}]);let d=(function(e){let t=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=a.vaultStore.getKnowledgeNote("repo",r.id),s=e?.content.trim()||String(r.notes??"").trim();s&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:s,producer:"human"})}return t})(S.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(d.length>0&&(h=d),s.length>0){let e=(0,o.getSQLiteDb)();for(let t of(g={},s)){let r=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);g[t.id]=await (0,i.buildExecutionProvenance)(t.id,S.id,t.skills??[],r)}}}catch(e){console.warn("Failed to load project resources",{projectId:S.id,error:e})}return{activeProject:S?{id:S.id,slug:S.slug,name:S.name}:void 0,mentionedProjects:E.length>0?E:void 0,skills:u,variables:c,memory:p,repoKnowledge:h,provenanceByAgentId:g}}}var u=e.i(157306),c=e.i(40793),p=e.i(469324),h=e.i(26607),g=e.i(676109),f=e.i(680469);let m=null,_=null;async function S(){return _||(_=(async()=>{let e=await (0,g.pollSchedules)({dispatchFunction:x(),dispatchWork:(0,f.createDispatchWork)()});e.errors.length>0&&(0,u.writeDebugLog)("schedule_runtime.poll.error",{errorCount:e.errors.length,graphIds:e.errors.map(e=>e.graphId)})})().catch(e=>{(0,u.writeDebugLog)("schedule_runtime.poll.exception",{error:e}),console.error("[schedule-runtime] Poll failed:",e)}).finally(()=>{_=null}))}async function E(){let e;if("1"===process.env.AGX_DISABLE_SCHEDULE_POLLING||m)return;let t=Number.isFinite(e=Number(process.env.AGX_SCHEDULE_POLL_INTERVAL_MS))?Math.max(1e3,e):5e3;(0,u.writeDebugLog)("schedule_runtime.start",{intervalMs:t}),"function"==typeof(m=setInterval(()=>{S()},t)).unref&&m.unref(),await S()}let w=null;async function I(){return w||(w=(async()=>{(0,u.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,c.getQueue)();await e.work(c.QUEUE_NAMES.TASK_PROCESS,p.taskProcessor,{batchSize:5}),await e.work(c.QUEUE_NAMES.CHAT_RUN_PROCESS,h.chatProcessor,{batchSize:2}),await E(),(0,u.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[c.QUEUE_NAMES.TASK_PROCESS,c.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,u.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),w=null,e}))}let k=new Set(["running","working"]);function v(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}function T(e){return e.replace(/\s+/g," ").trim()}async function y(t){try{let{getSQLiteDb:r}=await e.A(548207),s=r(),o=s.prepare(`SELECT pt.project_id AS project_id, p.slug AS project_slug
102
+ FROM project_threads pt
103
+ JOIN projects p ON p.id = pt.project_id
104
+ WHERE pt.thread_id = ?
105
+ ORDER BY pt.created_at ASC
106
+ LIMIT 1`).get(t);if(!o?.project_id)return{projectSlug:null,projectAgentIds:[]};let n=s.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC").all(o.project_id);return{projectSlug:o.project_slug?.trim()||null,projectAgentIds:n.map(e=>e.agent_id?.trim()).filter(e=>!!e)}}catch{return{projectSlug:null,projectAgentIds:[]}}}async function b(t,r){let s=v(t,r);if(!s)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:o,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:i}=await e.A(205617),a=await o(s);if(!a)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await i(a.threadId);let l=await n({threadId:a.threadId,rootMessageId:s});return{status:"success",output:{activeProcessCount:l.processes.filter(e=>k.has(e.status)).length,messageCount:l.messages?.length??0,threadId:a.threadId,lastUpdatedAt:l.lastUpdatedAt}}}async function A(t,o){let n=v(t,o);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let i=function(e,t){let r="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",s=t.nodes[r];if(!s||"work"!==s.type)return null;let o=s.output;return o&&"object"==typeof o?{isDone:!!o.isDone,message:"string"==typeof o.message?o.message:""}:null}(t,o);if(!i)return{status:"failure",message:"Unable to read steer node output"};if(!T(i.message))return{status:"failure",message:"Ship mode produced an empty steer message"};let{createChatRun:a,getThreadStatusSnapshot:l,getMessageThread:p,loadHistory:h,saveMessages:g,updateMessageStatus:f}=await e.A(205617),{deactivateSchedulesByRootMessageId:m}=await e.A(502224),_=await p(n);if(!_)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(i.isDone){let e=(await l({threadId:_.threadId,rootMessageId:n})).processes.filter(e=>k.has(e.status)).length;return e>0?{status:"success",output:{done:!1,action:"completion_deferred_active_work",activeProcessCount:e}}:(m(n),await f(_.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}})}let S=await (0,s.loadDbParticipants)(),E=Object.fromEntries(S.map(e=>[e.id,e.name])),{projectSlug:w,projectAgentIds:b}=await y(_.threadId),A=await h(_.threadId),L=b[0]??S[0]?.id??null;if(function(e,t,r,s){let o=T(r);if(!o)return!1;let n=Date.now()-9e5;return e.filter(e=>e.id===t||e.rootMessageId===t).some(e=>"assistant"===e.role&&!(e.timestamp<n)&&(!s||e.participantId===s)&&T(e.content)===o)}(A,n,i.message,L))return{status:"success",output:{done:!1,action:"duplicate_next_steps_skipped",sender:L}};let R=crypto.randomUUID();await g(_.threadId,[{id:R,role:"assistant",participantId:L,content:i.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]);let x=(b.length>0?b:S.map(e=>e.id)).filter((e,t,r)=>e&&r.indexOf(e)===t),N=x.filter(e=>e!==L),D=(N.length>0?N:x).filter(e=>S.some(t=>t.id===e));if(0===D.length)return{status:"success",output:{done:!1,action:"sent_next_steps_only",sender:L,messageId:R}};let $=S.filter(e=>D.includes(e.id)),j=w?await d(w,[],$):void 0,C=crypto.randomUUID(),U={threadId:_.threadId,prompt:i.message,projectContext:j,mentionedIds:[],initialParallelIds:[],maxRounds:10,recentHistory:A.filter(e=>e.id===n||e.rootMessageId===n).slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?E[e.participantId]||e.participantId:"Assistant",content:e.content})),currentUserMessageId:R,rootMessageId:n,participantIds:D};await a({id:C,threadId:_.threadId,rootMessageId:n,userId:r.LOCAL_USER.id,projectSlug:w??null,maxSteps:10,activeParticipantIds:D,payload:U}),await I();let O=await (0,c.getQueue)();return await O.send(c.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:C,userId:r.LOCAL_USER.id,signal:"start"}),(0,u.writeDebugLog)("ship_mode.steer.enqueued",{rootMessageId:n,threadId:_.threadId,chatRunId:C,authorId:L,participantIds:D,projectSlug:w??null}),{status:"success",output:{done:!1,action:"sent_next_steps_and_started_chat_run",sender:L,messageId:R,chatRunId:C}}}async function L(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return b(e,t);case"ship-mode-act":return A(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function R(e,r){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let s=e.command;if(!s||""===s.trim())return{status:"failure",message:"Empty command"};let o=e.timeoutMs??3e4;return new Promise(e=>{let r="",n="",i=0,a=!1,l=!1,d=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),u=setTimeout(()=>{l=!0,d.kill("SIGTERM")},o);d.stdout.on("data",e=>{if(a)return;let t=Buffer.byteLength(e.toString(),"utf8");if(i+t>65536){a=!0;return}r+=e.toString(),i+=t}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",t=>{clearTimeout(u),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),d.on("close",t=>{if(clearTimeout(u),l)return void e({status:"failure",message:`Command timed out after ${o}ms`});if(a)return void e({status:"failure",message:"Stdout exceeded 65536 bytes limit"});if(0!==t)return void e({status:"failure",message:`Command exited with code ${t}: ${n||"(no stderr)"}`});let s=r.trim();if(""===s)return void e({status:"success",output:{}});try{let t=JSON.parse(s);e({status:"success",output:t})}catch{e({status:"success",output:{raw:s}})}})})}function x(){return async(e,t)=>{switch(e.kind){case"bash":return R(e,t);case"internal":return L(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}},548207,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__255b11f2._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(t=>e.l(t))).then(()=>t(965196)))},482848,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node:child_process_261e8bca._.js"].map(t=>e.l(t))).then(()=>t(874533)))},719893,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f51c7b72._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js","server/chunks/node_modules_d2858615._.js","server/chunks/lib_2cd3429c._.js"].map(t=>e.l(t))).then(()=>t(79580)))},205617,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f7f336c7._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(t=>e.l(t))).then(()=>t(455248)))},156795,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__a21cc96d._.js","server/chunks/lib_f81d6da9._.js"].map(t=>e.l(t))).then(()=>t(390107)))}];
107
+
108
+ //# sourceMappingURL=%5Broot-of-the-server%5D__2cfd21b8._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);m&&i.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},780188,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),x=e.i(193695);e.i(52474);var R=e.i(600220),g=e.i(89171),E=e.i(254799),v=e.i(960447);let _=new Set(["outcome","decision","pattern","gotcha"]);async function y(e){try{let{agent_id:t,task_id:r,memories:a}=await e.json();if(!t||!r)return g.NextResponse.json({error:"agent_id and task_id required"},{status:400});if(!Array.isArray(a)||0===a.length)return g.NextResponse.json({inserted:0});let n=(0,v.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);m&&i.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},780188,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),x=e.i(193695);e.i(52474);var R=e.i(600220),g=e.i(89171),E=e.i(254799),v=e.i(960447);let _=new Set(["outcome","decision","pattern","gotcha"]);async function y(e){try{let{agent_id:t,task_id:r,memories:a}=await e.json();if(!t||!r)return g.NextResponse.json({error:"agent_id and task_id required"},{status:400});if(!Array.isArray(a)||0===a.length)return g.NextResponse.json({inserted:0});let n=(0,v.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
2
2
  VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,o=Date.now();for(let e of a){if(!_.has(e.memory_type)||!e.content?.trim())continue;let a=(0,E.createHash)("sha256").update(e.content.trim()).digest("hex");n.run((0,E.randomUUID)(),t,r,e.memory_type,e.content.trim(),a,o).changes>0&&s++}return g.NextResponse.json({inserted:s})}catch(e){return console.error("[api/memories] POST error:",e),g.NextResponse.json({error:"Failed to store memories"},{status:500})}}async function w(e){let{searchParams:t}=new URL(e.url),r=t.get("task_id"),a=t.get("agent_id");if(!r&&!a)return g.NextResponse.json({error:"task_id or agent_id query parameter required"},{status:400});try{let e,t=(0,v.getSQLiteDb)();return e=r?t.prepare("SELECT * FROM agent_memory WHERE task_id = ? ORDER BY created_at ASC").all(r):t.prepare("SELECT * FROM agent_memory WHERE agent_id = ? ORDER BY created_at ASC").all(a),g.NextResponse.json({memories:e})}catch(e){return console.error("[api/memories] GET error:",e),g.NextResponse.json({error:"Failed to fetch memories"},{status:500})}}e.s(["GET",()=>w,"POST",()=>y],286835);var A=e.i(286835);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memories/route",pathname:"/api/memories",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/memories/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:T}=S;function L(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})}async function N(e,t,a){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/memories/route";g=g.replace(/\/index$/,"")||"/";let E=await S.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:_,nextConfig:y,parsedUrl:w,isDraftMode:A,prerenderManifest:C,routerServerContext:b,isOnDemandRevalidate:T,revalidateOnlyGenerated:L,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:q}=E,k=(0,i.normalizeAppPath)(g),j=!!(C.dynamicRoutes[k]||C.routes[N]),I=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,w,!1):t.end("This page could not be found"),null);if(j&&!A){let e=!!C.routes[N],t=C.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await I();throw new x.NoFallbackError}}let P=null;!j||S.isDev||A||(P="/index"===(P=N)?"/":P);let U=!0===S.isDev||!j,D=j&&!U;q&&O&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:q});let M=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),H={params:_,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,b)},sharedContext:{buildId:v}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o=async e=>S.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${g}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&T&&L&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(G,B,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,b),t}},d=await S.handleResponse({req:e,nextConfig:y,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:L,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!j)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&j||x.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,B,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,b),j)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>L,"routeModule",()=>S,"serverHooks",()=>T,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>b],780188)}];
3
3
 
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__f9f7f2df._.js.map
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__3c1403f2._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let i=Object.values(r);return i.length>0?i[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function i(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function l(e,t){return(...r)=>{e.exec("BEGIN");try{let i=t(...r);return e.exec("COMMIT"),i}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>i,"transaction",()=>n,"transactionFn",()=>l])},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),i=e.i(814747);let n="3.35.0",l=["json1"],s=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,c){let u=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),i=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(i[e]||0);if(0!==t)return t}return 0}(p.v,n)&&u.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),l))o(d,e)||u.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of s)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=i.default.resolve(t),{execSync:l}=e.r(233405);if("darwin"===r.default.platform()){let e=l(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(c);f&&a.some(e=>f.toLowerCase().includes(e))&&u.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${f})`,path:c,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):u.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){u.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return u}e.s(["validateSQLiteEnvironment",()=>d])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},737175,e=>{"use strict";var t=e.i(902157),r=e.i(750227),i=e.i(874533),n=e.i(960447);let l=null,s=new Map;function a(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function c(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function u(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()&&t.default.existsSync(r.default.join(e,i.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function f(){if(l&&Date.now()-l.loadedAt<36e5)return l.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let i=t.indexOf(":[",r);if(-1===i)return[];let n=i+1,s=0,a=n;for(let e=n;e<t.length;e+=1)if("["===t[e]&&(s+=1),"]"===t[e]&&(s-=1),0===s){a=e+1;break}let o=t.slice(n,a).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return l={loadedAt:Date.now(),data:d},d}catch{return[]}}async function m(e,t){let r=`${e}/${t}`,i=s.get(r);if(i&&Date.now()-i.loadedAt<36e5)return i.data;try{let i=await fetch(`https://skills.sh/${e}/${t}`);if(!i.ok)return null;let n=await i.text(),l=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let i=e.indexOf(">",r);if(-1===i)return"";let n=e.indexOf('<div class=" lg:col-span-3">',i);return -1===n?"":e.slice(i+1,n).replace(/\s*<\/div>\s*$/i,"").trim()}(n),d=l.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),c=d?a(o(d[1])):"",u=(d?l.slice((d.index??0)+d[0].length):l).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=u?a(o(u[1])):"",f=[],m=l.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(m){let e=m[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=a(o(r[1]));e&&f.push(e)}}}let g=n.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",h=n.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",v=n.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),_=v?v[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,k={title:c,description:p,whenToUse:f,weeklyInstalls:g,firstSeen:h,installCommand:_};return s.set(r,{loadedAt:Date.now(),data:k}),k}catch{return null}}function g(e){(0,n.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
1
+ module.exports=[446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let i=Object.values(r);return i.length>0?i[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function i(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function l(e,t){return(...r)=>{e.exec("BEGIN");try{let i=t(...r);return e.exec("COMMIT"),i}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>i,"transaction",()=>n,"transactionFn",()=>l])},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),i=e.i(814747);let n="3.35.0",l=["json1"],s=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,c){let u=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),i=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(i[e]||0);if(0!==t)return t}return 0}(p.v,n)&&u.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),l))o(d,e)||u.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of s)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=i.default.resolve(t),{execSync:l}=e.r(233405);if("darwin"===r.default.platform()){let e=l(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(c);f&&a.some(e=>f.toLowerCase().includes(e))&&u.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${f})`,path:c,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):u.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){u.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return u}e.s(["validateSQLiteEnvironment",()=>d])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},737175,e=>{"use strict";var t=e.i(902157),r=e.i(750227),i=e.i(874533),n=e.i(960447);let l=null,s=new Map;function a(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function c(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function u(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()&&t.default.existsSync(r.default.join(e,i.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function f(){if(l&&Date.now()-l.loadedAt<36e5)return l.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let i=t.indexOf(":[",r);if(-1===i)return[];let n=i+1,s=0,a=n;for(let e=n;e<t.length;e+=1)if("["===t[e]&&(s+=1),"]"===t[e]&&(s-=1),0===s){a=e+1;break}let o=t.slice(n,a).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return l={loadedAt:Date.now(),data:d},d}catch{return[]}}async function m(e,t){let r=`${e}/${t}`,i=s.get(r);if(i&&Date.now()-i.loadedAt<36e5)return i.data;try{let i=await fetch(`https://skills.sh/${e}/${t}`);if(!i.ok)return null;let n=await i.text(),l=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let i=e.indexOf(">",r);if(-1===i)return"";let n=e.indexOf('<div class=" lg:col-span-3">',i);return -1===n?"":e.slice(i+1,n).replace(/\s*<\/div>\s*$/i,"").trim()}(n),d=l.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),c=d?a(o(d[1])):"",u=(d?l.slice((d.index??0)+d[0].length):l).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=u?a(o(u[1])):"",f=[],m=l.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(m){let e=m[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=a(o(r[1]));e&&f.push(e)}}}let g=n.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",h=n.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",v=n.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),_=v?v[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,k={title:c,description:p,whenToUse:f,weeklyInstalls:g,firstSeen:h,installCommand:_};return s.set(r,{loadedAt:Date.now(),data:k}),k}catch{return null}}function g(e){(0,n.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
2
2
  (provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
3
3
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function h(e=50,t){let r=(0,n.getSQLiteDb)(),i=[],l="",s=t?d(t):null;return s&&(l="WHERE provider = ?",i.push(s)),i.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
4
4
  FROM skill_learning_history
@@ -12,4 +12,4 @@ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:pat
12
12
  VALUES (?, ?, ?, ?)
13
13
  ON CONFLICT(agent_id, repo, skill_id) DO UPDATE SET condition = excluded.condition`).run(e,t.repo,t.skillId,t.condition);return n(e)}function s(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function a(e){let t=new Set,r=[];for(let i of s(e).split(" "))i.length<4||t.has(i)||(t.add(i),r.push(i));return r}function o(e,r,n){let l=[];for(let o of e){if(!function(e,t){let r=s(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>s(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let i=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...a(e.skillId),...a(i)].some(e=>r.includes(e))}(o,r))continue;let e=(0,i.installedSkillPath)(o.skillId);(t.default.existsSync(e)||(0,i.installSkill)({repo:o.repo,skillId:o.skillId,providers:[n]}).ok)&&l.push({file:e,...o.condition?{condition:o.condition}:{}})}return l}e.s(["getAgentSkillBindings",()=>n,"resolveBoundSkillFiles",()=>o,"setAgentSkillBindings",()=>l])},384776,e=>{"use strict";var t=e.i(762294),r=e.i(149953),i=e.i(949041);async function n(){let e=await (0,t.getAgents)(i.LOCAL_USER.id),n=new Map,l=new Map;return await Promise.all(e.map(async e=>{n.set(e.id,await (0,t.getAgentSkills)(e.id)),l.set(e.id,await (0,r.getAgentSkillBindings)(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...n.get(e.id)?.length?{skills:n.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...l.get(e.id)?.length?{skillBindings:l.get(e.id)}:{}}))}function l(e,t){if(!Array.isArray(t))return e;let r=new Set,i=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),i.push(t))}let n=new Set(i),l=e.filter(e=>n.has(e.id));if(i.length>0&&0===l.length)return e;let s=new Map(i.map((e,t)=>[e,t]));return l.sort((e,t)=>(s.get(e.id)??Number.MAX_SAFE_INTEGER)-(s.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>l,"loadDbParticipants",()=>n])},723965,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),n=e.i(759756),l=e.i(561916),s=e.i(174677),a=e.i(869741),o=e.i(316795),d=e.i(487718),c=e.i(995169),u=e.i(47587),p=e.i(666012),f=e.i(570101),m=e.i(626937),g=e.i(10372),h=e.i(193695);e.i(52474);var v=e.i(600220),_=e.i(762294),k=e.i(149953),S=e.i(960447),E=e.i(949041),y=e.i(384776),x=e.i(41334);async function R(){return Response.json(await (0,y.loadDbParticipants)())}function w(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function A(e,t){let r,i=w(e.name),n=w(e.provider),l=w(e.model),s=w(e.id)??t;if(!s||!i||!n||!l)return null;let a=w(e.title),o=w(e.identity),d=w(e.identityFile),c=function(e){if(!Array.isArray(e))return;let t=e.map(e=>"string"==typeof e?{file:e.trim(),condition:""}:e&&"object"==typeof e&&"file"in e?{file:String(e.file??"").trim(),condition:String(e.condition??"").trim()}:null).filter(e=>null!==e&&e.file.length>0);return t.length>0?t:void 0}(e.skills),u=function(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=String(e.repo??"").trim(),r=String(e.skillId??e.skill_id??"").trim();if(!t||!r)return null;let i=String(e.condition??"").trim();return{repo:t,skillId:r,...i?{condition:i}:{}}}).filter(e=>!!e);return t.length>0?t:void 0}(e.skillBindings),p=w(e.color)??"#6B7280";if(e.variables&&"object"==typeof e.variables&&!Array.isArray(e.variables)){let t=e.variables,i={};for(let[e,r]of Object.entries(t))"string"==typeof r&&(i[e]=r);Object.keys(i).length>0&&(r=i)}return{id:s,name:i,provider:n,model:l,color:p,...a?{title:a}:{},...o?{identity:o}:{},...w(e.voice)?{voice:w(e.voice)}:{},...w(e.seed)?{seed:w(e.seed)}:{},...d?{identityFile:d}:{},...c?{skills:c}:{},...u?{skillBindings:u}:{},...r?{variables:r}:{}}}async function b(e){let t,r=await e.json().catch(()=>({})),i=w(r.name),n=A(r,i?i.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"):void 0);if(!n)return Response.json({error:"name, provider, and model required"},{status:400});try{t=await (0,_.createAgent)(E.LOCAL_USER.id,{id:n.id,name:n.name,title:n.title,style:"balanced",description:n.identity,model:n.model??void 0,provider:n.provider,color:n.color,voice:w(r.voice),seed:w(r.seed)}),await (0,_.setAgentSkills)(t.id,n.skills??[]),await (0,k.setAgentSkillBindings)(t.id,n.skillBindings??[]),(0,x.ensureAgent)(t.id,{voice:w(r.voice),seed:w(r.seed)})}catch(e){return console.error("Failed to create agent in DB:",e),Response.json({error:"Failed to create agent"},{status:500})}let l={id:t.id,name:t.name,...t.title||n.title?{title:t.title||n.title}:{},provider:t.provider||n.provider||"claude",model:t.model||n.model||null,color:t.color||n.color||"#6B7280",...t.description||n.identity?{identity:t.description||n.identity}:{},...t.voice||n.voice?{voice:t.voice||n.voice}:{},...t.seed||n.seed?{seed:t.seed||n.seed}:{},...n.skills?.length?{skills:n.skills}:{},...n.skillBindings?.length?{skillBindings:n.skillBindings}:{}},s=w(r.projectId)??w(r.teamId);if(s)try{(0,S.getSQLiteDb)().prepare("INSERT OR IGNORE INTO project_agents (project_id, agent_id, routing_order) VALUES (?, ?, (SELECT COALESCE(MAX(routing_order), -1) + 1 FROM project_agents WHERE project_id = ?))").run(s,l.id,s)}catch(e){console.error("Failed to assign agent to project:",e)}return Response.json(l,{status:201})}async function C(e){let t,r=await e.json().catch(()=>({})),i=A(r);if(!i)return Response.json({error:"id, name, provider, and model required"},{status:400});try{t=await (0,_.updateAgent)(i.id,E.LOCAL_USER.id,{name:i.name,title:i.title,description:i.identity,model:i.model??void 0,provider:i.provider,color:i.color,voice:w(r.voice),seed:w(r.seed)}),await (0,_.setAgentSkills)(i.id,i.skills??[]),await (0,k.setAgentSkillBindings)(i.id,i.skillBindings??[]),(0,x.ensureAgent)(i.id,{voice:w(r.voice),seed:w(r.seed)})}catch(e){return console.error("Failed to update agent in DB:",e),Response.json({error:"Failed to update agent"},{status:500})}if(!t)return Response.json({error:"Agent not found"},{status:404});let n={id:t.id,name:t.name,...t.title||i.title?{title:t.title||i.title}:{},provider:t.provider||i.provider||"claude",model:t.model||i.model||null,color:t.color||i.color||"#6B7280",...t.description||i.identity?{identity:t.description||i.identity}:{},...t.voice||i.voice?{voice:t.voice||i.voice}:{},...t.seed||i.seed?{seed:t.seed||i.seed}:{},...i.skills?.length?{skills:i.skills}:{},...i.skillBindings?.length?{skillBindings:i.skillBindings}:{}};return Response.json(n)}async function L(e){let t=await e.json().catch(()=>({}));if(!Array.isArray(t.orderedIds)||t.orderedIds.some(e=>"string"!=typeof e))return Response.json({error:"orderedIds must be a string array"},{status:400});let r=await (0,y.loadDbParticipants)(),i=new Map(t.orderedIds.map((e,t)=>[e,t]));return r.sort((e,t)=>(i.get(e.id)??999)-(i.get(t.id)??999)),Response.json(r)}async function I(e){let{searchParams:t}=new URL(e.url),r=t.get("id");if(!r)return Response.json({error:"id required"},{status:400});try{await (0,_.deleteAgent)(r,E.LOCAL_USER.id)}catch(e){console.error("Failed to delete agent from DB:",e)}return Response.json({ok:!0})}e.s(["DELETE",()=>I,"GET",()=>R,"PATCH",()=>C,"POST",()=>b,"PUT",()=>L,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],490158);var O=e.i(490158);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/participants/route",pathname:"/api/participants",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/participants/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:D,workUnitAsyncStorage:j,serverHooks:N}=T;function B(){return(0,i.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:j})}async function q(e,t,i){T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/participants/route";_=_.replace(/\/index$/,"")||"/";let k=await T.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:S,params:E,nextConfig:y,parsedUrl:x,isDraftMode:R,prerenderManifest:w,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,resolvedPathname:L,clientReferenceManifest:I,serverActionsManifest:O}=k,D=(0,a.normalizeAppPath)(_),j=!!(w.dynamicRoutes[D]||w.routes[L]),N=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!R){let e=!!w.routes[L],t=w.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await N();throw new h.NoFallbackError}}let B=null;!j||T.isDev||R||(B="/index"===(B=L)?"/":B);let q=!0===T.isDev||!j,M=j&&!q;O&&I&&(0,s.setManifestsSingleton)({page:_,clientReferenceManifest:I,serverActionsManifest:O});let P=e.method||"GET",$=(0,l.getTracer)(),F=$.getActiveScopeSpan(),U={params:E,prerenderManifest:w,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,n)=>T.onRequestError(e,t,i,n,A)},sharedContext:{buildId:S}},H=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let s=async e=>T.handle(K,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${P} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${_}`)}),a=!!(0,n.getRequestMeta)(e,"minimalMode"),o=async n=>{var l,o;let d=async({previousCacheEntry:r})=>{try{if(!a&&b&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let l=await s(n);e.fetchMetrics=U.renderOpts.fetchMetrics;let o=U.renderOpts.pendingWaitUntil;o&&i.waitUntil&&(i.waitUntil(o),o=void 0);let d=U.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(H,G,l,U.renderOpts.pendingWaitUntil),null;{let e=await l.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(l.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,i=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:l.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,A),t}},c=await T.handleResponse({req:e,nextConfig:y,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:w,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:i.waitUntil,isMinimalMode:a});if(!j)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});a||t.setHeader("x-nextjs-cache",b?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return a&&j||h.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(H,G,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};F?await o(F):await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${P} ${_}`,kind:l.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},o))}catch(t){if(t instanceof h.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,A),j)throw t;return await (0,p.sendResponse)(H,G,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>B,"routeModule",()=>T,"serverHooks",()=>N,"workAsyncStorage",()=>D,"workUnitAsyncStorage",()=>j],723965)}];
14
14
 
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__143fdf69._.js.map
15
+ //# sourceMappingURL=%5Broot-of-the-server%5D__40e9e2e8._.js.map
@@ -0,0 +1,49 @@
1
+ module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(960447),r=e.i(259833);e.i(201037);var a=e.i(200866),n=e.i(434542);let i=new Set(["replan","rollback"]);class o extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class s extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class d extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class u extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function p(e){return null==e?null:JSON.stringify(e)}function c(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function l(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function g(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function h(e){if(!(0,n.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,n.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function m(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
2
+ FROM execution_graphs
3
+ WHERE id = ?
4
+ LIMIT 1`).get(r);return a?.taskId??null}function E(e){let{type:t,status:r,metrics:a,output:n,...i}=e;return{type:t,status:r,config:i,output:n??null,metrics:a??null}}function f(e){let t={...g(c(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=l(e.timestamp)),t}function _(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...(r??[]).map(e=>e)),{rows:[]}):{rows:a.all(...(r??[]).map(e=>e))}}}}class y{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let a=this.getDb(),n=_(a);t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = OFF");try{return(0,r.transaction)(a,()=>{let r=n.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new u(e.taskId,r.id);for(let[t,r]of(n.query(`INSERT INTO execution_graphs
5
+ (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
6
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
7
+ ON CONFLICT (id) DO UPDATE SET
8
+ task_id = excluded.task_id,
9
+ graph_version = excluded.graph_version,
10
+ mode = excluded.mode,
11
+ policy = excluded.policy,
12
+ done_criteria = excluded.done_criteria,
13
+ schedule = excluded.schedule,
14
+ created_at = excluded.created_at,
15
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,p(e.policy),p(e.doneCriteria),p(e.schedule??null),e.createdAt,e.updatedAt]),n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=E(r);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
16
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,p(a.config),p(a.output),p(a.metrics)])}for(let t of e.edges)n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
17
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,p(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(n,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(n,e.id,t);t?.skipTaskBinding||n.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let a=this.getGraphForTask(n,e.taskId);if(!a)throw new s(e.id);return h(a),a})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(_(t),e)}updateNodeRuntime(e,t,a){let n=this.getDb(),i=_(n);return(0,r.transaction)(n,()=>{if(!i.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new s(e);let r=Object.keys(t);if(0===r.length){let t=i.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:l(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),n=i.query(`SELECT node_id, type, status, config, output, metrics
18
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),o=new Map;for(let e of n.rows)o.set(e.node_id,e);let u=r.filter(e=>!o.has(e));if(u.length>0)throw new d(e,u);for(let a of r){let r=t[a],n=o.get(a);if(!n||!r)continue;let s={...g(c(n.config)),...g(r.configPatch)};void 0!==r.startedAt&&(s.startedAt=r.startedAt),void 0!==r.completedAt&&(s.completedAt=r.completedAt),void 0!==r.actualMinutes&&(s.actualMinutes=r.actualMinutes),i.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
19
+ WHERE graph_id = ? AND node_id = ?`,[r.status??n.status,p(r.metrics??c(n.metrics)),p(r.output??c(n.output)),p(s),e,a])}let h=i.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:l(h.rows[0].updated_at)}})}updateGraphStructure(e,t,a){let n=this.getDb(),i=_(n);return(0,r.transaction)(n,()=>{let r=i.query("SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new s(e);if(t.nodes)for(let[r,a]of(i.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=E(a);i.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
20
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,p(t.config),p(t.output),p(t.metrics)])}if(t.edges)for(let r of(i.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))i.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
21
+ VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,p(r.dataMapping??null)]);let a=i.query(`UPDATE execution_graphs
22
+ SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
23
+ WHERE id = ?
24
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,p(t.policy??c(r.policy)??{}),p(t.doneCriteria??c(r.done_criteria)??{}),p(t.schedule??c(r.schedule)??null),e]);if(void 0!==t.schedule){let e=this.getGraphForTask(i,r.task_id);e?.schedule&&h(e)}return{graphVersion:a.rows[0].graph_version,updatedAt:l(a.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(_(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
25
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!r)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
26
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[r.id]),s=e.query(`SELECT from_id, to_id, type, condition, data_mapping
27
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[r.id]),d=e.query(`SELECT event_type, payload, timestamp
28
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),u={};for(let e of o.rows)u[e.node_id]=function(e){let t={...g(c(e.config)),type:e.type,status:e.status},r=c(e.metrics);null!==r&&(t.metrics=r);let a=c(e.output);return null!==a&&(t.output=a),t}(e);let p=s.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:c(e.condition)}:{},...e.data_mapping?{dataMapping:c(e.data_mapping)}:{}})),h=[],m=[];for(let e of d.rows){let t=f(e);i.has(t.eventType)?h.push(t):m.push(t)}var E={id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,nodes:u,edges:p,policy:c(r.policy)??{},doneCriteria:c(r.done_criteria)??{},schedule:c(r.schedule)??void 0,versionHistory:h,runtimeEvents:m,createdAt:l(r.created_at),updatedAt:l(r.updated_at)};if(!(0,n.isAutomationFrontmatterEnabled)())return E;let _=(0,n.getAutomationRepository)().getAutomation(E.id);return _&&"execution_graph"===_.definition.target.type?{...E,schedule:(0,a.automationRecordToGraphSchedule)(_,E.schedule)}:E}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
29
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,p(r),r.timestamp])}}function I(){return new y}let T=new y;function S(e,t){return T.createGraph(e,t)}function A(e){return T.getGraph(e)}function v(e,t,r){return T.updateNodeRuntime(e,t,r)}function R(e,t,r){return T.updateGraphStructure(e,t,r)}function k(e,t){return T.appendEvent(e,t)}function N(e,r={}){let a=["graph_id = ?"],n=[e];r.eventType&&(a.push("event_type = ?"),n.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),n.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
30
+ FROM graph_events
31
+ WHERE ${a.join(" AND ")}
32
+ ORDER BY timestamp ASC, event_type ASC
33
+ LIMIT ?`;return n.push(i),_((0,t.getSQLiteDb)()).query(o,n).rows.map(e=>f(e))}function C(e){let r=e.trim();if(!r)return null;if((0,n.isAutomationFrontmatterEnabled)()){let e=(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})[0];if(e?.definition.target.type==="execution_graph"){let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??m(t);if(r)return{graphId:t,taskId:r}}if(!(0,n.isAutomationDualReadEnabled)())return null}return(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
34
+ FROM execution_graphs
35
+ WHERE schedule IS NOT NULL
36
+ AND json_extract(schedule, '$.rootMessageId') = ?
37
+ AND json_extract(schedule, '$.state') = 'active'
38
+ ORDER BY updated_at DESC
39
+ LIMIT 1`).get(r)??null}function b(){let e=new Set;if((0,n.isAutomationFrontmatterEnabled)()){for(let t of(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active"}))"execution_graph"===t.definition.target.type&&t.definition.target.rootMessageId&&e.add(t.definition.target.rootMessageId);if(!(0,n.isAutomationDualReadEnabled)())return[...e]}for(let r of(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
40
+ FROM execution_graphs
41
+ WHERE schedule IS NOT NULL
42
+ AND json_extract(schedule, '$.state') = 'active'`).all())r.rootMessageId&&e.add(r.rootMessageId);return[...e]}function O(e){let r=e.trim();if(!r)return 0;let a=0;if((0,n.isAutomationFrontmatterEnabled)()){for(let e of(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})){if("execution_graph"!==e.definition.target.type)continue;let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??m(t);if(!r)continue;let n=A(r);n?.schedule&&(T.updateGraphStructure(n.id,{mode:n.mode,nodes:n.nodes,edges:n.edges,policy:n.policy,doneCriteria:n.doneCriteria,schedule:{...n.schedule,state:"stopped",tickInProgress:!1}},n.graphVersion),a+=1)}if(a>0||!(0,n.isAutomationDualReadEnabled)())return a}return Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
43
+ SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
44
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
45
+ WHERE schedule IS NOT NULL
46
+ AND json_extract(schedule, '$.rootMessageId') = ?
47
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0)}e.s(["GraphNodeNotFoundError",()=>d,"GraphNotFoundError",()=>s,"GraphStore",()=>y,"GraphTaskAlreadyBoundError",()=>u,"GraphVersionConflictError",()=>o,"appendEvent",()=>k,"createGraph",()=>S,"createGraphStore",()=>I,"deactivateSchedulesByRootMessageId",()=>O,"getActiveScheduleForRootMessageId",()=>C,"getActiveScheduleRootMessageIds",()=>b,"getGraph",()=>A,"getGraphEvents",()=>N,"getTaskIdForGraphId",()=>m,"updateGraphStructure",()=>R,"updateNodeRuntime",()=>v])},579042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},306838,e=>{"use strict";var t=e.i(89171),r=e.i(949041),a=e.i(390081);async function n(e){let n=r.LOCAL_USER.id,i=await a.db.getTask(e.taskId,n);return i?{ok:!0,actor:{actorId:n,actorType:"service"},task:i,projectId:e.requestedProjectId??i.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>n])},273122,277036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function a(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function n(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function i(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function o(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function s(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function d(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>o,"buildGateVerificationEvent",()=>i,"buildGraphCreatedEvent",()=>a,"buildNodeStatusEvent",()=>n,"buildReplanEvent",()=>s,"buildRollbackEvent",()=>d],273122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],277036)},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 a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function n(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>a,"isV2ReadPathEnabled",()=>n],383131);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),s=new Set(["done","passed","skipped"]);function d(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function u(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&s.has(r.status))})&&a||r.every(e=>i.has(e.status))&&a?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function p(e,t="INTAKE"){let r,a,n=u(e),o="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===n?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>i.has(e.status)).length/a.length*100)));return{status:n,stage:o,progressPercent:s}}function c(e){var t;let r,n,i,o,s,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:p(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},n=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=d(t.legacy.stage,"INTAKE"),s=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&n.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&n.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&n.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===n.length)?null:{taskId:t.taskId,source:t.source,diffs:n});return u&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>c,"projectLegacyCompatFromGraph",()=>p],123297)},688144,e=>{"use strict";var t=e.i(254799),r=e.i(579042);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,n=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let s=o.replace(a,"").trim();if(!s)return r;let d=s.match(n);if(!d)return s;let u=s.slice(d[0].length).trim();return u||d[1].trim()||r}let s={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let a=new Date().toISOString(),n={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let a=i(e.objective);return a?o(a,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:n,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...s},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>d],688144)}];
48
+
49
+ //# sourceMappingURL=%5Broot-of-the-server%5D__42e602eb._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${f})`,path:d,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},278700,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),x=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),R=e.i(89171),v=e.i(762294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,v.getProjectAgents)(e);return R.NextResponse.json({agents:r})}catch(e){return console.error("Error fetching project agents:",e),R.NextResponse.json({error:"Failed to fetch project agents"},{status:500})}}async function w(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),n="string"==typeof a.agentId?a.agentId.trim():"";if(!n)return R.NextResponse.json({error:"agentId is required"},{status:400});await (0,v.addProjectAgent)(r,n,a.routingOrder);let s=await (0,v.getProjectAgents)(r);return R.NextResponse.json({agents:s},{status:201})}catch(e){return console.error("Error adding agent to project:",e),R.NextResponse.json({error:"Failed to add agent to project"},{status:500})}}async function y(e,t){try{let{id:r}=await t.params,a=new URL(e.url).searchParams.get("agentId");if(!a)return R.NextResponse.json({error:"agentId query param is required"},{status:400});await (0,v.removeProjectAgent)(r,a);let n=await (0,v.getProjectAgents)(r);return R.NextResponse.json({agents:n})}catch(e){return console.error("Error removing agent from project:",e),R.NextResponse.json({error:"Failed to remove agent from project"},{status:500})}}async function A(e,t){try{let{id:r}=await t.params,a=(await e.json().catch(()=>({}))).orderedAgentIds;if(!Array.isArray(a)||a.some(e=>"string"!=typeof e))return R.NextResponse.json({error:"orderedAgentIds must be a string array"},{status:400});let n=await (0,v.reorderProjectAgents)(r,a);return R.NextResponse.json({agents:n})}catch(e){return console.error("Error reordering project agents:",e),R.NextResponse.json({error:"Failed to reorder agents"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"PATCH",()=>A,"POST",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],480903);var j=e.i(480903);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/agents/route",pathname:"/api/projects/[id]/agents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/agents/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:C,workUnitAsyncStorage:_,serverHooks:S}=b;function q(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:_})}async function N(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/projects/[id]/agents/route";R=R.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:w,nextConfig:y,parsedUrl:A,isDraftMode:j,prerenderManifest:C,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:L}=v,P=(0,i.normalizeAppPath)(R),I=!!(C.dynamicRoutes[P]||C.routes[N]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!j){let e=!!C.routes[N],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new g.NoFallbackError}}let k=null;!I||b.isDev||j||(k="/index"===(k=N)?"/":k);let U=!0===b.isDev||!I,$=I&&!U;L&&T&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:T,serverActionsManifest:L});let D=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),H={params:w,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,_)},sharedContext:{buildId:E}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o=async e=>b.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${R}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(G,B,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,_),t}},d=await b.handleResponse({req:e,nextConfig:y,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||g.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,_),I)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>q,"routeModule",()=>b,"serverHooks",()=>S,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>_],278700)}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${f})`,path:d,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},278700,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),x=e.i(10372),g=e.i(193695);e.i(52474);var m=e.i(600220),R=e.i(89171),v=e.i(762294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,v.getProjectAgents)(e);return R.NextResponse.json({agents:r})}catch(e){return console.error("Error fetching project agents:",e),R.NextResponse.json({error:"Failed to fetch project agents"},{status:500})}}async function w(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),n="string"==typeof a.agentId?a.agentId.trim():"";if(!n)return R.NextResponse.json({error:"agentId is required"},{status:400});await (0,v.addProjectAgent)(r,n,a.routingOrder);let s=await (0,v.getProjectAgents)(r);return R.NextResponse.json({agents:s},{status:201})}catch(e){return console.error("Error adding agent to project:",e),R.NextResponse.json({error:"Failed to add agent to project"},{status:500})}}async function y(e,t){try{let{id:r}=await t.params,a=new URL(e.url).searchParams.get("agentId");if(!a)return R.NextResponse.json({error:"agentId query param is required"},{status:400});await (0,v.removeProjectAgent)(r,a);let n=await (0,v.getProjectAgents)(r);return R.NextResponse.json({agents:n})}catch(e){return console.error("Error removing agent from project:",e),R.NextResponse.json({error:"Failed to remove agent from project"},{status:500})}}async function A(e,t){try{let{id:r}=await t.params,a=(await e.json().catch(()=>({}))).orderedAgentIds;if(!Array.isArray(a)||a.some(e=>"string"!=typeof e))return R.NextResponse.json({error:"orderedAgentIds must be a string array"},{status:400});let n=await (0,v.reorderProjectAgents)(r,a);return R.NextResponse.json({agents:n})}catch(e){return console.error("Error reordering project agents:",e),R.NextResponse.json({error:"Failed to reorder agents"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"PATCH",()=>A,"POST",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],480903);var j=e.i(480903);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/agents/route",pathname:"/api/projects/[id]/agents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/agents/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:C,workUnitAsyncStorage:_,serverHooks:S}=b;function q(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:_})}async function N(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/projects/[id]/agents/route";R=R.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:w,nextConfig:y,parsedUrl:A,isDraftMode:j,prerenderManifest:C,routerServerContext:_,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:L}=v,P=(0,i.normalizeAppPath)(R),I=!!(C.dynamicRoutes[P]||C.routes[N]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!j){let e=!!C.routes[N],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new g.NoFallbackError}}let k=null;!I||b.isDev||j||(k="/index"===(k=N)?"/":k);let U=!0===b.isDev||!I,$=I&&!U;L&&T&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:T,serverActionsManifest:L});let D=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),H={params:w,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,_)},sharedContext:{buildId:E}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o=async e=>b.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${R}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(G,B,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[x.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,_),t}},d=await b.handleResponse({req:e,nextConfig:y,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&I||g.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:S})},!1,_),I)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>q,"routeModule",()=>b,"serverHooks",()=>S,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>_],278700)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__a7b2350e._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__456840d0._.js.map