@mndrk/agx 2.0.32 → 2.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -4
  35. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +3 -3
  39. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  71. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
  75. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
  101. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +2 -3
  107. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
  109. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  182. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  183. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  189. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  191. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
  200. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  203. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  205. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  207. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  208. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  210. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  225. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  227. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  240. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  249. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  253. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  256. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  266. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  267. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  270. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  272. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  273. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  274. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  275. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__18423486._.js} +2 -2
  276. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__19520d85._.js} +1 -1
  277. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__1c18c0d1._.js} +2 -2
  278. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  279. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  280. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__32b13ba9._.js} +2 -2
  281. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
  282. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
  283. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
  284. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  285. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__4837d72a._.js} +2 -2
  286. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
  287. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  288. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
  289. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  290. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
  291. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
  292. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__5a348fba._.js} +2 -2
  293. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
  294. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__6acb940d._.js} +2 -2
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__7ffcc20c._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__875279cb._.js} +1 -1
  298. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  299. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
  300. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  301. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  302. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  303. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  304. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  305. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  306. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__b9b3fde6._.js} +2 -2
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  309. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__c480c9c2._.js} +2 -2
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
  313. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d318eb0._.js → [root-of-the-server]__f701b208._.js} +24 -24
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  322. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  323. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  324. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  325. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  326. package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
  327. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  328. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  330. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  331. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  332. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +45 -37
  333. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +45 -37
  334. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +12 -12
  335. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a8a8afdc._.js → [root-of-the-server]__04d1aa70._.js} +2 -2
  336. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9166c1d6._.js → [root-of-the-server]__2d80540b._.js} +2 -2
  337. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  338. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +1 -1
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1322ced8._.js → [root-of-the-server]__a416df95._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__783669c3._.js → [root-of-the-server]__c108f06c._.js} +2 -2
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +1 -1
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_0f4e70b1._.js → _41f60c52._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6fc3736e._.js → _84879a01._.js} +2 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +1 -1
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_ff5799d6._.js → _9eeb2fa0._.js} +2 -2
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_68ac991e._.js → _a1d30b20._.js} +2 -2
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_5b2b8a85._.js → _c87c359c._.js} +2 -2
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fb292eed._.js → _dd31b6e0._.js} +2 -2
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6de3f1de._.js → _f0ce6183._.js} +2 -2
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +1 -0
  356. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  357. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  358. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  359. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  360. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  361. package/cloud-runtime/standalone/.next/static/chunks/{a66e1891e808a664.js → 012e3e9699415997.js} +1 -1
  362. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  363. package/cloud-runtime/standalone/.next/static/chunks/{87f099ea02aa419d.js → 116985039c24f1f8.js} +9 -9
  364. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  365. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  366. package/cloud-runtime/standalone/.next/static/chunks/{cd308f61797939cd.js → 43f6157bc3db9c52.js} +2 -2
  367. package/cloud-runtime/standalone/.next/static/chunks/{58025a80caa3629d.js → 56a01238098d495d.js} +9 -9
  368. package/cloud-runtime/standalone/.next/static/chunks/{6fbe08eab578c7d3.js → 601996727991149e.js} +9 -9
  369. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  370. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  371. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  372. package/cloud-runtime/standalone/.next/static/chunks/{4200b512bdc226bc.js → b2dcd19ebe3af3f6.js} +9 -9
  373. package/cloud-runtime/standalone/.next/static/chunks/{e62d5fa120fdf21f.js → bc06988336ffd261.js} +1 -1
  374. package/cloud-runtime/standalone/.next/static/chunks/{1f415d0ce7ebbd08.js → c93b9643c81c134e.js} +1 -1
  375. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  376. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  377. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  378. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  379. package/cloud-runtime/standalone/app/api/chat/route.ts +36 -0
  380. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  381. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
  382. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +62 -41
  383. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  384. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +33 -28
  385. package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -0
  386. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
  387. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  388. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  389. package/cloud-runtime/standalone/lib/db.ts +1 -1
  390. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  391. package/cloud-runtime/standalone/lib/history-store.ts +78 -2
  392. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
  393. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
  394. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  395. package/cloud-runtime/standalone/transcri +0 -0
  396. package/cloud-runtime/standalone/worker/index.js +604 -165
  397. package/lib/cli/runCli.js +0 -97
  398. package/lib/commands/update.js +159 -17
  399. package/package.json +1 -1
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
  417. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
  418. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
  419. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
  420. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
  421. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
  422. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
  423. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
  425. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
  426. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
  427. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
  428. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
  429. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
  430. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
  431. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
  432. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  433. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  434. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},28237,e=>{"use strict";var t=e.i(22734),r=e.i(46786),o=e.i(14747);let s="3.35.0",n=["json1"],i=["fts5"],a=["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 c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),o=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(o[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))d(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 i)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=o.default.resolve(s),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",o="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,o=s||"unknown")}return o}}catch{}return null}(l);h&&a.some(e=>h.toLowerCase().includes(e))&&c.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},9662,e=>{"use strict";var t=e.i(42873);function r(e,t=Date.now()){let o=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return o("no_schedule");let s=e.schedule;if("active"!==s.state)return o("not_active");if(s.tickInProgress)return o("tick_in_progress");if(null!=s.maxRuns&&s.runCount>=s.maxRuns)return o("max_runs_reached");if(s.cronExpr&&"number"==typeof s.nextTickAt){if(t<s.nextTickAt)return o("not_due")}else if(t-(s.lastTickAt??0)<s.intervalMs)return o("not_due");let n=JSON.parse(JSON.stringify(e)),i=[];for(let e of s.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={...s,tickInProgress:!0,lastTickAt:t,runCount:s.runCount+1},{graph:n,tickFired:!0,resetNodeIds:i}}function o(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,o=r.nextTickAt;return r.cronExpr&&(o=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:o}}}function s(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let o=e.nodes[r];if(o&&!t.has(o.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",()=>o,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>s,"scheduleTickIfDue",()=>r,"stopSchedule",()=>a])},91329,e=>{"use strict";var t=e.i(65196);let r=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 n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function a(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:o,output:s,...n}=e;return{type:t,status:r,config:n,output:s??null,metrics:o??null}}function p(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let o=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(o.run(...r??[]),{rows:[]}):{rows:o.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),o=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=o.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(o.query(`INSERT INTO execution_graphs
1
+ module.exports=[22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},28237,e=>{"use strict";var t=e.i(22734),r=e.i(46786),o=e.i(14747);let s="3.35.0",n=["json1"],i=["fts5"],a=["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 c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),o=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(o[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))d(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 i)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=o.default.resolve(s),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",o="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,o=s||"unknown")}return o}}catch{}return null}(l);h&&a.some(e=>h.toLowerCase().includes(e))&&c.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},9662,e=>{"use strict";var t=e.i(42873);function r(e,t=Date.now()){let o=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return o("no_schedule");let s=e.schedule;if("active"!==s.state)return o("not_active");if(s.tickInProgress)return o("tick_in_progress");if(null!=s.maxRuns&&s.runCount>=s.maxRuns)return o("max_runs_reached");if(s.cronExpr&&"number"==typeof s.nextTickAt){if(t<s.nextTickAt)return o("not_due")}else if(t-(s.lastTickAt??0)<s.intervalMs)return o("not_due");let n=JSON.parse(JSON.stringify(e)),i=[];for(let e of s.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={...s,tickInProgress:!0,lastTickAt:t,runCount:s.runCount+1},{graph:n,tickFired:!0,resetNodeIds:i}}function o(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,o=r.nextTickAt;return r.cronExpr&&(o=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:o}}}function s(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let o=e.nodes[r];if(o&&!t.has(o.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",()=>o,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>s,"scheduleTickIfDue",()=>r,"stopSchedule",()=>a])},91329,e=>{"use strict";var t=e.i(65196);let r=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 n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function a(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:o,output:s,...n}=e;return{type:t,status:r,config:n,output:s??null,metrics:o??null}}function p(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let o=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(o.run(...r??[]),{rows:[]}):{rows:o.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),o=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=o.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(o.query(`INSERT INTO execution_graphs
2
2
  (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
3
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
4
  ON CONFLICT (id) DO UPDATE SET
@@ -48,4 +48,4 @@ module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",
48
48
  AND json_extract(schedule, '$.state') = 'active'
49
49
  `).all().map(e=>({taskId:e.task_id,graphId:e.id,schedule:JSON.parse(e.schedule)}))}async function a(e={}){let t=new n.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},u=i();for(let{taskId:n}of(console.log(`[schedules:poll] found ${u.length} active schedule(s)`),u))try{let i=t.getGraph(n);if(!i){d.errors.push({graphId:n,error:Error("Graph not found")});continue}let a=(0,r.scheduleTickIfDue)(i);if(!a.tickFired){console.log(`[schedules:poll] ${n} skipped (${a.skipReason??"unknown"})`),d.skippedGraphIds.push(n);continue}console.log(`[schedules:poll] ${n} tick fired — resetting nodes`),t.updateGraphStructure(a.graph.id,{nodes:a.graph.nodes,schedule:a.graph.schedule});let u=(0,o.schedulerTick)(a.graph,e);console.log(`[schedules:poll] ${n} scheduler: fn=${u.functionToRun.length} work=${u.workToRun.length}`);let l=u.graph;for(let t of u.functionToRun){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing function node "${t}"`);let r=await (0,s.executeNode)(l,t,e),o=r.graph.nodes[t];console.log(`[schedules:poll] ${n} function "${t}" → ${o?.status}`,o&&"output"in o?JSON.stringify(o.output)?.slice(0,200):""),l=r.graph}catch(e){console.error(`[schedules:poll] ${n} function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,o.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let r=l.nodes[t];if(r&&"work"===r.type)try{l=(await (0,s.executeNode)(l,t,e)).graph}catch(e){d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:n,nodeIds:c.workToRun,graph:l}),t.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,o.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing post-work function "${t}"`),l=(await (0,s.executeNode)(l,t,e)).graph}catch(e){console.error(`[schedules:poll] ${n} post-work function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${n} node states: ${p}`);let h=(0,r.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${n} tick complete? ${h}`),h){let e=(0,r.completeScheduleTick)(l),o=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,r=o?t+1:0;e.schedule={...e.schedule,consecutiveFailures:r};let s=e.schedule.maxConsecutiveFailures;null!=s&&r>=s&&(e.schedule={...e.schedule,state:"paused"})}let s=t.getGraph(n);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${n} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(n)}catch(e){console.error(`[schedules:poll] ${n} caught error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(n);if(e?.schedule?.tickInProgress){let o=(0,r.completeScheduleTick)(e);t.updateGraphStructure(o.id,{nodes:o.nodes,schedule:o.schedule}),console.log(`[schedules:poll] ${n} force-completed stuck tick`)}}catch{}}return d}async function d(e,t={}){let i=new n.GraphStore,a=i.getGraph(e);if(!a)return{fired:!1,graph:null,error:Error("Graph not found")};if(!a.schedule)return{fired:!1,graph:a,error:Error("No schedule on graph")};let u=(0,r.scheduleTickIfDue)(a);if(!u.tickFired)return{fired:!1,graph:u.graph};i.updateGraphStructure(u.graph.id,{nodes:u.graph.nodes,schedule:u.graph.schedule});let l=u.graph,c=0;for(;;){c++;let e=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let n=(0,o.schedulerTick)(l,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${n.functionToRun.length} work=${n.workToRun.length} cond=${n.control.conditionalNodeIds.length}`),n.functionToRun)){let r=l.nodes[e];r&&"function"===r.type&&(l=(await (0,s.executeNode)(l,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${l.nodes[e]?.status}`))}for(let e of(n.control.conditionalNodeIds.length>0&&(l=n.graph,console.log(`[schedules:tick] applied conditional results: ${n.control.conditionalNodeIds.join(", ")}`)),n.workToRun))l=(await (0,s.executeNode)(l,e,t)).graph;let i=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${i}`),(0,r.isScheduleTickComplete)(l)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(n.complete||!(n.workToRun.length>0||n.functionToRun.length>0))break}let p=(0,r.completeScheduleTick)(l);return i.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>d,"getGraphsWithActiveSchedules",()=>i,"pollSchedules",()=>a])},82848,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node:child_process_261e8bca._.js"].map(t=>e.l(t))).then(()=>t(74533)))}];
50
50
 
51
- //# sourceMappingURL=%5Broot-of-the-server%5D__e6ad07c3._.js.map
51
+ //# sourceMappingURL=%5Broot-of-the-server%5D__a67cd108._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14499,e=>{"use strict";let t=Number(process.env.AGX_MAX_WORKERS)||10;function r(e){if(e>t)throw Error(`[limits] Requested ${e} workers exceeds MAX_WORKERS (${t}). See docs/LIMITS.md — exceeding this limit risks SQLITE_BUSY errors. Set AGX_MAX_WORKERS to override (requires architecture review).`);if(e<1)throw Error(`[limits] Worker count must be at least 1, got ${e}.`)}class s{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}}}e.s(["MAX_WORKERS",0,t,"WRITE_QPS_CEILING",0,50,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WriteRateMonitor",()=>s,"assertWorkerCount",()=>r])},87885,e=>{"use strict";var t=e.i(85148),r=e.i(14747),s=e.i(46786),a=e.i(22734);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(s.default.homedir(),".agx","group-chat"),i=r.default.join(n,"history.sqlite");function o(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function d(e){let r=function(){(0,a.mkdirSync)(n,{recursive:!0});let e=new t.default(i);e.pragma("journal_mode = WAL"),e.exec(`
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},14499,e=>{"use strict";let t=Number(process.env.AGX_MAX_WORKERS)||10;function r(e){if(e>t)throw Error(`[limits] Requested ${e} workers exceeds MAX_WORKERS (${t}). See docs/LIMITS.md — exceeding this limit risks SQLITE_BUSY errors. Set AGX_MAX_WORKERS to override (requires architecture review).`);if(e<1)throw Error(`[limits] Worker count must be at least 1, got ${e}.`)}class s{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}}}e.s(["MAX_WORKERS",0,t,"WRITE_QPS_CEILING",0,50,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WriteRateMonitor",()=>s,"assertWorkerCount",()=>r])},87885,e=>{"use strict";var t=e.i(85148),r=e.i(14747),s=e.i(46786),a=e.i(22734);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(s.default.homedir(),".agx","group-chat"),i=r.default.join(n,"history.sqlite");function o(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function d(e){let r=function(){(0,a.mkdirSync)(n,{recursive:!0});let e=new t.default(i);e.pragma("journal_mode = WAL"),e.exec(`
2
2
  CREATE TABLE IF NOT EXISTS agent_processes (
3
3
  id INTEGER PRIMARY KEY AUTOINCREMENT,
4
4
  workspace_id TEXT NOT NULL,
@@ -31,4 +31,4 @@ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/ap
31
31
  WHERE thread_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),e)),t}function T(e){let t=_(u(e).filter(e=>"running"===e.state||"spawning"===e.state));return t>0&&d(t=>t.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
32
32
  WHERE workspace_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),e)),t}e.s(["getAll",()=>g,"getAllEnriched",()=>E,"getByThread",()=>c,"getByWorkspace",()=>u,"killByThread",()=>h,"killByWorkspace",()=>T,"register",()=>l,"update",()=>p])},48643,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),p=e.i(95169),c=e.i(47587),u=e.i(66012),g=e.i(70101),E=e.i(74838),_=e.i(10372),h=e.i(93695);e.i(52474);var T=e.i(220),R=e.i(94028),x=e.i(14499),m=e.i(87885);let A={running:!1,targetWorkers:0,startedAt:null};function N(){return(0,m.getAll)().filter(e=>"running"===e.state||"spawning"===e.state).length}async function f(){let e=N();return R.NextResponse.json({running:A.running,targetWorkers:A.targetWorkers,activeWorkers:e,maxWorkers:x.MAX_WORKERS,startedAt:A.startedAt})}async function w(e){let t=await e.json();if("stop"===t.action)return A.running=!1,A.targetWorkers=0,A.startedAt=null,R.NextResponse.json({running:!1,targetWorkers:0});let r="number"==typeof t.workers?t.workers:1;try{(0,x.assertWorkerCount)(r)}catch(e){return R.NextResponse.json({error:e.message},{status:400})}let s=A.running;return A.running=!0,A.targetWorkers=r,s||(A.startedAt=new Date().toISOString()),R.NextResponse.json({running:!0,targetWorkers:A.targetWorkers,activeWorkers:N(),maxWorkers:x.MAX_WORKERS,startedAt:A.startedAt})}e.s(["GET",()=>f,"POST",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],74025);var v=e.i(74025);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/daemon/route",pathname:"/api/daemon",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/daemon/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:k}=O;function y(){return(0,s.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})}async function L(e,t,s){O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/daemon/route";R=R.replace(/\/index$/,"")||"/";let x=await O.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:m,params:A,nextConfig:N,parsedUrl:f,isDraftMode:w,prerenderManifest:v,routerServerContext:I,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:y,clientReferenceManifest:L,serverActionsManifest:C}=x,D=(0,o.normalizeAppPath)(R),U=!!(v.dynamicRoutes[D]||v.routes[y]),W=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,f,!1):t.end("This page could not be found"),null);if(U&&!w){let e=!!v.routes[y],t=v.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(N.experimental.adapterPath)return await W();throw new h.NoFallbackError}}let M=null;!U||O.isDev||w||(M="/index"===(M=y)?"/":M);let b=!0===O.isDev||!U,j=U&&!b;C&&L&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:L,serverActionsManifest:C});let P=e.method||"GET",q=(0,n.getTracer)(),F=q.getActiveScopeSpan(),X={params:A,prerenderManifest:v,renderOpts:{experimental:{authInterrupts:!!N.experimental.authInterrupts},cacheComponents:!!N.cacheComponents,supportsDynamicResponse:b,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:N.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>O.onRequestError(e,t,s,a,I)},sharedContext:{buildId:m}},H=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),K=l.NextRequestAdapter.fromNodeNextRequest(H,(0,l.signalFromNodeResponse)(t));try{let i=async e=>O.handle(K,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.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 s=r.get("next.route");if(s){let t=`${P} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${R}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),d=async a=>{var n,d;let l=async({previousCacheEntry:r})=>{try{if(!o&&S&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=X.renderOpts.fetchMetrics;let d=X.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let l=X.renderOpts.collectedTags;if(!U)return await (0,u.sendResponse)(H,G,n,X.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[_.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,s=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,I),t}},p=await O.handleResponse({req:e,nextConfig:N,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:v,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:o});if(!U)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",S?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),w&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,g.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&U||h.delete(_.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,E.getCacheControlHeader)(p.cacheControl)),await (0,u.sendResponse)(H,G,new Response(p.value.body,{headers:h,status:p.value.status||200})),null};F?await d(F):await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${P} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d))}catch(t){if(t instanceof h.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:S})},!1,I),U)throw t;return await (0,u.sendResponse)(H,G,new Response(null,{status:500})),null}}e.s(["handler",()=>L,"patchFetch",()=>y,"routeModule",()=>O,"serverHooks",()=>k,"workAsyncStorage",()=>I,"workUnitAsyncStorage",()=>S],48643)}];
33
33
 
34
- //# sourceMappingURL=%5Broot-of-the-server%5D__d8cedc8a._.js.map
34
+ //# sourceMappingURL=%5Broot-of-the-server%5D__abb032c1._.js.map
@@ -0,0 +1,46 @@
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let n="3.35.0",s=["json1"],i=["fts5"],o=["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:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),s))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 i)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(n){"linux"!==r.default.platform()&&r.default.platform();try{let s=a.default.resolve(n),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,n]=t.split(/\s+/);e&&s.startsWith(e)&&e.length>r.length&&(r=e,a=n||"unknown")}return a}}catch{}return null}(l);h&&o.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class a extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class n extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class s extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function o(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function p(e){let{type:t,status:r,metrics:a,output:n,...s}=e;return{type:t,status:r,config:s,output:n??null,metrics:a??null}}function c(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class m{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
2
+ (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
+ ON CONFLICT (id) DO UPDATE SET
5
+ task_id = excluded.task_id,
6
+ graph_version = excluded.graph_version,
7
+ mode = excluded.mode,
8
+ policy = excluded.policy,
9
+ done_criteria = excluded.done_criteria,
10
+ schedule = excluded.schedule,
11
+ created_at = excluded.created_at,
12
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,o(e.policy),o(e.doneCriteria),o(e.schedule??null),e.createdAt,e.updatedAt]),a.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),a.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let n=p(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,n.type,n.status,o(n.config),o(n.output),o(n.metrics)])}for(let t of e.edges)a.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,o(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(a,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(a,e.id,t);t?.skipTaskBinding||a.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let s=this.getGraphForTask(a,e.taskId);if(!s)throw new n(e.id);return s})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(h(t),e)}updateNodeRuntime(e,t,r){let a=this.getDb(),i=h(a);return a.transaction(()=>{if(!i.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new n(e);let r=Object.keys(t);if(0===r.length){let t=i.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),p=i.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),c=new Map;for(let e of p.rows)c.set(e.node_id,e);let h=r.filter(e=>!c.has(e));if(h.length>0)throw new s(e,h);for(let a of r){let r=t[a],n=c.get(a);if(!n||!r)continue;let s={...l(d(n.config)),...l(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 = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??n.status,o(r.metrics??d(n.metrics)),o(r.output??d(n.output)),o(s),e,a])}let m=i.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:m.rows[0].graph_version,updatedAt:u(m.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),s=h(a);return a.transaction(()=>{let r=s.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new n(e);if(t.nodes)for(let[r,a]of(s.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=p(a);s.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,o(t.config),o(t.output),o(t.metrics)])}if(t.edges)for(let r of(s.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))s.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
+ VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,o(r.dataMapping??null)]);let a=s.query(`UPDATE execution_graphs
19
+ SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
20
+ WHERE id = ?
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,o(t.policy??d(r.policy)??{}),o(t.doneCriteria??d(r.done_criteria)??{}),o(t.schedule??d(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:u(a.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(h(r),e,t)}getGraphForTask(e,t){let a=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!a)return null;let n=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.id]),s=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[a.id]),i=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),o={};for(let e of n.rows)o[e.node_id]=function(e){let t={...l(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let a=d(e.output);return null!==a&&(t.output=a),t}(e);let p=s.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),h=[],m=[];for(let e of i.rows){let t=c(e);r.has(t.eventType)?h.push(t):m.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:o,edges:p,policy:d(a.policy)??{},doneCriteria:d(a.done_criteria)??{},schedule:d(a.schedule)??void 0,versionHistory:h,runtimeEvents:m,createdAt:u(a.created_at),updatedAt:u(a.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,o(r),r.timestamp])}}function g(){return new m}let E=new m;function f(e,t){return E.createGraph(e,t)}function _(e){return E.getGraph(e)}function y(e,t,r){return E.updateNodeRuntime(e,t,r)}function x(e,t,r){return E.updateGraphStructure(e,t,r)}function v(e,t){return E.appendEvent(e,t)}function R(e,r={}){let a=["graph_id = ?"],n=[e];r.eventType&&(a.push("event_type = ?"),n.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),n.push(r.since));let s=r.limit??1e3,i=`SELECT event_type, payload, timestamp
27
+ FROM graph_events
28
+ WHERE ${a.join(" AND ")}
29
+ ORDER BY timestamp ASC, event_type ASC
30
+ LIMIT ?`;return n.push(s),h((0,t.getSQLiteDb)()).query(i,n).rows.map(e=>c(e))}function S(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
31
+ FROM execution_graphs
32
+ WHERE schedule IS NOT NULL
33
+ AND json_extract(schedule, '$.rootMessageId') = ?
34
+ AND json_extract(schedule, '$.state') = 'active'
35
+ ORDER BY updated_at DESC
36
+ LIMIT 1`).get(r)??null:null}function T(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
37
+ FROM execution_graphs
38
+ WHERE schedule IS NOT NULL
39
+ AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function I(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
40
+ SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
41
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
42
+ WHERE schedule IS NOT NULL
43
+ AND json_extract(schedule, '$.rootMessageId') = ?
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>s,"GraphNotFoundError",()=>n,"GraphStore",()=>m,"GraphTaskAlreadyBoundError",()=>i,"GraphVersionConflictError",()=>a,"appendEvent",()=>v,"createGraph",()=>f,"createGraphStore",()=>g,"deactivateSchedulesByRootMessageId",()=>I,"getActiveScheduleForRootMessageId",()=>S,"getActiveScheduleRootMessageIds",()=>T,"getGraph",()=>_,"getGraphEvents",()=>R,"updateGraphStructure",()=>x,"updateNodeRuntime",()=>y])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},36269,e=>{"use strict";var t=e.i(248);function r(e,t=Date.now()){let a=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return a("no_schedule");let n=e.schedule;if("active"!==n.state)return a("not_active");if(n.tickInProgress)return a("tick_in_progress");if(null!=n.maxRuns&&n.runCount>=n.maxRuns)return a("max_runs_reached");if(n.cronExpr&&"number"==typeof n.nextTickAt){if(t<n.nextTickAt)return a("not_due")}else if(t-(n.lastTickAt??0)<n.intervalMs)return a("not_due");let s=JSON.parse(JSON.stringify(e)),i=[];for(let e of n.resetNodeIds){let t=s.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(s.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 s.schedule={...n,tickInProgress:!0,lastTickAt:t,runCount:n.runCount+1},{graph:s,tickFired:!0,resetNodeIds:i}}function a(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,a=r.nextTickAt;return r.cronExpr&&(a=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:a}}}function n(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let a=e.nodes[r];if(a&&!t.has(a.status))return!1}return!0}function s(e,t=6e4,r){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:r,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}}e.s(["completeScheduleTick",()=>a,"createThreadMonitorSchedule",()=>s,"isScheduleTickComplete",()=>n,"scheduleTickIfDue",()=>r])},52582,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),u=e.i(87718),l=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(74838),g=e.i(10372),E=e.i(93695);e.i(52474);var f=e.i(220),_=e.i(94028),y=e.i(69719);let x=[{regex:/^every\s+(\d+)\s*s(?:ec(?:ond)?s?)?$/i,handler:e=>({cronExpr:`*/${Math.max(1,Math.ceil(parseInt(e[1])/60))} * * * *`,intervalMs:1e3*parseInt(e[1]),cadence:`Every ${e[1]} seconds`})},{regex:/^every\s+(\d+)\s*m(?:in(?:ute)?s?)?$/i,handler:e=>({cronExpr:`*/${e[1]} * * * *`,cadence:`Every ${e[1]} minutes`})},{regex:/^every\s+(\d+)\s*h(?:(?:ou)?rs?)?$/i,handler:e=>({cronExpr:`0 */${e[1]} * * *`,cadence:`Every ${e[1]} hours`})},{regex:/^every\s+hour$/i,handler:()=>({cronExpr:"0 * * * *",cadence:"Every hour"})},{regex:/^every\s+minute$/i,handler:()=>({cronExpr:"* * * * *",cadence:"Every minute"})},{regex:/^daily\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t=parseInt(e[1]),r=parseInt(e[2]||"0"),a=e[3]?.toLowerCase();return"pm"===a&&t<12&&(t+=12),"am"===a&&12===t&&(t=0),{cronExpr:`${r} ${t} * * *`,cadence:`Daily at ${t}:${String(r).padStart(2,"0")}`}}},{regex:/^daily\s+at\s+midnight$/i,handler:()=>({cronExpr:"0 0 * * *",cadence:"Daily at midnight"})},{regex:/^daily\s+at\s+noon$/i,handler:()=>({cronExpr:"0 12 * * *",cadence:"Daily at noon"})},{regex:/^weekdays?\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t=parseInt(e[1]),r=parseInt(e[2]||"0"),a=e[3]?.toLowerCase();return"pm"===a&&t<12&&(t+=12),"am"===a&&12===t&&(t=0),{cronExpr:`${r} ${t} * * 1-5`,cadence:`Weekdays at ${t}:${String(r).padStart(2,"0")}`}}},{regex:/^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)s?\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6}[e[1].toLowerCase()],r=parseInt(e[2]),a=parseInt(e[3]||"0"),n=e[4]?.toLowerCase();"pm"===n&&r<12&&(r+=12),"am"===n&&12===r&&(r=0);let s=e[1].charAt(0).toUpperCase()+e[1].slice(1).toLowerCase();return{cronExpr:`${a} ${r} * * ${t}`,cadence:`${s}s at ${r}:${String(a).padStart(2,"0")}`}}},{regex:/^every\s+(\d+)\s*days?$/i,handler:e=>({cronExpr:`0 0 */${e[1]} * *`,cadence:`Every ${e[1]} days`})}];var v=e.i(97812),R=e.i(248),S=e.i(36269);let T=y.z.object({name:y.z.string().trim().min(1),description:y.z.string().trim().min(1).optional(),cadence:y.z.string().trim().min(1),taskId:y.z.string().trim().min(1).optional(),command:y.z.string().trim().min(1).optional(),maxRuns:y.z.number().int().positive().optional(),maxConsecutiveFailures:y.z.number().int().positive().optional()});async function I(t){try{let r=await t.json().catch(()=>({})),a=T.safeParse(r);if(!a.success)return _.NextResponse.json({error:"Invalid request",issues:a.error.issues},{status:400});let n=a.data,s=function(e){let t=e.trim();if(/^[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+$/.test(t))return{cronExpr:t,cadence:t};let r=function(e){let t=e.trim();for(let{regex:e,handler:r}of x){let a=t.match(e);if(a)return r(a)}}(t);if(r)return{cronExpr:r.cronExpr,cadence:r.cadence}}(n.cadence);if(!s)return _.NextResponse.json({error:`Could not parse cadence: "${n.cadence}". Use a cron expression or natural language like "every 2 hours".`},{status:400});if(n.taskId){let t=(0,v.getGraph)(n.taskId);if(!t)return _.NextResponse.json({error:"Task not found"},{status:404});let r={intervalMs:6e4,cronExpr:s.cronExpr,cadence:s.cadence,name:n.name,description:n.description,resetNodeIds:Object.entries(t.nodes).filter(([,e])=>"function"===e.type||"conditional"===e.type).map(([e])=>e),maxRuns:n.maxRuns,maxConsecutiveFailures:n.maxConsecutiveFailures},a=(0,R.activateGraphSchedule)(t,r),{updateGraphStructure:i}=await e.A(32025);i(a.id,{mode:a.mode,nodes:a.nodes,edges:a.edges,policy:a.policy,doneCriteria:a.doneCriteria,schedule:a.schedule},t.graphVersion);let o=(0,v.getGraph)(n.taskId);return _.NextResponse.json({success:!0,taskId:n.taskId,graphId:o?.id??a.id,schedule:o?.schedule??a.schedule})}let i=new Date().toISOString(),o=`auto-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,d={type:"function",status:"pending",deps:[],kind:"bash",title:n.name,command:n.command??'echo "Automation tick"'},u={id:o,taskId:o,graphVersion:1,mode:"SIMPLE",nodes:{run:d},edges:[],policy:{replanBudgetRemaining:0,replanBudgetInitial:0,verifyBudgetRemaining:0,verifyBudgetInitial:0,maxConcurrentAutoChecks:0,immutableRequiredGates:!1,maxConcurrent:1,priorityMode:"fifo",nodeTimeoutMs:3e4,graphTimeoutMs:6e4},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0},schedule:{...(0,S.createThreadMonitorSchedule)(["run"],6e4),cronExpr:s.cronExpr,cadence:s.cadence,name:n.name,description:n.description,maxConsecutiveFailures:n.maxConsecutiveFailures,consecutiveFailures:0,maxRuns:n.maxRuns},versionHistory:[],createdAt:i,updatedAt:i};return(0,v.createGraph)(u),_.NextResponse.json({success:!0,created:!0,taskId:o,graphId:o,schedule:u.schedule,parsedCron:s})}catch(e){return console.error("Create automation error:",e),_.NextResponse.json({error:"Failed to create automation",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["POST",()=>I,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],77620);var A=e.i(77620);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/automations/create/route",pathname:"/api/automations/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/automations/create/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:w,workUnitAsyncStorage:C,serverHooks:N}=k;function O(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:C})}async function b(e,t,a){k.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/automations/create/route";_=_.replace(/\/index$/,"")||"/";let y=await k.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,params:v,nextConfig:R,parsedUrl:S,isDraftMode:T,prerenderManifest:I,routerServerContext:A,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:b}=y,L=(0,o.normalizeAppPath)(_),D=!!(I.dynamicRoutes[L]||I.routes[N]),$=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!T){let e=!!I.routes[N],t=I.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await $();throw new E.NoFallbackError}}let M=null;!D||k.isDev||T||(M="/index"===(M=N)?"/":M);let q=!0===k.isDev||!D,F=D&&!q;b&&O&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:O,serverActionsManifest:b});let U=e.method||"GET",j=(0,s.getTracer)(),P=j.getActiveScopeSpan(),G={params:v,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>k.onRequestError(e,t,a,n,A)},sharedContext:{buildId:x}},H=new d.NodeNextRequest(e),B=new d.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let i=async e=>k.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=j.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=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${_}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let u=async({previousCacheEntry:r})=>{try{if(!o&&w&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let d=G.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=G.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(H,B,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.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 k.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:w})},!1,A),t}},l=await k.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:o});if(!D)return null;if((null==l||null==(s=l.value)?void 0:s.kind)!==f.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});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let E=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&D||E.delete(g.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||E.get("Cache-Control")||E.set("Cache-Control",(0,m.getCacheControlHeader)(l.cacheControl)),await (0,c.sendResponse)(H,B,new Response(l.value.body,{headers:E,status:l.value.status||200})),null};P?await d(P):await j.withPropagatedContext(e.headers,()=>j.trace(l.BaseServerSpan.handleRequest,{spanName:`${U} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},d))}catch(t){if(t instanceof E.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:w})},!1,A),D)throw t;return await (0,c.sendResponse)(H,B,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>O,"routeModule",()=>k,"serverHooks",()=>N,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>C],52582)},32025,e=>{e.v(e=>Promise.resolve().then(()=>e(97812)))}];
45
+
46
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b3ed0a00._.js.map
@@ -0,0 +1,63 @@
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),s=e.i(14747);let o="3.35.0",n=["json1"],a=["fts5"],i=["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 c=[],p=u.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:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))d(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 a)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(o){"linux"!==r.default.platform()&&r.default.platform();try{let n=s.default.resolve(o),{execSync:a}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",s="unknown";for(let t of e.split("\n")){let[,e,o]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,s=o||"unknown")}return s}}catch{}return null}(l);h&&i.some(e=>h.toLowerCase().includes(e))&&c.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class s extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class o extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class a extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function i(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:s,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:s??null}}function p(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let s=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(s.run(...r??[]),{rows:[]}):{rows:s.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),s=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=s.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new a(e.taskId,r.id);for(let[t,r]of(s.query(`INSERT INTO execution_graphs
2
+ (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
+ ON CONFLICT (id) DO UPDATE SET
5
+ task_id = excluded.task_id,
6
+ graph_version = excluded.graph_version,
7
+ mode = excluded.mode,
8
+ policy = excluded.policy,
9
+ done_criteria = excluded.done_criteria,
10
+ schedule = excluded.schedule,
11
+ created_at = excluded.created_at,
12
+ updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,i(e.policy),i(e.doneCriteria),i(e.schedule??null),e.createdAt,e.updatedAt]),s.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),s.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let o=c(r);s.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
13
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,o.type,o.status,i(o.config),i(o.output),i(o.metrics)])}for(let t of e.edges)s.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
14
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,i(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(s,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(s,e.id,t);t?.skipTaskBinding||s.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(s,e.taskId);if(!n)throw new o(e.id);return n})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(h(t),e)}updateNodeRuntime(e,t,r){let s=this.getDb(),a=h(s);return s.transaction(()=>{if(!a.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new o(e);let r=Object.keys(t);if(0===r.length){let t=a.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let s=r.map(()=>"?").join(", "),c=a.query(`SELECT node_id, type, status, config, output, metrics
15
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${s})`,[e,...r]),p=new Map;for(let e of c.rows)p.set(e.node_id,e);let h=r.filter(e=>!p.has(e));if(h.length>0)throw new n(e,h);for(let s of r){let r=t[s],o=p.get(s);if(!o||!r)continue;let n={...l(d(o.config)),...l(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),a.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
16
+ WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,i(r.metrics??d(o.metrics)),i(r.output??d(o.output)),i(n),e,s])}let g=a.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:g.rows[0].graph_version,updatedAt:u(g.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let s=this.getDb(),n=h(s);return s.transaction(()=>{let r=n.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new o(e);if(t.nodes)for(let[r,s]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(s);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,i(t.config),i(t.output),i(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
18
+ VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,i(r.dataMapping??null)]);let s=n.query(`UPDATE execution_graphs
19
+ SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
20
+ WHERE id = ?
21
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,i(t.policy??d(r.policy)??{}),i(t.doneCriteria??d(r.done_criteria)??{}),i(t.schedule??d(r.schedule)??null),e]);return{graphVersion:s.rows[0].graph_version,updatedAt:u(s.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(h(r),e,t)}getGraphForTask(e,t){let s=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
22
+ FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!s)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
23
+ FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[s.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
24
+ FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[s.id]),a=e.query(`SELECT event_type, payload, timestamp
25
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[s.id]),i={};for(let e of o.rows)i[e.node_id]=function(e){let t={...l(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let s=d(e.output);return null!==s&&(t.output=s),t}(e);let c=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),h=[],g=[];for(let e of a.rows){let t=p(e);r.has(t.eventType)?h.push(t):g.push(t)}return{id:s.id,taskId:s.task_id,graphVersion:s.graph_version,mode:s.mode,nodes:i,edges:c,policy:d(s.policy)??{},doneCriteria:d(s.done_criteria)??{},schedule:d(s.schedule)??void 0,versionHistory:h,runtimeEvents:g,createdAt:u(s.created_at),updatedAt:u(s.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
26
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,i(r),r.timestamp])}}function f(){return new g}let m=new g;function E(e,t){return m.createGraph(e,t)}function _(e){return m.getGraph(e)}function k(e,t,r){return m.updateNodeRuntime(e,t,r)}function S(e,t,r){return m.updateGraphStructure(e,t,r)}function T(e,t){return m.appendEvent(e,t)}function R(e,r={}){let s=["graph_id = ?"],o=[e];r.eventType&&(s.push("event_type = ?"),o.push(r.eventType)),r.since&&(s.push("timestamp >= ?"),o.push(r.since));let n=r.limit??1e3,a=`SELECT event_type, payload, timestamp
27
+ FROM graph_events
28
+ WHERE ${s.join(" AND ")}
29
+ ORDER BY timestamp ASC, event_type ASC
30
+ LIMIT ?`;return o.push(n),h((0,t.getSQLiteDb)()).query(a,o).rows.map(e=>p(e))}function y(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
31
+ FROM execution_graphs
32
+ WHERE schedule IS NOT NULL
33
+ AND json_extract(schedule, '$.rootMessageId') = ?
34
+ AND json_extract(schedule, '$.state') = 'active'
35
+ ORDER BY updated_at DESC
36
+ LIMIT 1`).get(r)??null:null}function v(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
37
+ FROM execution_graphs
38
+ WHERE schedule IS NOT NULL
39
+ AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function w(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
40
+ SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
41
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
42
+ WHERE schedule IS NOT NULL
43
+ AND json_extract(schedule, '$.rootMessageId') = ?
44
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>n,"GraphNotFoundError",()=>o,"GraphStore",()=>g,"GraphTaskAlreadyBoundError",()=>a,"GraphVersionConflictError",()=>s,"appendEvent",()=>T,"createGraph",()=>E,"createGraphStore",()=>f,"deactivateSchedulesByRootMessageId",()=>w,"getActiveScheduleForRootMessageId",()=>y,"getActiveScheduleRootMessageIds",()=>v,"getGraph",()=>_,"getGraphEvents",()=>R,"updateGraphStructure",()=>S,"updateNodeRuntime",()=>k])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},36269,e=>{"use strict";var t=e.i(248);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)),a=[];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}:{}},a.push(e))}return n.schedule={...o,tickInProgress:!0,lastTickAt:t,runCount:o.runCount+1},{graph:n,tickFired:!0,resetNodeIds:a}}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()}}e.s(["completeScheduleTick",()=>s,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>o,"scheduleTickIfDue",()=>r])},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},71080,e=>{"use strict";var t=e.i(60447),r=e.i(36269),s=e.i(248),o=e.i(33601),n=e.i(97812);function a(){return(0,t.getSQLiteDb)().prepare(`
45
+ SELECT task_id, id, schedule
46
+ FROM execution_graphs
47
+ WHERE schedule IS NOT NULL
48
+ AND json_extract(schedule, '$.state') = 'active'
49
+ `).all().map(e=>({taskId:e.task_id,graphId:e.id,schedule:JSON.parse(e.schedule)}))}async function i(e={}){let t=new n.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},u=a();for(let{taskId:n}of(console.log(`[schedules:poll] found ${u.length} active schedule(s)`),u))try{let a=t.getGraph(n);if(!a){d.errors.push({graphId:n,error:Error("Graph not found")});continue}let i=(0,r.scheduleTickIfDue)(a);if(!i.tickFired){console.log(`[schedules:poll] ${n} skipped (${i.skipReason??"unknown"})`),d.skippedGraphIds.push(n);continue}console.log(`[schedules:poll] ${n} tick fired — resetting nodes`),t.updateGraphStructure(i.graph.id,{nodes:i.graph.nodes,schedule:i.graph.schedule});let u=(0,s.schedulerTick)(i.graph,e);console.log(`[schedules:poll] ${n} scheduler: fn=${u.functionToRun.length} work=${u.workToRun.length}`);let l=u.graph;for(let t of u.functionToRun){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing function node "${t}"`);let r=await (0,o.executeNode)(l,t,e),s=r.graph.nodes[t];console.log(`[schedules:poll] ${n} function "${t}" → ${s?.status}`,s&&"output"in s?JSON.stringify(s.output)?.slice(0,200):""),l=r.graph}catch(e){console.error(`[schedules:poll] ${n} function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,s.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let r=l.nodes[t];if(r&&"work"===r.type)try{l=(await (0,o.executeNode)(l,t,e)).graph}catch(e){d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:n,nodeIds:c.workToRun,graph:l}),t.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,s.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing post-work function "${t}"`),l=(await (0,o.executeNode)(l,t,e)).graph}catch(e){console.error(`[schedules:poll] ${n} post-work function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${n} node states: ${p}`);let h=(0,r.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${n} tick complete? ${h}`),h){let e=(0,r.completeScheduleTick)(l),s=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,r=s?t+1:0;e.schedule={...e.schedule,consecutiveFailures:r};let o=e.schedule.maxConsecutiveFailures;null!=o&&r>=o&&(e.schedule={...e.schedule,state:"paused"})}let o=t.getGraph(n);o?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${n} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(n)}catch(e){console.error(`[schedules:poll] ${n} caught error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(n);if(e?.schedule?.tickInProgress){let s=(0,r.completeScheduleTick)(e);t.updateGraphStructure(s.id,{nodes:s.nodes,schedule:s.schedule}),console.log(`[schedules:poll] ${n} force-completed stuck tick`)}}catch{}}return d}async function d(e,t={}){let a=new n.GraphStore,i=a.getGraph(e);if(!i)return{fired:!1,graph:null,error:Error("Graph not found")};if(!i.schedule)return{fired:!1,graph:i,error:Error("No schedule on graph")};let u=(0,r.scheduleTickIfDue)(i);if(!u.tickFired)return{fired:!1,graph:u.graph};a.updateGraphStructure(u.graph.id,{nodes:u.graph.nodes,schedule:u.graph.schedule});let l=u.graph,c=0;for(;;){c++;let e=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let n=(0,s.schedulerTick)(l,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${n.functionToRun.length} work=${n.workToRun.length} cond=${n.control.conditionalNodeIds.length}`),n.functionToRun)){let r=l.nodes[e];r&&"function"===r.type&&(l=(await (0,o.executeNode)(l,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${l.nodes[e]?.status}`))}for(let e of(n.control.conditionalNodeIds.length>0&&(l=n.graph,console.log(`[schedules:tick] applied conditional results: ${n.control.conditionalNodeIds.join(", ")}`)),n.workToRun))l=(await (0,o.executeNode)(l,e,t)).graph;let a=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${a}`),(0,r.isScheduleTickComplete)(l)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(n.complete||!(n.workToRun.length>0||n.functionToRun.length>0))break}let p=(0,r.completeScheduleTick)(l);return a.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>d,"getGraphsWithActiveSchedules",()=>a,"pollSchedules",()=>i])},26057,e=>{"use strict";var t=e.i(33405);function r(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}async function s(t){try{let{getSQLiteDb:r}=await e.A(18801),s=r(),o=s.prepare("SELECT project_id FROM project_threads WHERE thread_id = ? ORDER BY created_at ASC LIMIT 1").get(t);if(!o?.project_id)return null;let n=s.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC LIMIT 1").get(o.project_id);return n?.agent_id??null}catch{return null}}async function o(t,s){let o=r(t,s);if(!o)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:n,getThreadStatusSnapshot:a,sweepStaleWorkingReactions:i}=await e.A(18760),d=await n(o);if(!d)return{status:"failure",message:`Thread not found for rootMessageId: ${o}`};await i(d.threadId);let u=await a({threadId:d.threadId,rootMessageId:o});return{status:"success",output:{activeProcessCount:u.processes.filter(e=>"working"===e.status).length,messageCount:u.messages?.length??0,threadId:d.threadId,lastUpdatedAt:u.lastUpdatedAt}}}async function n(t,o){let n=r(t,o);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let a=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(!a)return{status:"failure",message:"Unable to read steer node output"};let{getMessageThread:i,saveMessages:d,updateMessageStatus:u}=await e.A(18760),{deactivateSchedulesByRootMessageId:l}=await e.A(32025),c=await i(n);if(!c)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(a.isDone)return l(n),await u(c.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}};let p=await s(c.threadId),h=crypto.randomUUID();return await d(c.threadId,[{id:h,role:"assistant",participantId:p,content:a.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]),{status:"success",output:{done:!1,action:"sent_next_steps",sender:p,messageId:h}}}async function a(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return o(e,t);case"ship-mode-act":return n(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function i(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="",a=0,i=!1,d=!1,u=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),l=setTimeout(()=>{d=!0,u.kill("SIGTERM")},o);u.stdout.on("data",e=>{if(i)return;let t=Buffer.byteLength(e.toString(),"utf8");if(a+t>65536){i=!0;return}r+=e.toString(),a+=t}),u.stderr.on("data",e=>{n+=e.toString()}),u.on("error",t=>{clearTimeout(l),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),u.on("close",t=>{if(clearTimeout(l),d)return void e({status:"failure",message:`Command timed out after ${o}ms`});if(i)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 d(){return async(e,t)=>{switch(e.kind){case"bash":return i(e,t);case"internal":return a(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}e.s(["createDispatchFunction",()=>d,"dispatchBashFunction",()=>i],26057)},97127,e=>{"use strict";var t=e.i(2157),r=e.i(50227),s=e.i(60526);let o=`You are a progress assessor. Review the conversation state below and determine:
50
+ 1. Is the work DONE? (all objectives met, code written, tests passing)
51
+ 2. If not done, what should the team do next?
52
+
53
+ You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
54
+ {"isDone": true/false, "message": "your assessment"}
55
+
56
+ If done, message should confirm what was accomplished.
57
+ If not done, message must be exactly one message that combines:
58
+ - a brief assessment of what is done vs. not done
59
+ - the concrete next steps for the team
60
+
61
+ Do not produce separate status and instruction messages.`;function n(){return async(n,a)=>{let i=a.schedule?.rootMessageId;if(!i)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${n.title}" for graph ${a.id} (root: ${i})`);try{let{getMessageThread:n,getThreadStatusSnapshot:a,sweepStaleWorkingReactions:d}=await e.A(18760),u=await n(i);if(!u)return{status:"failure",message:`Thread not found for rootMessageId: ${i}`};await d(u.threadId);let l=await a({threadId:u.threadId,rootMessageId:i}),c=l.processes.filter(e=>"working"===e.status).length,p=(l.messages??[]).slice(-10).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,300);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${c}, msgs=${l.messages?.length??0}`);let h=["--- THREAD STATE ---",`Active agents: ${c}`,`Total messages: ${l.messages?.length??0}`,"\nRecent messages:",p,"--- END THREAD STATE ---\n\nAssess the progress and respond with the JSON object."].join("\n"),{runCliResponse:g}=await e.A(31259),f=function(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}(function(){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"}}());console.log(`[work-dispatch] Calling ${f} via runCliResponse (prompt length: ${h.length})...`);let m="";await g({provider:f,model:null,prompt:h,systemContext:o,onDelta:e=>{m+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${m.slice(0,500)}`);let E=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]);return{isDone:!!e.isDone,message:String(e.message??"")}}catch{}return e.includes("[done]")?{isDone:!0,message:e}:{isDone:!1,message:e}}(m.trim());return console.log("[work-dispatch] Parsed result:",E),{status:"success",output:E}}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",()=>n])},30995,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),o=e.i(59756),n=e.i(61916),a=e.i(74677),i=e.i(69741),d=e.i(16795),u=e.i(87718),l=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),f=e.i(10372),m=e.i(93695);e.i(52474);var E=e.i(220),_=e.i(94028),k=e.i(71080),S=e.i(26057),T=e.i(97127);async function R(e){try{let t=await e.json().catch(()=>({})),r=(0,S.createDispatchFunction)(),s=(0,T.createDispatchWork)();if(t.taskId){let e=await (0,k.executeScheduleTick)(t.taskId,{dispatchFunction:r,dispatchWork:s});return _.NextResponse.json({success:e.fired,taskId:t.taskId,error:e.error?.message??null})}let o=await (0,k.pollSchedules)({dispatchFunction:r,dispatchWork:s});return _.NextResponse.json({success:!0,tickedGraphIds:o.tickedGraphIds,skippedGraphIds:o.skippedGraphIds,errorCount:o.errors.length,errors:o.errors.length>0?o.errors.map(e=>({graphId:e.graphId,message:e.error.message})):void 0})}catch(e){return console.error("Schedule poll error:",e),_.NextResponse.json({error:"Failed to poll schedules",message:e instanceof Error?e.message:String(e)},{status:500})}}async function y(){try{let{getGraphsWithActiveSchedules:t}=await e.A(84511),r=t();return _.NextResponse.json({count:r.length,schedules:r.map(e=>({taskId:e.taskId,graphId:e.graphId,state:e.schedule.state,intervalMs:e.schedule.intervalMs,runCount:e.schedule.runCount,lastTickAt:e.schedule.lastTickAt,tickInProgress:e.schedule.tickInProgress}))})}catch(e){return console.error("Failed to list schedules:",e),_.NextResponse.json({error:"Failed to list schedules"},{status:500})}}e.s(["GET",()=>y,"POST",()=>R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],16548);var v=e.i(16548);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/schedules/poll/route",pathname:"/api/schedules/poll",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/schedules/poll/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:x,workUnitAsyncStorage:I,serverHooks:A}=w;function N(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:I})}async function $(e,t,s){w.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/schedules/poll/route";_=_.replace(/\/index$/,"")||"/";let k=await w.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:S,params:T,nextConfig:R,parsedUrl:y,isDraftMode:v,prerenderManifest:x,routerServerContext:I,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:$,clientReferenceManifest:C,serverActionsManifest:D}=k,b=(0,i.normalizeAppPath)(_),O=!!(x.dynamicRoutes[b]||x.routes[$]),L=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!v){let e=!!x.routes[$],t=x.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await L();throw new m.NoFallbackError}}let M=null;!O||w.isDev||v||(M="/index"===(M=$)?"/":M);let j=!0===w.isDev||!O,q=O&&!j;D&&C&&(0,a.setManifestsSingleton)({page:_,clientReferenceManifest:C,serverActionsManifest:D});let F=e.method||"GET",U=(0,n.getTracer)(),G=U.getActiveScopeSpan(),P={params:T,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,o)=>w.onRequestError(e,t,s,o,I)},sharedContext:{buildId:S}},H=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let a=async e=>w.handle(B,P).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 s=r.get("next.route");if(s){let t=`${F} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${_}`)}),i=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var n,d;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=P.renderOpts.fetchMetrics;let d=P.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let u=P.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(H,W,n,P.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==P.renderOpts.collectedRevalidate&&!(P.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&P.renderOpts.collectedRevalidate,s=void 0===P.renderOpts.collectedExpire||P.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:P.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,I),t}},l=await w.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!O)return null;if((null==l||null==(n=l.value)?void 0:n.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});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),v&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return i&&O||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,p.sendResponse)(H,W,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};G?await d(G):await U.withPropagatedContext(e.headers,()=>U.trace(l.BaseServerSpan.handleRequest,{spanName:`${F} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,I),O)throw t;return await (0,p.sendResponse)(H,W,new Response(null,{status:500})),null}}e.s(["handler",()=>$,"patchFetch",()=>N,"routeModule",()=>w,"serverHooks",()=>A,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>I],30995)},82848,e=>{e.v(e=>Promise.resolve().then(()=>e(74533)))},97757,e=>{e.v(e=>Promise.resolve().then(()=>e(26057)))},18801,e=>{e.v(e=>Promise.resolve().then(()=>e(60447)))},18760,e=>{e.v(t=>Promise.all(["server/chunks/lib_history-store_ts_2e721df2._.js"].map(t=>e.l(t))).then(()=>t(42639)))},32025,e=>{e.v(e=>Promise.resolve().then(()=>e(97812)))},31259,e=>{e.v(t=>Promise.all(["server/chunks/lib_87c06aeb._.js"].map(t=>e.l(t))).then(()=>t(14350)))},84511,e=>{e.v(e=>Promise.resolve().then(()=>e(71080)))}];
62
+
63
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b63cb741._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let s="3.35.0",n=["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 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,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${s}`,found:c.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))l(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)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(s),{execSync:o}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,a=s||"unknown")}return a}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&p.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},53616,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),x=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(94028),R=e.i(62294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,R.getProjectVariables)(e);return g.NextResponse.json({variables:r})}catch(e){return console.error("Error fetching project variables:",e),g.NextResponse.json({error:"Failed to fetch project variables"},{status:500})}}async function b(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),s="string"==typeof a.key?a.key.trim():"",n="string"==typeof a.value?a.value:"";if(!s)return g.NextResponse.json({error:"key is required"},{status:400});let o=await (0,R.setProjectVariable)(r,s,n);return g.NextResponse.json({variable:o},{status:201})}catch(e){return console.error("Error setting project variable:",e),g.NextResponse.json({error:"Failed to set project variable"},{status:500})}}async function y(e,t){try{let{id:r}=await t.params,a=new URL(e.url).searchParams.get("key");if(!a)return g.NextResponse.json({error:"key query param is required"},{status:400});return await (0,R.deleteProjectVariable)(r,a),g.NextResponse.json({ok:!0})}catch(e){return console.error("Error deleting project variable:",e),g.NextResponse.json({error:"Failed to delete project variable"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"POST",()=>b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],56131);var w=e.i(56131);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/variables/route",pathname:"/api/projects/[id]/variables",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/variables/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:j,workUnitAsyncStorage:A,serverHooks:C}=_;function S(){return(0,a.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:A})}async function k(e,t,a){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/projects/[id]/variables/route";g=g.replace(/\/index$/,"")||"/";let R=await _.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:b,nextConfig:y,parsedUrl:w,isDraftMode:j,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:N}=R,L=(0,i.normalizeAppPath)(g),P=!!(A.dynamicRoutes[L]||A.routes[T]),O=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,w,!1):t.end("This page could not be found"),null);if(P&&!j){let e=!!A.routes[T],t=A.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let U=null;!P||_.isDev||j||(U="/index"===(U=T)?"/":U);let D=!0===_.isDev||!P,I=P&&!D;N&&q&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:q,serverActionsManifest:N});let $=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),M={params:b,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>_.onRequestError(e,t,a,s,C)},sharedContext:{buildId:E}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>_.handle(G,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${g}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=M.renderOpts.collectedTags;if(!P)return await (0,c.sendResponse)(B,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,C),t}},d=await _.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.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 x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&P||x.delete(m.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,c.sendResponse)(B,K,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};H?await l(H):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,C),P)throw t;return await (0,c.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>S,"routeModule",()=>_,"serverHooks",()=>C,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>A],53616)}];
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let s="3.35.0",n=["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 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,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${s}`,found:c.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))l(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)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(s),{execSync:o}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,a=s||"unknown")}return a}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&p.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{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},53616,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),x=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(94028),R=e.i(62294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,R.getProjectVariables)(e);return g.NextResponse.json({variables:r})}catch(e){return console.error("Error fetching project variables:",e),g.NextResponse.json({error:"Failed to fetch project variables"},{status:500})}}async function b(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),s="string"==typeof a.key?a.key.trim():"",n="string"==typeof a.value?a.value:"";if(!s)return g.NextResponse.json({error:"key is required"},{status:400});let o=await (0,R.setProjectVariable)(r,s,n);return g.NextResponse.json({variable:o},{status:201})}catch(e){return console.error("Error setting project variable:",e),g.NextResponse.json({error:"Failed to set project variable"},{status:500})}}async function y(e,t){try{let{id:r}=await t.params,a=new URL(e.url).searchParams.get("key");if(!a)return g.NextResponse.json({error:"key query param is required"},{status:400});return await (0,R.deleteProjectVariable)(r,a),g.NextResponse.json({ok:!0})}catch(e){return console.error("Error deleting project variable:",e),g.NextResponse.json({error:"Failed to delete project variable"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"POST",()=>b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],56131);var w=e.i(56131);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/variables/route",pathname:"/api/projects/[id]/variables",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/variables/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:j,workUnitAsyncStorage:A,serverHooks:C}=_;function S(){return(0,a.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:A})}async function k(e,t,a){_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/projects/[id]/variables/route";g=g.replace(/\/index$/,"")||"/";let R=await _.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:b,nextConfig:y,parsedUrl:w,isDraftMode:j,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:N}=R,L=(0,i.normalizeAppPath)(g),P=!!(A.dynamicRoutes[L]||A.routes[T]),O=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,w,!1):t.end("This page could not be found"),null);if(P&&!j){let e=!!A.routes[T],t=A.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let U=null;!P||_.isDev||j||(U="/index"===(U=T)?"/":U);let D=!0===_.isDev||!P,I=P&&!D;N&&q&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:q,serverActionsManifest:N});let $=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),M={params:b,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>_.onRequestError(e,t,a,s,C)},sharedContext:{buildId:E}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>_.handle(G,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==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=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${g}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=M.renderOpts.collectedTags;if(!P)return await (0,c.sendResponse)(B,K,n,M.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,C),t}},d=await _.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.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 x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&P||x.delete(m.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,c.sendResponse)(B,K,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};H?await l(H):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,C),P)throw t;return await (0,c.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>S,"routeModule",()=>_,"serverHooks",()=>C,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>A],53616)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__2388b2b3._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b9b3fde6._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let n="3.35.0",s=["json1"],i=["fts5"],o=["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,p){let l=[],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)&&l.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${n}`,found:c.v,required:`>= ${n}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),s))d(u,e)||l.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)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(n){"linux"!==r.default.platform()&&r.default.platform();try{let s=a.default.resolve(n),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,n]=t.split(/\s+/);e&&s.startsWith(e)&&e.length>r.length&&(r=e,a=n||"unknown")}return a}}catch{}return null}(p);h&&o.some(e=>h.toLowerCase().includes(e))&&l.push({kind:"filesystem_error",message:`Database path '${p}' is on a network filesystem (${h})`,path:p,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):l.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){l.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 l}e.s(["validateSQLiteEnvironment",()=>u])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class a extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class n extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class s extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function o(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function l(e){let{type:t,status:r,metrics:a,output:n,...s}=e;return{type:t,status:r,config:s,output:n??null,metrics:a??null}}function c(e){let t={...p(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
1
+ module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let n="3.35.0",s=["json1"],i=["fts5"],o=["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,p){let l=[],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)&&l.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${n}`,found:c.v,required:`>= ${n}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),s))d(u,e)||l.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)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(n){"linux"!==r.default.platform()&&r.default.platform();try{let s=a.default.resolve(n),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,n]=t.split(/\s+/);e&&s.startsWith(e)&&e.length>r.length&&(r=e,a=n||"unknown")}return a}}catch{}return null}(p);h&&o.some(e=>h.toLowerCase().includes(e))&&l.push({kind:"filesystem_error",message:`Database path '${p}' is on a network filesystem (${h})`,path:p,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):l.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){l.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 l}e.s(["validateSQLiteEnvironment",()=>u])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class a extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class n extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class s extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function o(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function p(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function l(e){let{type:t,status:r,metrics:a,output:n,...s}=e;return{type:t,status:r,config:s,output:n??null,metrics:a??null}}function c(e){let t={...p(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
2
2
  (id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
3
3
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
4
4
  ON CONFLICT (id) DO UPDATE SET
@@ -43,4 +43,4 @@ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/ap
43
43
  AND json_extract(schedule, '$.rootMessageId') = ?
44
44
  AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>s,"GraphNotFoundError",()=>n,"GraphStore",()=>g,"GraphTaskAlreadyBoundError",()=>i,"GraphVersionConflictError",()=>a,"appendEvent",()=>y,"createGraph",()=>_,"createGraphStore",()=>E,"deactivateSchedulesByRootMessageId",()=>w,"getActiveScheduleForRootMessageId",()=>S,"getActiveScheduleRootMessageIds",()=>T,"getGraph",()=>m,"getGraphEvents",()=>v,"updateGraphStructure",()=>x,"updateNodeRuntime",()=>R])},20224,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),u=e.i(87718),p=e.i(95169),l=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(74838),E=e.i(10372),f=e.i(93695);e.i(52474);var _=e.i(220),m=e.i(94028),R=e.i(57431),x=e.i(49041),y=e.i(97812);async function v(e,{params:t}){try{let{id:e}=await t,r=x.LOCAL_USER.id,a=await (0,y.getGraph)(e);if(!a)return m.NextResponse.json({error:"No execution graph found for this task"},{status:404});if("stopped"===a.executionState||"done"===a.executionState)return m.NextResponse.json({error:"Task is already stopped or done",executionState:a.executionState},{status:400});let n=(0,R.createAdminDbClient)(),s=["running","paused","awaiting_human"],i=["work","gate","join","conditional","root"],o=Object.entries(a.nodes).filter(([,e])=>s.includes(e.status)&&i.includes(e.type)).map(([e])=>e);if(o.length>0)for(let e of o)await n.from("graph_nodes").update({status:"stopped"}).eq("graph_id",a.id).eq("node_id",e);return await n.from("execution_graphs").update({execution_state:"stopped"}).eq("id",a.id),await n.from("tasks").update({status:"blocked",updated_at:new Date().toISOString()}).eq("id",e).eq("user_id",r),m.NextResponse.json({success:!0,executionState:"stopped"})}catch(e){return console.error("Error stopping execution:",e),m.NextResponse.json({error:"Failed to stop execution"},{status:500})}}e.s(["POST",()=>v],13771);var S=e.i(13771);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/graph/stop/route",pathname:"/api/tasks/[id]/graph/stop",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/[id]/graph/stop/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:w,workUnitAsyncStorage:A,serverHooks:N}=T;function I(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:A})}async function k(e,t,a){T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/tasks/[id]/graph/stop/route";m=m.replace(/\/index$/,"")||"/";let R=await T.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:v,parsedUrl:S,isDraftMode:w,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:k,resolvedPathname:b,clientReferenceManifest:C,serverActionsManifest:L}=R,O=(0,o.normalizeAppPath)(m),D=!!(A.dynamicRoutes[O]||A.routes[b]),q=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!w){let e=!!A.routes[b],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(v.experimental.adapterPath)return await q();throw new f.NoFallbackError}}let M=null;!D||T.isDev||w||(M="/index"===(M=b)?"/":M);let j=!0===T.isDev||!D,U=D&&!j;L&&C&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:C,serverActionsManifest:L});let F=e.method||"GET",H=(0,s.getTracer)(),$=H.getActiveScopeSpan(),G={params:y,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:v.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>T.onRequestError(e,t,a,n,N)},sharedContext:{buildId:x}},P=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(P,(0,u.signalFromNodeResponse)(t));try{let i=async e=>T.handle(B,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.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=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${m}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var s,d;let u=async({previousCacheEntry:r})=>{try{if(!o&&I&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let d=G.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=G.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(P,W,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[E.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:_.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 T.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,l.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),t}},p=await T.handleResponse({req:e,nextConfig:v,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:o});if(!D)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(d=p.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",I?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),w&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&D||f.delete(E.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,g.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(P,W,new Response(p.value.body,{headers:f,status:p.value.status||200})),null};$?await d($):await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof f.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,l.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),D)throw t;return await (0,c.sendResponse)(P,W,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>I,"routeModule",()=>T,"serverHooks",()=>N,"workAsyncStorage",()=>w,"workUnitAsyncStorage",()=>A],20224)}];
45
45
 
46
- //# sourceMappingURL=%5Broot-of-the-server%5D__f4b70b67._.js.map
46
+ //# sourceMappingURL=%5Broot-of-the-server%5D__be4ad4b5._.js.map