@mndrk/agx 2.0.13 → 2.0.15

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 (495) hide show
  1. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +8 -0
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +58 -0
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +2 -2
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/app-paths-manifest.json +3 -0
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/build-manifest.json +18 -0
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/next-font-manifest.json +11 -0
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/react-loadable-manifest.json +1 -0
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page/server-reference-manifest.json +4 -0
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page.js +16 -0
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page.js.map +5 -0
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page.js.nft.json +1 -0
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/[id]/page_client-reference-manifest.js +2 -0
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/app-paths-manifest.json +3 -0
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/build-manifest.json +18 -0
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/next-font-manifest.json +11 -0
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/react-loadable-manifest.json +1 -0
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page/server-reference-manifest.json +4 -0
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page.js +16 -0
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page.js.map +5 -0
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page.js.nft.json +1 -0
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents/page_client-reference-manifest.js +2 -0
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.html +9 -0
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.meta +15 -0
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.rsc +23 -0
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_full.segment.rsc +23 -0
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_head.segment.rsc +5 -0
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_index.segment.rsc +9 -0
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_tree.segment.rsc +5 -0
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +9 -0
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents.segment.rsc +4 -0
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route.js +6 -0
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route.js.map +5 -0
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/messages/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route.js +6 -0
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route.js.map +5 -0
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/[id]/profile/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route.js +6 -0
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route.js.map +5 -0
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/agents/export/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +2 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js +3 -3
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js +1 -1
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js +2 -1
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js +1 -1
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js +1 -1
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/status/route.js +1 -1
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/status/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js +1 -1
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js +1 -1
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js +1 -1
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +1 -1
  178. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  180. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  181. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js +1 -1
  182. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  184. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  185. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js +1 -1
  186. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  187. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route/app-paths-manifest.json +3 -0
  188. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route/build-manifest.json +11 -0
  189. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route/server-reference-manifest.json +4 -0
  190. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js +8 -0
  191. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js.map +5 -0
  192. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route.js.nft.json +1 -0
  193. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/agents/route_client-reference-manifest.js +2 -0
  194. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route/app-paths-manifest.json +3 -0
  195. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route/build-manifest.json +11 -0
  196. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route/server-reference-manifest.json +4 -0
  197. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js +8 -0
  198. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js.map +5 -0
  199. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route.js.nft.json +1 -0
  200. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/[id]/route_client-reference-manifest.js +2 -0
  201. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route/app-paths-manifest.json +3 -0
  202. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route/build-manifest.json +11 -0
  203. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route/server-reference-manifest.json +4 -0
  204. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js +8 -0
  205. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js.map +5 -0
  206. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route.js.nft.json +1 -0
  207. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/teams/route_client-reference-manifest.js +2 -0
  208. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js +1 -1
  209. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js +1 -1
  211. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +1 -1
  213. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js.nft.json +1 -1
  215. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page_client-reference-manifest.js +1 -1
  216. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
  217. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +2 -2
  218. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +2 -2
  219. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
  220. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +2 -2
  221. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  222. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  223. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
  224. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -1
  225. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  226. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
  227. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +3 -3
  228. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  229. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  230. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  231. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  232. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  233. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  235. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +4 -4
  236. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  237. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +4 -4
  238. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
  239. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +2 -2
  240. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  241. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
  242. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  244. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  246. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  247. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  248. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  249. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
  250. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +3 -3
  251. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  252. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  253. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  254. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  256. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  258. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  260. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  261. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +3 -3
  262. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  263. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  264. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  265. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  266. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  268. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
  269. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  270. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  271. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +2 -2
  272. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  273. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  274. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  275. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  276. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  277. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  278. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js.nft.json +1 -1
  279. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page_client-reference-manifest.js +1 -1
  280. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
  281. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +3 -3
  282. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +3 -3
  283. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
  284. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +2 -2
  285. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  286. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  287. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
  288. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.nft.json +1 -1
  289. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  290. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +2 -2
  291. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +3 -3
  292. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  293. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  295. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  296. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  297. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  298. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +8 -0
  299. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_teams_route_actions_e76eb762.js +3 -0
  300. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_d237c059._.js +1 -1
  301. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6041e016._.js +3 -3
  302. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +9 -9
  303. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_8c82981b._.js +3 -3
  304. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__02ca2128._.js → [root-of-the-server]__11b52378._.js} +2 -2
  305. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__bbf5f222._.js → [root-of-the-server]__138cda76._.js} +2 -2
  306. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b478bb36._.js → [root-of-the-server]__14c4cd90._.js} +2 -2
  307. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ccb0a291._.js → [root-of-the-server]__1af3c133._.js} +2 -2
  308. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__7fae991f._.js → [root-of-the-server]__1d6b3dc4._.js} +2 -2
  309. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__c6bd42f9._.js → [root-of-the-server]__2435226f._.js} +2 -2
  310. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__094cda80._.js → [root-of-the-server]__24676138._.js} +2 -2
  311. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__325b119d._.js +162 -0
  312. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__0469e3c4._.js → [root-of-the-server]__34e15c3b._.js} +2 -2
  313. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__84058042._.js → [root-of-the-server]__374c51fe._.js} +2 -2
  314. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__5e048929._.js → [root-of-the-server]__3a60a457._.js} +17 -14
  315. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__bca6e014._.js → [root-of-the-server]__3da4ecb4._.js} +2 -2
  316. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__4005f2fb._.js +3 -0
  317. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__42ab2b45._.js +205 -0
  318. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9db4ed07._.js → [root-of-the-server]__45a42d30._.js} +2 -2
  319. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__45d4a92e._.js → [root-of-the-server]__46443bd1._.js} +2 -2
  320. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__6a99c121._.js → [root-of-the-server]__4964be9e._.js} +2 -2
  321. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__b3d06607._.js → [root-of-the-server]__49732c7a._.js} +2 -2
  322. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__c24f04db._.js → [root-of-the-server]__4e8944f5._.js} +2 -2
  323. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__e6839bac._.js → [root-of-the-server]__541b6536._.js} +17 -14
  324. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a5ebf587._.js → [root-of-the-server]__5aa0850a._.js} +2 -2
  325. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5ad371f3._.js +197 -0
  326. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__5d4e1eab._.js → [root-of-the-server]__61362d2c._.js} +2 -2
  327. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__f8f5dd3f._.js → [root-of-the-server]__63e6c5cb._.js} +2 -2
  328. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__c6a83450._.js → [root-of-the-server]__74d2fecb._.js} +2 -2
  329. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a085810b._.js → [root-of-the-server]__757bd844._.js} +2 -2
  330. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a798a81b._.js → [root-of-the-server]__7f3fb99b._.js} +2 -2
  331. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__8f70f57a._.js → [root-of-the-server]__862414fb._.js} +2 -2
  332. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__33b4886e._.js → [root-of-the-server]__8c335165._.js} +2 -2
  333. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__843bda67._.js → [root-of-the-server]__950e925a._.js} +2 -2
  334. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9dbd4061._.js +30 -0
  335. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9a8408c2._.js → [root-of-the-server]__abc1c78f._.js} +2 -2
  336. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9d711adb._.js → [root-of-the-server]__b1710728._.js} +2 -2
  337. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__b1ee8259._.js +3 -0
  338. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__086fd26c._.js → [root-of-the-server]__b773a26b._.js} +2 -2
  339. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__6d540484._.js → [root-of-the-server]__b8bfcfcb._.js} +2 -2
  340. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__68eac206._.js → [root-of-the-server]__b92cc388._.js} +2 -2
  341. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bd492c8b._.js +3 -0
  342. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__754f11c3._.js → [root-of-the-server]__bde5cdeb._.js} +19 -16
  343. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__be6f07e4._.js +35 -0
  344. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__8d27656d._.js → [root-of-the-server]__be72cd19._.js} +2 -2
  345. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__bf0cbc6e._.js → [root-of-the-server]__bf5839ef._.js} +2 -2
  346. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__23d4344c._.js → [root-of-the-server]__c07f5dbd._.js} +17 -14
  347. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__d5556385._.js → [root-of-the-server]__c7021bce._.js} +2 -2
  348. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__5231c027._.js → [root-of-the-server]__cbc1e994._.js} +2 -2
  349. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ccad2301._.js +16 -0
  350. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__d339de9d._.js +201 -0
  351. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__7c2d99de._.js → [root-of-the-server]__ede3487d._.js} +2 -2
  352. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__3dfd0006._.js → [root-of-the-server]__ee1d4f22._.js} +2 -2
  353. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__29975f5f._.js → [root-of-the-server]__f1ce0903._.js} +2 -2
  354. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__c0525aa9._.js → [root-of-the-server]__fb7ad71b._.js} +2 -2
  355. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ffe75a5a._.js +22 -0
  356. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__10254e41._.js → [root-of-the-server]__fffe72ac._.js} +2 -2
  357. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_agents_[id]_messages_route_actions_4a5b93aa.js +3 -0
  358. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_agents_[id]_profile_route_actions_3a7d8cf0.js +3 -0
  359. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_teams_[id]_agents_route_actions_97fafccc.js +3 -0
  360. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_agents_export_route_actions_5d64c0cd.js +3 -0
  361. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_teams_[id]_route_actions_2f771636.js +3 -0
  362. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +33 -20
  363. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_agents_[id]_page_actions_f250f955.js +3 -0
  364. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_199f4916._.js +3 -0
  365. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1a89ff22._.js +3 -0
  366. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_23a74345._.js +3 -0
  367. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_274b1253._.js +100 -0
  368. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_5defd267._.js +3 -0
  369. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_7bc01e46._.js +5 -5
  370. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_8feb2597._.js +2 -2
  371. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_97e800de._.js +5 -5
  372. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud__next-internal_server_app_agents_page_actions_e400c0d2.js +3 -0
  373. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_agents_[id]_page_tsx_8537539a._.js +3 -0
  374. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_agents_layout_tsx_7aedca18._.js +3 -0
  375. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_agents_page_tsx_ff7a8da5._.js +3 -0
  376. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_app_execution-graph_page_tsx_a9c51dd9._.js +2 -2
  377. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_b0381c73._.js +3 -0
  378. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_b5ebb745._.js +3 -0
  379. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ba18e49a._.js +3 -0
  380. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d2d4c5b2._.js +2 -2
  381. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d74432d4._.js +4 -0
  382. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_dee298a4._.js +3 -0
  383. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_edc80ce4._.js +4 -0
  384. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__c76acf29._.js → [root-of-the-server]__14d40aef._.js} +2 -2
  385. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__43df8b74._.js +3 -0
  386. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__6e065405._.js +3 -0
  387. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__99fa92e8._.js → [root-of-the-server]__7764ec5b._.js} +2 -2
  388. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__00507cd5._.js → [root-of-the-server]__8c7946de._.js} +2 -2
  389. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__9602ff02._.js +3 -0
  390. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__96241c2a._.js +3 -0
  391. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__d78a9d61._.js +3 -0
  392. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_4dbe1295._.js +3 -0
  393. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +6 -0
  394. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  395. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.js +1 -1
  396. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.json +8 -0
  397. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  398. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
  399. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  400. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  401. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/05abf1bd00d94cf8.js +5 -0
  402. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0921d653d52e4010.js +1 -0
  403. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0ca3d85999e974cd.js +1 -0
  404. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{60a9c7b6ddb4f3f5.js → 2d8cc58676973d4c.js} +7 -7
  405. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3192d43fdf9f54f2.js +30 -0
  406. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3e48187863c47db7.js +1 -0
  407. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{c19172117f196735.js → 4a8f67c6ca864f30.js} +1 -1
  408. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55c07b9b3795a4db.js +1 -0
  409. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{7d2c10033c8a8554.js → 77c849083402f61f.js} +1 -1
  410. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{ae26536f21ac3989.js → 79db9e451bfa80a8.js} +1 -1
  411. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7eabb545e691cc51.js +1 -0
  412. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/95901ed98d4ed7b1.css +1 -0
  413. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a25163733aaa771d.js +1 -0
  414. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a5524fedec1d4539.js +30 -0
  415. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ae11a9833582a364.css +2 -0
  416. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/beaa6c9ec1984b1a.js +1 -0
  417. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/bfb2423083fa77ea.js +1 -0
  418. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c9a61a2b91917a11.js +1 -0
  419. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e081d11e088dfd04.js +98 -0
  420. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/agents/[id]/page.tsx +723 -0
  421. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/agents/layout.tsx +3 -0
  422. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/agents/page.tsx +1093 -0
  423. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/agents/[id]/messages/route.ts +91 -0
  424. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/agents/[id]/profile/route.ts +87 -0
  425. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/agents/export/route.ts +51 -0
  426. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/chat/route.ts +47 -0
  427. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/history/route.ts +17 -0
  428. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/participants/route.ts +35 -0
  429. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/teams/[id]/agents/route.ts +118 -0
  430. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/teams/[id]/route.ts +80 -0
  431. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/teams/route.ts +132 -0
  432. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/layout.tsx +42 -23
  433. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/KanbanBoard.tsx +1 -0
  434. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/SortableTaskCard.tsx +3 -1
  435. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/TaskCard.tsx +27 -1
  436. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx +79 -25
  437. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/Composer.tsx +25 -9
  438. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MentionPopover.tsx +84 -31
  439. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageBubble.tsx +22 -11
  440. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +236 -28
  441. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx +117 -13
  442. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +6 -3
  443. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadItem.tsx +1 -1
  444. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadList.tsx +1 -1
  445. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/WorkspaceSidebar.tsx +1376 -0
  446. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql +41 -0
  447. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useGroupChat.ts +6 -2
  448. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useMentionAutocomplete.ts +86 -31
  449. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useTeams.ts +171 -0
  450. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useThreadState.ts +75 -7
  451. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/history-store.ts +34 -4
  452. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/participants-store.ts +22 -3
  453. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite-query-adapter.ts +13 -0
  454. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/local-thread-adapter.ts +6 -0
  455. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/thread-adapter.ts +11 -0
  456. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +59 -8
  457. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/teams.ts +130 -0
  458. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/tiptap/composer-mentions.ts +1 -0
  459. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/types.ts +5 -0
  460. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/migrations/sqlite_schema.sql +41 -0
  461. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/services/threadService.ts +65 -1
  462. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/uiSettings.ts +2 -2
  463. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/styles/{threadSidebar.css → workspaceSidebar.css} +79 -57
  464. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.json +2 -1
  465. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
  466. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +8 -0
  467. package/lib/cli/onboarding.js +67 -16
  468. package/lib/commands/chat.js +4 -0
  469. package/package.json +1 -1
  470. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__384eb9c5._.js +0 -194
  471. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__4dc3c88e._.js +0 -202
  472. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8c40bccb._.js +0 -159
  473. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__cac59af9._.js +0 -198
  474. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__e5230b89._.js +0 -16
  475. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_304dc58c._.js +0 -3
  476. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +0 -95
  477. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e7635878._.js +0 -3
  478. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ef78b9d7._.js +0 -3
  479. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a4a5c57b._.js +0 -3
  480. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a73fd1ea._.js +0 -3
  481. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_6c755856._.js +0 -3
  482. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/04612fc0fdf7b4ef.css +0 -1
  483. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/122dafa7cd2594e4.js +0 -30
  484. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/38cf24cf2de25782.js +0 -1
  485. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/49b2630db3ff37fe.js +0 -5
  486. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55e870d6246760c7.js +0 -93
  487. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/870ea0d4e47d21ce.js +0 -1
  488. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/a56604cde5f45ff6.js +0 -30
  489. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/b3af23a09f4d9204.js +0 -1
  490. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/cdd364319efbfb0a.js +0 -1
  491. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e479bda541d8b5c4.css +0 -2
  492. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadSidebar.tsx +0 -359
  493. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{XZDiIYejKYJCT3rT4mrnp → 1fdQDYVXlcwnVGQtgask4}/_buildManifest.js +0 -0
  494. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{XZDiIYejKYJCT3rT4mrnp → 1fdQDYVXlcwnVGQtgask4}/_clientMiddlewareManifest.json +0 -0
  495. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{XZDiIYejKYJCT3rT4mrnp → 1fdQDYVXlcwnVGQtgask4}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
- module.exports=[36420,e=>{"use strict";e.i(22734);var t=e.i(46786),r=e.i(14747);let s="3.35.0",i=["json1"],n=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function a(a,u){let p=[],h=a.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}(h.v,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${h.v} is below minimum ${s}`,found:h.v,required:`>= ${s}`,fix:"darwin"===t.default.platform()?"brew install sqlite3 && npm rebuild better-sqlite3":"TURBOPACK unreachable"}),i))o(a,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 n)o(a,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let c=function(s){"linux"!==t.default.platform()&&t.default.platform();try{let i=r.default.resolve(s),{execSync:n}=e.r(33405);if("darwin"===t.default.platform()){let e=n(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);c&&l.some(e=>c.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${c})`,path:u,found:c,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{a.pragma("journal_mode = wal"),a.pragma("foreign_keys = 1"),a.pragma("busy_timeout = 5000"),a.pragma("synchronous = 1"),a.pragma("cache_size = -64000");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){a.pragma("journal_mode = DELETE");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(a.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",()=>a])},62367,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])},74949,e=>{"use strict";var t=e.i(17920),r=e.i(22734),s=e.i(14747),i=e.i(46786),n=e.i(62367),l=e.i(36420);let o=process.env.AGX_DATA_DIR||s.default.join(i.default.homedir(),".agx");class a{expr;constructor(e){this.expr=e}}function u(e){return new a(e)}let p=null;function h(){if(p)return p;let e=process.env.SQLITE_DB_PATH||s.default.join(o,"agx-board.db");r.default.existsSync(e),p=new t.default(e);let i=(0,l.validateSQLiteEnvironment)(p,e);if(i.length>0){let e=i.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
- ${e.join("\n")}`)}return function(e){let t=s.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let i=r.default.readFileSync(t,"utf-8");e.exec(i)}(p),p}let c=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function d(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function m(e,t){return null==t?null:t instanceof Date?t.toISOString():c.has(e)?JSON.stringify(t):d(t)}function f(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),s=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===s.length?{columns:["*"],includeProjectRepos:r}:{columns:s,includeProjectRepos:r}}class g{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let s=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[s,i,...n]=e.split("."),l="true"===(r=n.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(d(l)),`${s} = ?`):"neq"===i?(t.push(d(l)),`${s} <> ?`):"is"===i?null===l?`${s} IS NULL`:(t.push(d(l)),`${s} IS ?`):"ilike"===i||"like"===i?(t.push(d(l)),`${s} LIKE ?`):"1=1"});s.length>0&&e.push(`(${s.join(" OR ")})`);continue}if("eq"===r.op)t.push(d(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(d(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(d(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(d(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(d(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(d(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(d(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let s=(r.value||[]).map(d);if(0===s.length)e.push("1=1");else{let i=s.map(()=>"?").join(", ");t.push(...s),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${s.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let s=(r.value||[]).map(d),i=s.map(()=>"?").join(", ");t.push(...s),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=h(),{columns:t,includeProjectRepos:r}=f(this.selectColumns),s=[],i=[];this.buildWhere(i,s);let n=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(n+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");n+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(s.push(this.limitValue),n+=" LIMIT ?");let l=e.prepare(n).all(...s);if(l=l.map(S),r&&"projects"===this.table&&l.length>0){let t=l.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),s=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of s){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}l=l.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===l.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:l[0],error:null}}if("maybeSingle"===this.singleMode)return{data:l[0]||null,error:null};return{data:l,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=h(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let s=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],n=r.map(e=>{let t=s.map(t=>(i.push(m(t,e[t])),"?"));return`(${t.join(", ")})`}),l=`INSERT INTO ${this.table} (${s.join(", ")}) VALUES ${n.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=s.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?l+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=f(this.returningColumns);l+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(l).all(...i)).map(S):(t.prepare(l).run(...i),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:o&&o[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=h(),r=[],s=[],i=[];this.buildWhere(i,s);let n="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof a?`${e} = ${t.expr}`:(r.push(m(e,t)),`${e} = ?`)});n=`UPDATE ${this.table} SET ${e.join(", ")}`}else n=`DELETE FROM ${this.table}`;i.length>0&&(n+=` WHERE ${i.join(" AND ")}`);let l=[...r,...s];if(this.returningColumns){let{columns:e}=f(this.returningColumns);n+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(n).all(...l)).map(S):(t.prepare(n).run(...l),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode){if(!o||0===o.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:o[0],error:null}}if("maybeSingle"===this.singleMode)return{data:o?.[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let _=new Set([...c,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function S(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(_.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function E(){return{from:e=>new g(e),auth:{getUser:async()=>({data:{user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email,user_metadata:{name:n.LOCAL_USER.name,full_name:n.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=h(),s=t.p_user_id,i=t.p_endpoint,n=Number(t.p_limit||60),l=Number(t.p_window_seconds||60),o=new Date(Math.floor(new Date().getTime()/(1e3*l))*l*1e3);try{let e=`
1
+ module.exports=[36420,e=>{"use strict";e.i(22734);var t=e.i(46786),r=e.i(14747);let s="3.35.0",i=["json1"],n=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function a(a,u){let p=[],h=a.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}(h.v,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${h.v} is below minimum ${s}`,found:h.v,required:`>= ${s}`,fix:"darwin"===t.default.platform()?"brew install sqlite3 && npm rebuild better-sqlite3":"TURBOPACK unreachable"}),i))o(a,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 n)o(a,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let c=function(s){"linux"!==t.default.platform()&&t.default.platform();try{let i=r.default.resolve(s),{execSync:n}=e.r(33405);if("darwin"===t.default.platform()){let e=n(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);c&&l.some(e=>c.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${c})`,path:u,found:c,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{a.pragma("journal_mode = wal"),a.pragma("foreign_keys = 1"),a.pragma("busy_timeout = 5000"),a.pragma("synchronous = 1"),a.pragma("cache_size = -64000");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){a.pragma("journal_mode = DELETE");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(a.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",()=>a])},62367,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])},74949,e=>{"use strict";var t=e.i(17920),r=e.i(22734),s=e.i(14747),i=e.i(46786),n=e.i(62367),l=e.i(36420);let o=process.env.AGX_DATA_DIR||s.default.join(i.default.homedir(),".agx");class a{expr;constructor(e){this.expr=e}}function u(e){return new a(e)}let p=null;function h(){var e;if(p)return p;let i=process.env.SQLITE_DB_PATH||s.default.join(o,"agx-board.db"),n=!r.default.existsSync(i);p=new t.default(i);let a=(0,l.validateSQLiteEnvironment)(p,i);if(a.length>0){let e=a.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
+ ${e.join("\n")}`)}return n||(e=p).pragma("table_info(teams)").some(e=>"is_default"===e.name)||(e.exec("ALTER TABLE teams ADD COLUMN is_default INTEGER NOT NULL DEFAULT 0"),e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_teams_default ON teams (user_id) WHERE is_default = 1")),function(e){let t=s.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let i=r.default.readFileSync(t,"utf-8");e.exec(i)}(p),p}let c=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function d(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function m(e,t){return null==t?null:t instanceof Date?t.toISOString():c.has(e)?JSON.stringify(t):d(t)}function f(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),s=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===s.length?{columns:["*"],includeProjectRepos:r}:{columns:s,includeProjectRepos:r}}class g{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let s=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[s,i,...n]=e.split("."),l="true"===(r=n.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(d(l)),`${s} = ?`):"neq"===i?(t.push(d(l)),`${s} <> ?`):"is"===i?null===l?`${s} IS NULL`:(t.push(d(l)),`${s} IS ?`):"ilike"===i||"like"===i?(t.push(d(l)),`${s} LIKE ?`):"1=1"});s.length>0&&e.push(`(${s.join(" OR ")})`);continue}if("eq"===r.op)t.push(d(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(d(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(d(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(d(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(d(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(d(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(d(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let s=(r.value||[]).map(d);if(0===s.length)e.push("1=1");else{let i=s.map(()=>"?").join(", ");t.push(...s),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${s.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let s=(r.value||[]).map(d),i=s.map(()=>"?").join(", ");t.push(...s),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=h(),{columns:t,includeProjectRepos:r}=f(this.selectColumns),s=[],i=[];this.buildWhere(i,s);let n=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(n+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");n+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(s.push(this.limitValue),n+=" LIMIT ?");let l=e.prepare(n).all(...s);if(l=l.map(E),r&&"projects"===this.table&&l.length>0){let t=l.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),s=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of s){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}l=l.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===l.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:l[0],error:null}}if("maybeSingle"===this.singleMode)return{data:l[0]||null,error:null};return{data:l,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=h(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let s=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],n=r.map(e=>{let t=s.map(t=>(i.push(m(t,e[t])),"?"));return`(${t.join(", ")})`}),l=`INSERT INTO ${this.table} (${s.join(", ")}) VALUES ${n.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=s.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?l+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=f(this.returningColumns);l+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(l).all(...i)).map(E):(t.prepare(l).run(...i),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:o&&o[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=h(),r=[],s=[],i=[];this.buildWhere(i,s);let n="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof a?`${e} = ${t.expr}`:(r.push(m(e,t)),`${e} = ?`)});n=`UPDATE ${this.table} SET ${e.join(", ")}`}else n=`DELETE FROM ${this.table}`;i.length>0&&(n+=` WHERE ${i.join(" AND ")}`);let l=[...r,...s];if(this.returningColumns){let{columns:e}=f(this.returningColumns);n+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(n).all(...l)).map(E):(t.prepare(n).run(...l),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode){if(!o||0===o.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:o[0],error:null}}if("maybeSingle"===this.singleMode)return{data:o?.[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let _=new Set([...c,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function E(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(_.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function S(){return{from:e=>new g(e),auth:{getUser:async()=>({data:{user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email,user_metadata:{name:n.LOCAL_USER.name,full_name:n.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=h(),s=t.p_user_id,i=t.p_endpoint,n=Number(t.p_limit||60),l=Number(t.p_window_seconds||60),o=new Date(Math.floor(new Date().getTime()/(1e3*l))*l*1e3);try{let e=`
3
3
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
4
4
  VALUES (?, ?, ?, 1)
5
5
  ON CONFLICT (user_id, endpoint, window_start)
6
6
  DO UPDATE SET request_count = rate_limits.request_count + 1
7
7
  RETURNING request_count
8
- `,t=r.prepare(e).get(s,i,o.toISOString());return{data:Number(t?.request_count||0)<=n,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>a,"createAdminDbClientSQLite",()=>E,"getSQLiteDb",()=>h,"sqlExpr",()=>u])}];
8
+ `,t=r.prepare(e).get(s,i,o.toISOString());return{data:Number(t?.request_count||0)<=n,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>a,"createAdminDbClientSQLite",()=>S,"getSQLiteDb",()=>h,"sqlExpr",()=>u])}];
9
9
 
10
10
  //# sourceMappingURL=Projects_Agents_agx-cloud_lib_6041e016._.js.map
@@ -1,18 +1,18 @@
1
- module.exports=[41381,41754,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],41381);var r=e.i(17920),n=e.i(22734),o=e.i(14747),i=e.i(46786),a=e.i(24246);let s=process.env.AGX_DATA_DIR||o.default.join(i.default.homedir(),".agx");class l{expr;constructor(e){this.expr=e}}function d(e){return new l(e)}let u=null;function c(){if(u)return u;let e=process.env.SQLITE_DB_PATH||o.default.join(s,"agx-board.db");n.default.existsSync(e),u=new r.default(e);let t=(0,a.validateSQLiteEnvironment)(u,e);if(t.length>0){let e=t.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
- ${e.join("\n")}`)}return function(e){let t=o.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!n.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let r=n.default.readFileSync(t,"utf-8");e.exec(r)}(u),u}let p=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function f(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function g(e,t){return null==t?null:t instanceof Date?t.toISOString():p.has(e)?JSON.stringify(t):f(t)}function m(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),n=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===n.length?{columns:["*"],includeProjectRepos:r}:{columns:n,includeProjectRepos:r}}class w{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let n=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[n,o,...i]=e.split("."),a="true"===(r=i.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===o?(t.push(f(a)),`${n} = ?`):"neq"===o?(t.push(f(a)),`${n} <> ?`):"is"===o?null===a?`${n} IS NULL`:(t.push(f(a)),`${n} IS ?`):"ilike"===o||"like"===o?(t.push(f(a)),`${n} LIKE ?`):"1=1"});n.length>0&&e.push(`(${n.join(" OR ")})`);continue}if("eq"===r.op)t.push(f(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(f(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(f(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(f(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(f(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(f(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(f(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let n=(r.value||[]).map(f);if(0===n.length)e.push("1=1");else{let o=n.map(()=>"?").join(", ");t.push(...n),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${o})) = ${n.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let n=(r.value||[]).map(f),o=n.map(()=>"?").join(", ");t.push(...n),e.push(`${r.column} IN (${o})`)}else e.push("1=0")}}executeSelect(){try{let e=c(),{columns:t,includeProjectRepos:r}=m(this.selectColumns),n=[],o=[];this.buildWhere(o,n);let i=`SELECT ${t.join(", ")} FROM ${this.table}`;if(o.length>0&&(i+=` WHERE ${o.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");i+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(n.push(this.limitValue),i+=" LIMIT ?");let a=e.prepare(i).all(...n);if(a=a.map(y),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),n=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),o=new Map;for(let e of n){let t=o.get(e.project_id)||[];t.push(e),o.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:o.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=c(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let n=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),o=[],i=r.map(e=>{let t=n.map(t=>(o.push(g(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${n.join(", ")}) VALUES ${i.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=n.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=m(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...o)).map(y):(t.prepare(a).run(...o),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=c(),r=[],n=[],o=[];this.buildWhere(o,n);let i="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof l?`${e} = ${t.expr}`:(r.push(g(e,t)),`${e} = ?`)});i=`UPDATE ${this.table} SET ${e.join(", ")}`}else i=`DELETE FROM ${this.table}`;o.length>0&&(i+=` WHERE ${o.join(" AND ")}`);let a=[...r,...n];if(this.returningColumns){let{columns:e}=m(this.returningColumns);i+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(i).all(...a)).map(y):(t.prepare(i).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let h=new Set([...p,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function y(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(h.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function k(){return{from:e=>new w(e),auth:{getUser:async()=>({data:{user:{id:t.id,email:t.email,user_metadata:{name:t.name,full_name:t.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:t.id,email:t.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=c(),n=t.p_user_id,o=t.p_endpoint,i=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
1
+ module.exports=[41381,41754,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],41381);var r=e.i(17920),n=e.i(22734),o=e.i(14747),i=e.i(46786),a=e.i(24246);let s=process.env.AGX_DATA_DIR||o.default.join(i.default.homedir(),".agx");class l{expr;constructor(e){this.expr=e}}function d(e){return new l(e)}let u=null;function c(){var e;if(u)return u;let t=process.env.SQLITE_DB_PATH||o.default.join(s,"agx-board.db"),i=!n.default.existsSync(t);u=new r.default(t);let l=(0,a.validateSQLiteEnvironment)(u,t);if(l.length>0){let e=l.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
+ ${e.join("\n")}`)}return i||(e=u).pragma("table_info(teams)").some(e=>"is_default"===e.name)||(e.exec("ALTER TABLE teams ADD COLUMN is_default INTEGER NOT NULL DEFAULT 0"),e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_teams_default ON teams (user_id) WHERE is_default = 1")),function(e){let t=o.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!n.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let r=n.default.readFileSync(t,"utf-8");e.exec(r)}(u),u}let p=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function f(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function g(e,t){return null==t?null:t instanceof Date?t.toISOString():p.has(e)?JSON.stringify(t):f(t)}function m(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),n=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===n.length?{columns:["*"],includeProjectRepos:r}:{columns:n,includeProjectRepos:r}}class w{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let n=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[n,o,...i]=e.split("."),a="true"===(r=i.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===o?(t.push(f(a)),`${n} = ?`):"neq"===o?(t.push(f(a)),`${n} <> ?`):"is"===o?null===a?`${n} IS NULL`:(t.push(f(a)),`${n} IS ?`):"ilike"===o||"like"===o?(t.push(f(a)),`${n} LIKE ?`):"1=1"});n.length>0&&e.push(`(${n.join(" OR ")})`);continue}if("eq"===r.op)t.push(f(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(f(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(f(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(f(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(f(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(f(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(f(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let n=(r.value||[]).map(f);if(0===n.length)e.push("1=1");else{let o=n.map(()=>"?").join(", ");t.push(...n),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${o})) = ${n.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let n=(r.value||[]).map(f),o=n.map(()=>"?").join(", ");t.push(...n),e.push(`${r.column} IN (${o})`)}else e.push("1=0")}}executeSelect(){try{let e=c(),{columns:t,includeProjectRepos:r}=m(this.selectColumns),n=[],o=[];this.buildWhere(o,n);let i=`SELECT ${t.join(", ")} FROM ${this.table}`;if(o.length>0&&(i+=` WHERE ${o.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");i+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(n.push(this.limitValue),i+=" LIMIT ?");let a=e.prepare(i).all(...n);if(a=a.map(y),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),n=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),o=new Map;for(let e of n){let t=o.get(e.project_id)||[];t.push(e),o.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:o.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=c(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let n=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),o=[],i=r.map(e=>{let t=n.map(t=>(o.push(g(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${n.join(", ")}) VALUES ${i.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=n.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=m(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...o)).map(y):(t.prepare(a).run(...o),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=c(),r=[],n=[],o=[];this.buildWhere(o,n);let i="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof l?`${e} = ${t.expr}`:(r.push(g(e,t)),`${e} = ?`)});i=`UPDATE ${this.table} SET ${e.join(", ")}`}else i=`DELETE FROM ${this.table}`;o.length>0&&(i+=` WHERE ${o.join(" AND ")}`);let a=[...r,...n];if(this.returningColumns){let{columns:e}=m(this.returningColumns);i+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(i).all(...a)).map(y):(t.prepare(i).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let h=new Set([...p,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function y(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(h.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function _(){return{from:e=>new w(e),auth:{getUser:async()=>({data:{user:{id:t.id,email:t.email,user_metadata:{name:t.name,full_name:t.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:t.id,email:t.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=c(),n=t.p_user_id,o=t.p_endpoint,i=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
3
3
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
4
4
  VALUES (?, ?, ?, 1)
5
5
  ON CONFLICT (user_id, endpoint, window_start)
6
6
  DO UPDATE SET request_count = rate_limits.request_count + 1
7
7
  RETURNING request_count
8
- `,t=r.prepare(e).get(n,o,s.toISOString());return{data:Number(t?.request_count||0)<=i,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>l,"createAdminDbClientSQLite",()=>k,"getSQLiteDb",()=>c,"sqlExpr",()=>d],41754)},8112,14927,14688,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(41754);return t()}e.i(41381),e.s(["createAdminDbClient",()=>t],14927);let r="Waiting on dependencies",n=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class o extends Error{}function i(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>n.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function a(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,n="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||n.includes(`relation "${t}" does not exist`)||n.includes(`Could not find the table 'agx.${t}'`)||n.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new o(`Missing relation: ${e}`);throw t}async function s(e){let r=t(),{data:n,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await a("notification_webhooks",o),n)?(Array.isArray(n)?n:[n]).map(i):[]}async function l(e){if(!e.userId)return;let t=[];try{t=await s(e.userId)}catch(e){if(e instanceof o)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let n=e.timestamp||new Date().toISOString(),i={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:n,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",()=>l],14688);var d=e.i(54799);function u(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function c(e){let r=t(),{data:n,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(u(o,"user_settings"))return null;throw o}return n||null}async function p(e,r,n){let o=n?.onlyIfNewer!==!1,i=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),a=await c(e);if(o&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(i);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let s={user_id:e,default_provider:r.default_provider??a?.default_provider??null,models:r.models??a?.models??{},provenance:r.provenance,changed_at:i},l=t(),{error:d}=await l.from("user_settings").upsert(s,{onConflict:"user_id"});if(d)throw d;let u=await c(e);if(!u)throw Error("Failed to load user_settings after upsert");return{settings:u,updated:!0}}function f(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function g(e,t){let r=f(e);for(let n=0;n<5;n++){let{data:n,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!n||0===n.length)return r;let i=Math.random().toString(36).slice(2,6);r=`${f(e)}-${i}`.slice(0,48)}return`${f(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function m(e,t,r,n){let o=f(e);for(let i=0;i<5;i++){let i=r.from("projects").select("id").eq("slug",o).eq("user_id",t);n&&(i=i.neq("id",n));let{data:a,error:s}=await i.limit(1);if(s)throw s;if(!a||0===a.length)return o;let l=Math.random().toString(36).slice(2,6);o=`${f(e)}-${l}`.slice(0,48)}return`${f(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function w(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function h(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=w(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function y(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let n=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===n){r[n]=w(o);continue}"true"===o?r[n]=!0:"false"===o?r[n]=!1:/^\d+$/.test(o)?r[n]=parseInt(o):r[n]=o}}return{frontmatter:r,body:t[2]}}async function k(e,r,n){if(!e||!r?.length)return;let o=n??t(),i=new Set,a=[...r];for(;a.length;){let t=a.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(i.has(t))continue;i.add(t);let{data:r,error:n}=await o.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(n){if("PGRST116"===n.code||"42703"===n.code)continue;throw n}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!i.has(e)&&a.push(e)}}function _(e){let{body:t}=y(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function S(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function T(e,n){var o;let i=Array.isArray(e.depends_on)?e.depends_on:[];if(!i.length)return;let a=t(),{data:s,error:l}=await a.from("tasks").select("id, title, slug, status, stage").in("id",i);if(l)return;let d=(Array.isArray(s)?s:[]).filter(e=>"completed"!==(e?.status||""));if(d.length){let t=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),n=`${r}: ${t.join(", ")}`;return e.length>3&&(n+=` +${e.length-3} more`),n}(d),o=a.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);n&&(o=o.eq("user_id",n));let{error:i}=await o;if(i&&"42703"!==i.code)throw i;return}if("blocked"===e.status&&"string"==typeof(o=e.blocked_reason)&&o.startsWith(r)){let t=a.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);n&&(t=t.eq("user_id",n));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function $(e,r){console.log("getTasks called with userId:",e);let n=t().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(n=n.eq("user_id",e)),r?.project&&(n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?n.eq("project_id",r.project):n.eq("project",r.project)),r?.orphan&&(n=n.is("project_id",null)),r?.status&&(n=n.eq("status",r.status)),r?.search){let e=r.search;n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?n.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):n.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:i}=await n;if(i)throw i;let a=o||[];return r?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function b(e,r){let n=t().from("tasks").select("*").eq("id",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.single();if(i){if("PGRST116"===i.code)return null;throw i}return o}async function x(e,r){let n=t().from("tasks").select("*").eq("slug",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.single();if(i){if("PGRST116"===i.code)return null;throw i}return o}async function v(e,r,n){let o=t(),{frontmatter:i,body:a}=y(e),s="boolean"==typeof i.swarm?i.swarm:void 0,u=n?.title||_(e),c=String(i.slug||u||"task"),p=await g(c,o),f=n?.projectId||("string"==typeof i.project_id?i.project_id:void 0),m="string"==typeof i.workflow_id?i.workflow_id:void 0,w="string"==typeof i.project?i.project:void 0;if(!w&&f){let{data:e}=await o.from("projects").select("slug").eq("id",f).single();e?.slug&&(w=e.slug)}/^---\n/.test(e);let $="string"==typeof i.provider?i.provider:null,x="string"==typeof i.model?i.model:null,v="string"==typeof i.engine?i.engine:null,I="ai"===i.created_by?"ai":"user",E=h(i.depends_on),j=h(n?.dependsOn),q=j.length>0?j:E,C={id:(0,d.randomUUID)(),content:e,description:S(a),title:u,slug:p,status:i.status||"queued",stage:i.stage||"intake",project:w||null,...void 0!==f?{project_id:f}:{},...void 0!==m?{workflow_id:m}:{},priority:i.priority,engine:v,provider:$,model:x,swarm:s,swarm_models:n?.swarmModels??null,depends_on:q.length?q:null,created_by:I,user_id:r,current_plan:n?.currentPlan||null,open_blockers:n?.openBlockers||[],next_action:n?.nextAction||null,version:1};await k(C.id,q,o);let{data:N,error:O}=await o.from("tasks").insert(C).select().single();if(O&&"42703"===O.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:n,open_blockers:i,next_action:a,version:s,depends_on:l,...d}=C;({data:N,error:O}=await o.from("tasks").insert(d).select().single())}if(O)throw O;if(!N)throw Error("Failed to create task");await T(N,r);let A=await b(N.id,r)||N,L=r||A.user_id;if(L){let e=A.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(A.depends_on)?A.depends_on:[],project:A.project||null,projectId:A.project_id||null,workflowId:A.workflow_id||null,createdBy:A.created_by||null};l({taskId:A.id,userId:L,eventType:"task.created",title:A.title||null,slug:A.slug||null,stage:A.stage||null,status:A.status||null,timestamp:e,details:t})}return A}async function I(e,r,n,o){let i=t(),{frontmatter:a,body:s}=y(r),d="boolean"==typeof a.swarm?a.swarm:void 0,u=_(r),c="string"==typeof a.project_id?a.project_id:void 0,p=Object.prototype.hasOwnProperty.call(a,"provider"),f=Object.prototype.hasOwnProperty.call(a,"model"),g=Object.prototype.hasOwnProperty.call(a,"workflow_id"),m=Object.prototype.hasOwnProperty.call(a,"depends_on"),w=h(a.depends_on),$=h(o?.dependsOn),x=o?.dependsOn!==void 0||m,v=o?.dependsOn!==void 0?$:w,I={content:r,description:S(s),title:u,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:g?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:p?a.provider:null,model:f?a.model:null,swarm:d,swarm_models:o?.swarmModels??void 0,...x?{depends_on:v.length?v:null}:{},updated_at:new Date().toISOString(),current_plan:o?.currentPlan??void 0,open_blockers:o?.openBlockers??void 0,next_action:o?.nextAction??void 0};Object.keys(I).forEach(e=>{void 0===I[e]&&delete I[e]}),x&&await k(e,v,i);let E=i.from("tasks").update({...I,version:i.rpc("increment_version")}).eq("id",e);n&&(E=E.eq("user_id",n)),o?.expectedVersion!==void 0&&(E=E.eq("version",o.expectedVersion));let{data:j,error:q}=await i.from("tasks").update({...I}).eq("id",e).select().maybeSingle();if(q&&console.error(`[db.updateTask] error updating task ${e}:`,q),j||q||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(I)),q&&"42703"===q.code){let{swarm_models:t,swarm:r,workflow_id:o,current_plan:a,open_blockers:s,next_action:l,version:d,depends_on:u,...c}=I,p=i.from("tasks").update(c).eq("id",e);n&&(p=p.eq("user_id",n)),{data:j,error:q}=await p.select().maybeSingle()}if(q)throw q;if(!j){let t=await b(e,n);if(!t)throw Error(`Task ${e} not found`);return t}await T(j,n);let C=await b(j.id,n)||j,N=n||C.user_id;if(N){let e=C.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(C.depends_on)?C.depends_on:[],project:C.project||null,projectId:C.project_id||null,workflowId:C.workflow_id||null,createdBy:C.created_by||null};l({taskId:C.id,userId:N,eventType:"task.created",title:C.title||null,slug:C.slug||null,stage:C.stage||null,status:C.status||null,timestamp:e,details:t})}return C}async function E(e,r,n=25){let o=t(),{data:i,error:a}=await o.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let s=[r,...Array.isArray(i.run_index)?i.run_index:[]].slice(0,n),{error:l}=await o.from("tasks").update({run_index:s}).eq("id",e);if(l){if(l?.code==="42703")return;throw l}}async function j(e,r){let n=t().from("tasks").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function q(e){let r=t().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function C(e){let r=t().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e));let{data:n,error:o}=await r;if(o){if(u(o,"projects"))return[];throw o}return(n||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function N(e,r){let n=t().from("projects").select("*").eq("slug",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.maybeSingle();if(i){if(u(i,"projects"))return null;throw i}return o||null}async function O(e){let r=t(),{data:n,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(u(o,"project_repos"))return[];throw o}return n||[]}let A=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function L(e,r){let n=t(),o=A.test(e),i=n.from("projects").select("*");i=o?i.eq("id",e):i.eq("slug",e),r&&(i=i.eq("user_id",r));let a=await i.maybeSingle();if(a.error){if(u(a.error,"projects"))return null;throw a.error}let s=a.data;if(!s)return null;let l=await O(s.id);return{...s,repos:l}}async function D(e,t,r){if(!t.length)return[];let n=t.map(t=>({project_id:e,name:t.name,path:t.path??null,notes:t.notes??null})),{data:o,error:i}=await r.from("project_repos").insert(n).select("*");if(i){if(u(i,"project_repos"))return[];throw i}return o||[]}async function R(e,r,n){if(!r.name?.trim())throw Error("Project name is required");let o=n??t(),i=r.name.trim()||"project",a=await m(i,e,o),s={user_id:e,name:r.name.trim(),slug:a,description:r.description??null,workflow_id:r.workflow_id??null},{data:l,error:d}=await o.from("projects").insert(s).select("*").single();if(d)throw d;let u=await D(l.id,r.repos??[],o);return{...l,repos:u}}async function P(e,r,n,o){let i=o??t(),a=A.test(e),s=e;if(!a){let t=await N(e,r);if(!t)return null;s=t.id}let l={};if(void 0!==n.name){let e=n.name?.trim();if(!e)throw Error("Project name cannot be empty");l.name=e}if(void 0!==n.slug){let e=n.slug?.trim();e&&(l.slug=e)}if(void 0!==n.description&&(l.description=n.description),void 0!==n.metadata&&(l.metadata=n.metadata),void 0!==n.ci_cd_info&&(l.ci_cd_info=n.ci_cd_info),void 0!==n.workflow_id&&(l.workflow_id=n.workflow_id),Object.keys(l).length){let{error:e}=await i.from("projects").update(l).eq("id",s).eq("user_id",r);if(e)throw e}if(n.repos){let{error:e}=await i.from("project_repos").delete().eq("project_id",s);if(e&&!u(e,"project_repos"))throw e;await D(s,n.repos,i)}return L(s,r)}async function W(e,r,n){let o=n??t(),{error:i}=await o.from("projects").delete().eq("id",e).eq("user_id",r);if(i)throw i}async function U(e,r,n){let o=n??t(),{data:i,error:a}=await o.from("projects").select("id, slug").eq("id",e).eq("user_id",r).maybeSingle();if(a)throw a;if(!i)throw Error("Project not found");let{data:s,error:l}=await o.from("tasks").select("id, project").eq("user_id",r).is("project_id",null);if(l)throw l;let d=String(i.slug||"").trim().toLowerCase(),u=(s||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!u.length)return{updatedCount:0,taskIds:[]};let{error:c}=await o.from("tasks").update({project:i.slug,project_id:i.id,updated_at:new Date().toISOString()}).eq("user_id",r).is("project_id",null).in("id",u);if(c)throw c;return{updatedCount:u.length,taskIds:u}}let M="00000000-0000-0000-0000-000000000001",B=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],F=new Map(B.map(e=>[e.id,e]));async function G(e){let r=t(),{error:n}=await r.from("workflows").upsert({id:M,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(n)throw n;let{error:o}=await r.from("workflow_nodes").upsert(B.map(e=>({...e,workflow_id:M,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:i}=await r.from("workflow_transitions").upsert([{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(i)throw i}async function Q(e){let r=t(),{data:n,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(u(o,"workflows"))return[];throw o}return n||[]}async function H(e,r){let n=t().from("workflows").select("*").eq("id",e),{data:o,error:i}=await n.maybeSingle();if(i){if(u(i,"workflows"))return null;throw i}return o}async function V(e,r,n){let o=t(),i={updated_at:new Date().toISOString()};void 0!==n.definition&&(i.definition=n.definition),void 0!==n.name&&(i.name=n.name),void 0!==n.description&&(i.description=n.description);let{data:a,error:s}=await o.from("workflows").update(i).eq("id",e).select().single();if(s)throw s;return a}async function J(e){let r=t(),{data:n,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(u(o,"workflow_nodes"))return[];throw o}return n||[]}async function K(e,r,n){let o=t();if(e===M&&await G(r),!await H(e,r))throw Error("Workflow not found");if(e===M){let t=n.map(t=>{let r=F.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return J(e)}return await Promise.all(n.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:n}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(n)throw n})),J(e)}async function Y(e,r){let n=t(),{data:o,error:i}=await n.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(i){if(u(i,"workflow_nodes"))return null;throw i}return o}async function X(e){let r=t(),{data:n,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(u(o,"workflow_transitions"))return[];throw o}return n||[]}async function z(e,r){let n=t(),{data:o,error:i}=await n.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(i){if(u(i,"workflow_transitions"))return[];throw i}return o||[]}async function Z(e,t){let r=await H(e,t);if(!r)return null;let[n,o]=await Promise.all([J(e),X(e)]);return{...r,nodes:n,transitions:o}}async function ee(e,r={}){let n=t(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),i="string"==typeof r.after&&r.after.trim()?r.after.trim():null,a=i?null:void 0===r.tail?o:Number(r.tail),s=null!==a&&Number.isFinite(a)&&a>0,l=n.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(l=l.eq("node_id",r.nodeId)),l=i?l.gt("created_at",i).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):s?l.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):l.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:d,error:u}=await l;if(u)throw u;let c=d||[];return i?c:s?c.slice().reverse():c}async function et(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("task_logs").insert({task_id:e,content:r,log_type:n,...o?{node_id:o}:{}}).select().single();if(s)throw s;return a}function er(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function en(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eo(e){let r=t(),n={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:er(e.inputTokens),output_tokens:er(e.outputTokens),estimated_cost:en(e.estimatedCost)},{data:o,error:i}=await r.from("task_costs").insert(n).select().single();if(i)throw i;return o}async function ei(e){let r=t(),{data:n,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return n||[]}async function ea(e){return function(e){let t={},r=0,n=0,o=0;for(let i of e){let e=i.stage||"unknown",a=er(i.input_tokens),s=er(i.output_tokens),l=en(i.estimated_cost??0);r+=a,n+=s,o+=l;let d=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};d.input_tokens+=a,d.output_tokens+=s,d.estimated_cost+=l,d.entries+=1,t[e]=d}return{total_input_tokens:r,total_output_tokens:n,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}(await ei(e))}async function es(e){let r=t(),{data:n,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return n||[]}async function el(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("task_comments").insert({task_id:e,content:r,author_type:n,author_id:o??null}).select().single();if(s)throw s;return a}async function ed(e,r){let n=t(),{data:o,error:i}=await n.from("task_comments").select("author_id, author_type").eq("id",e).single();if(i)throw i;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:a}=await n.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eu(e,r,n){let o=t().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),n&&(o=o.eq("user_id",n));let{data:i,error:a}=await o;if(a)throw a;return i||[]}async function ec(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("learnings").insert({scope:e,scope_id:n,content:r,user_id:o}).select().single();if(s)throw s;return a}async function ep(e,r){let n=t().from("learnings").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function ef(e,r){let n=t().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});n=e?n.or(`user_id.eq.${e},is_default.eq.true`):n.eq("is_default",!0);let{data:o,error:i}=await n;if(i)throw i;return o||[]}async function eg(e,r,n){let o=t();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",n).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:i}=await o.from("stage_prompts").select("*").eq("workflow_id",n).eq("stage",e).eq("is_default",!0).single();return i||null}async function em(e,r,n=[],o,i,a){let s=t(),l={stage:e,prompt:r,outputs:n,user_id:o,is_default:!o,workflow_id:a};i&&(void 0!==i.swarm&&(l.swarm=i.swarm),void 0!==i.provider&&(l.provider=i.provider),void 0!==i.model&&(l.model=i.model),void 0!==i.swarm_models&&(l.swarm_models=i.swarm_models));let{data:d,error:u}=await s.from("stage_prompts").upsert(l,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(u)throw u;return d}async function ew(e,r){let n=t().from("stage_prompts").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function eh(e){let r=t(),{data:n,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(u(o,"agents"))return[];throw o}return n||[]}async function ey(e,r){let n=t(),{data:o,error:i}=await n.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(i){if("PGRST116"===i.code||u(i,"agents"))return null;throw i}return o}async function ek(e,r){let n=t(),o={user_id:e,name:r.name,style:r.style,description:r.description??null,config:r.config??{}},{data:i,error:a}=await n.from("agents").insert(o).select().single();if(a){if(u(a,"agents"))throw Error("Agents table does not exist");throw a}return i}async function e_(e,r,n){let o=t(),i={updated_at:new Date().toISOString()};if(void 0!==n.name&&(i.name=n.name),void 0!==n.style&&(i.style=n.style),void 0!==n.description&&(i.description=n.description),void 0!==n.config&&(i.config=n.config),1===Object.keys(i).length)return ey(e,r);let{data:a,error:s}=await o.from("agents").update(i).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||u(s,"agents"))return null;throw s}return a}async function eS(e,r){let n=t(),{error:o}=await n.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!u(o,"agents"))throw o}e.s(["addLearning",()=>ec,"addTaskComment",()=>el,"addTaskCostEntry",()=>eo,"addTaskLog",()=>et,"appendRunToIndex",()=>E,"assignOrphanTasksToProject",()=>U,"createAgent",()=>ek,"createProject",()=>R,"createTask",()=>v,"deleteAgent",()=>eS,"deleteLearning",()=>ep,"deleteProject",()=>W,"deleteStagePrompt",()=>ew,"deleteTask",()=>j,"deleteTaskComment",()=>ed,"ensureNoCircularDependency",()=>k,"getAgent",()=>ey,"getAgents",()=>eh,"getLearnings",()=>eu,"getNextQueuedTask",()=>q,"getProjectBySlug",()=>N,"getProjectRepos",()=>O,"getProjectWithRepos",()=>L,"getProjects",()=>C,"getStagePrompt",()=>eg,"getStagePrompts",()=>ef,"getTask",()=>b,"getTaskBySlug",()=>x,"getTaskComments",()=>es,"getTaskCostEntries",()=>ei,"getTaskCostSummary",()=>ea,"getTaskLogs",()=>ee,"getTasks",()=>$,"getUserSettings",()=>c,"getWorkflow",()=>H,"getWorkflowNodeByName",()=>Y,"getWorkflowNodes",()=>J,"getWorkflowTransitions",()=>X,"getWorkflowTransitionsFromNode",()=>z,"getWorkflowWithGraph",()=>Z,"getWorkflows",()=>Q,"parseFrontmatter",()=>y,"updateAgent",()=>e_,"updateProject",()=>P,"updateTask",()=>I,"updateWorkflow",()=>V,"updateWorkflowNodes",()=>K,"upsertStagePrompt",()=>em,"upsertUserSettings",()=>p],8112)},29012,e=>{"use strict";var t=e.i(8112),r=e.i(41754);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class o extends Error{code;constructor(e,t){super(e),this.name="RetryableError",this.code=t}}class i extends Error{expectedVersion;actualVersion;entityId;entityType;constructor(e,t,r,n){super(void 0!==n?`Concurrent modification on ${e} ${t}: expected version ${r}, found ${n}`:`Concurrent modification on ${e} ${t}: expected version ${r}, row not updated`),this.name="ConcurrentModificationError",this.entityType=e,this.entityId=t,this.expectedVersion=r,this.actualVersion=n}}function a(e){if(!(e instanceof Error))throw e;let t=e.code??"",r=e.message??"";if("SQLITE_CONSTRAINT_UNIQUE"===t||"SQLITE_CONSTRAINT_PRIMARYKEY"===t||"SQLITE_CONSTRAINT"===t&&(r.includes("UNIQUE")||r.includes("PRIMARY KEY"))||r.includes("UNIQUE constraint failed")||r.includes("PRIMARY KEY constraint failed")){let e=r.match(/(?:UNIQUE|PRIMARY KEY) constraint failed: (.+)/);throw new n(r,{constraint:e?.[1],detail:r})}if("SQLITE_BUSY"===t||"SQLITE_LOCKED"===t||r.includes("database is locked"))throw new o(r,t||"SQLITE_BUSY");throw e}async function s(e){try{return await e()}catch(e){if(e instanceof n||e instanceof o||e instanceof i)throw e;a(e)}}class l{async transaction(e){let t=(0,r.getSQLiteDb)();t.exec("BEGIN IMMEDIATE");try{let r=await e(t);return t.exec("COMMIT"),r}catch(e){try{t.exec("ROLLBACK")}catch{}if(e instanceof n||e instanceof o||e instanceof i)throw e;a(e)}}getTasks(e,r){return t.getTasks(e,r)}getTask(e,r){return t.getTask(e,r)}getTaskBySlug(e,r){return t.getTaskBySlug(e,r)}createTask(e,r,n){return s(()=>t.createTask(e,r,n))}async updateTask(e,n,o,a){let l=a?.expectedVersion;if(void 0!==l){let d=(0,r.getSQLiteDb)();if(0===d.prepare("UPDATE tasks SET version = version + 1 WHERE id = ? AND version = ?").run(e,l).changes){let t=d.prepare("SELECT version FROM tasks WHERE id = ?").get(e);throw new i("task",e,l,t?.version)}let{expectedVersion:u,...c}=a??{};return s(()=>t.updateTask(e,n,o,c))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),s(()=>t.updateTask(e,n,o,a))}appendRunToIndex(e,r,n){return t.appendRunToIndex(e,r,n)}deleteTask(e,r){return s(()=>t.deleteTask(e,r))}getNextQueuedTask(e){return t.getNextQueuedTask(e)}ensureNoCircularDependency(e,r,n){return t.ensureNoCircularDependency(e,r,n)}getProjects(e){return t.getProjects(e)}getProjectBySlug(e,r){return t.getProjectBySlug(e,r)}getProjectRepos(e){return t.getProjectRepos(e)}getProjectWithRepos(e,r){return t.getProjectWithRepos(e,r)}createProject(e,r,n){return s(()=>t.createProject(e,r,n))}updateProject(e,r,n,o){return t.updateProject(e,r,n,o)}deleteProject(e,r,n){return s(()=>t.deleteProject(e,r,n))}assignOrphanTasksToProject(e,r,n){return t.assignOrphanTasksToProject(e,r,n)}getWorkflows(e){return t.getWorkflows(e)}getWorkflow(e,r){return t.getWorkflow(e,r)}updateWorkflow(e,r,n){return t.updateWorkflow(e,r,n)}getWorkflowNodes(e){return t.getWorkflowNodes(e)}updateWorkflowNodes(e,r,n){return t.updateWorkflowNodes(e,r,n)}getWorkflowNodeByName(e,r){return t.getWorkflowNodeByName(e,r)}getWorkflowTransitions(e){return t.getWorkflowTransitions(e)}getWorkflowTransitionsFromNode(e,r){return t.getWorkflowTransitionsFromNode(e,r)}getWorkflowWithGraph(e,r){return t.getWorkflowWithGraph(e,r)}getTaskLogs(e,r){return t.getTaskLogs(e,r)}addTaskLog(e,r,n,o){return s(()=>t.addTaskLog(e,r,n,o))}addTaskCostEntry(e){return s(()=>t.addTaskCostEntry(e))}getTaskCostEntries(e){return t.getTaskCostEntries(e)}getTaskCostSummary(e){return t.getTaskCostSummary(e)}getTaskComments(e){return t.getTaskComments(e)}addTaskComment(e,r,n,o){return s(()=>t.addTaskComment(e,r,n,o))}deleteTaskComment(e,r){return s(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,o){return s(()=>t.addLearning(e,r,n,o))}deleteLearning(e,r){return s(()=>t.deleteLearning(e,r))}getStagePrompts(e,r){return t.getStagePrompts(e,r)}getStagePrompt(e,r,n){return t.getStagePrompt(e,r,n)}upsertStagePrompt(e,r,n,o,i,a){return s(()=>t.upsertStagePrompt(e,r,n,o,i,a))}deleteStagePrompt(e,r){return t.deleteStagePrompt(e,r)}getAgents(e){return t.getAgents(e)}getAgent(e,r){return t.getAgent(e,r)}createAgent(e,r){return s(()=>t.createAgent(e,r))}updateAgent(e,r,n){return t.updateAgent(e,r,n)}deleteAgent(e,r){return t.deleteAgent(e,r)}getUserSettings(e){return t.getUserSettings(e)}upsertUserSettings(e,r,n){return s(()=>t.upsertUserSettings(e,r,n))}async healthCheck(){let e=performance.now();try{return(0,r.getSQLiteDb)().prepare("SELECT 1").get(),{adapter:"sqlite",connected:!0,latencyMs:Math.round(performance.now()-e)}}catch{return{adapter:"sqlite",connected:!1,latencyMs:Math.round(performance.now()-e)}}}}e.s(["SQLiteAdapter",()=>l],29012)},27743,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(29012);return new t}();var r=e.i(8112);let n=[["INTAKE","PROGRESS","DONE"]];async function o({workflowId:e,currentNodeName:t,decision:n,retryCount:o,maxRetries:i=3}){if("done"===String(t).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let a=await (0,r.getWorkflowNodeByName)(e,t);if(!a)return{nextNodeName:t,nextStatus:"blocked",retryCount:o,error:`Node '${t}' not found in workflow`,appendLog:{content:`Workflow error: node '${t}' not found`,logType:"error"},nodeConfig:null};if("terminal"===a.node_type)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||t}`,logType:"checkpoint"},nodeConfig:a};if("blocked"===n)return{nextNodeName:t,nextStatus:"blocked",retryCount:o,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:a};let s=await (0,r.getWorkflowTransitionsFromNode)(e,a.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(n),d=s.find(e=>e.condition===l);if(d){let o=(await (0,r.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(o){let e="terminal"===o.node_type;return{nextNodeName:o.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===n?`Stage completed: ${a.label||t}`:`Transition to ${o.label||o.name}`,logType:"done"===n?"checkpoint":"system"},nodeConfig:o}}}if("done"===n)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||t}`,logType:"checkpoint"},nodeConfig:a};let u=o+1;return u<=i?{nextNodeName:t,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${i}) for ${a.label||t}`,logType:"system"},nodeConfig:a}:{nextNodeName:t,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:a}}var i=e.i(54799),a=e.i(33405);let s=e=>"string"==typeof e&&e.trim().length>0,l=e=>({push:e,flush:()=>{}}),d=e=>{let t="",r=0,n=!1,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);n=!0;let i=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&s(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&s(t?.delta?.text)?t.delta.text:""})(t);if(!i||t?.type==="assistant"&&r>0)return;r+=i.length,e(i)}catch{n||e(`${t}
8
+ `,t=r.prepare(e).get(n,o,s.toISOString());return{data:Number(t?.request_count||0)<=i,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>l,"createAdminDbClientSQLite",()=>_,"getSQLiteDb",()=>c,"sqlExpr",()=>d],41754)},8112,14927,14688,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(41754);return t()}e.i(41381),e.s(["createAdminDbClient",()=>t],14927);let r="Waiting on dependencies",n=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class o extends Error{}function i(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>n.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function a(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,n="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||n.includes(`relation "${t}" does not exist`)||n.includes(`Could not find the table 'agx.${t}'`)||n.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new o(`Missing relation: ${e}`);throw t}async function s(e){let r=t(),{data:n,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await a("notification_webhooks",o),n)?(Array.isArray(n)?n:[n]).map(i):[]}async function l(e){if(!e.userId)return;let t=[];try{t=await s(e.userId)}catch(e){if(e instanceof o)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let n=e.timestamp||new Date().toISOString(),i={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:n,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",()=>l],14688);var d=e.i(54799);function u(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function c(e){let r=t(),{data:n,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(u(o,"user_settings"))return null;throw o}return n||null}async function p(e,r,n){let o=n?.onlyIfNewer!==!1,i=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),a=await c(e);if(o&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(i);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let s={user_id:e,default_provider:r.default_provider??a?.default_provider??null,models:r.models??a?.models??{},provenance:r.provenance,changed_at:i},l=t(),{error:d}=await l.from("user_settings").upsert(s,{onConflict:"user_id"});if(d)throw d;let u=await c(e);if(!u)throw Error("Failed to load user_settings after upsert");return{settings:u,updated:!0}}function f(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function g(e,t){let r=f(e);for(let n=0;n<5;n++){let{data:n,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!n||0===n.length)return r;let i=Math.random().toString(36).slice(2,6);r=`${f(e)}-${i}`.slice(0,48)}return`${f(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function m(e,t,r,n){let o=f(e);for(let i=0;i<5;i++){let i=r.from("projects").select("id").eq("slug",o).eq("user_id",t);n&&(i=i.neq("id",n));let{data:a,error:s}=await i.limit(1);if(s)throw s;if(!a||0===a.length)return o;let l=Math.random().toString(36).slice(2,6);o=`${f(e)}-${l}`.slice(0,48)}return`${f(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function w(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function h(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=w(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function y(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let n=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===n){r[n]=w(o);continue}"true"===o?r[n]=!0:"false"===o?r[n]=!1:/^\d+$/.test(o)?r[n]=parseInt(o):r[n]=o}}return{frontmatter:r,body:t[2]}}async function _(e,r,n){if(!e||!r?.length)return;let o=n??t(),i=new Set,a=[...r];for(;a.length;){let t=a.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(i.has(t))continue;i.add(t);let{data:r,error:n}=await o.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(n){if("PGRST116"===n.code||"42703"===n.code)continue;throw n}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!i.has(e)&&a.push(e)}}function k(e){let{body:t}=y(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function S(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function T(e,n){var o;let i=Array.isArray(e.depends_on)?e.depends_on:[];if(!i.length)return;let a=t(),{data:s,error:l}=await a.from("tasks").select("id, title, slug, status, stage").in("id",i);if(l)return;let d=(Array.isArray(s)?s:[]).filter(e=>"completed"!==(e?.status||""));if(d.length){let t=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),n=`${r}: ${t.join(", ")}`;return e.length>3&&(n+=` +${e.length-3} more`),n}(d),o=a.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);n&&(o=o.eq("user_id",n));let{error:i}=await o;if(i&&"42703"!==i.code)throw i;return}if("blocked"===e.status&&"string"==typeof(o=e.blocked_reason)&&o.startsWith(r)){let t=a.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);n&&(t=t.eq("user_id",n));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function $(e,r){console.log("getTasks called with userId:",e);let n=t().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(n=n.eq("user_id",e)),r?.project&&(n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?n.eq("project_id",r.project):n.eq("project",r.project)),r?.orphan&&(n=n.is("project_id",null)),r?.status&&(n=n.eq("status",r.status)),r?.search){let e=r.search;n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?n.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):n.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:i}=await n;if(i)throw i;let a=o||[];return r?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function b(e,r){let n=t().from("tasks").select("*").eq("id",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.single();if(i){if("PGRST116"===i.code)return null;throw i}return o}async function x(e,r){let n=t().from("tasks").select("*").eq("slug",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.single();if(i){if("PGRST116"===i.code)return null;throw i}return o}async function v(e,r,n){let o=t(),{frontmatter:i,body:a}=y(e),s="boolean"==typeof i.swarm?i.swarm:void 0,u=n?.title||k(e),c=String(i.slug||u||"task"),p=await g(c,o),f=n?.projectId||("string"==typeof i.project_id?i.project_id:void 0),m="string"==typeof i.workflow_id?i.workflow_id:void 0,w="string"==typeof i.project?i.project:void 0;if(!w&&f){let{data:e}=await o.from("projects").select("slug").eq("id",f).single();e?.slug&&(w=e.slug)}/^---\n/.test(e);let $="string"==typeof i.provider?i.provider:null,x="string"==typeof i.model?i.model:null,v="string"==typeof i.engine?i.engine:null,E="ai"===i.created_by?"ai":"user",I=h(i.depends_on),j=h(n?.dependsOn),N=j.length>0?j:I,C={id:(0,d.randomUUID)(),content:e,description:S(a),title:u,slug:p,status:i.status||"queued",stage:i.stage||"intake",project:w||null,...void 0!==f?{project_id:f}:{},...void 0!==m?{workflow_id:m}:{},priority:i.priority,engine:v,provider:$,model:x,swarm:s,swarm_models:n?.swarmModels??null,depends_on:N.length?N:null,created_by:E,user_id:r,current_plan:n?.currentPlan||null,open_blockers:n?.openBlockers||[],next_action:n?.nextAction||null,version:1};await _(C.id,N,o);let{data:q,error:O}=await o.from("tasks").insert(C).select().single();if(O&&"42703"===O.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:n,open_blockers:i,next_action:a,version:s,depends_on:l,...d}=C;({data:q,error:O}=await o.from("tasks").insert(d).select().single())}if(O)throw O;if(!q)throw Error("Failed to create task");await T(q,r);let A=await b(q.id,r)||q,L=r||A.user_id;if(L){let e=A.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(A.depends_on)?A.depends_on:[],project:A.project||null,projectId:A.project_id||null,workflowId:A.workflow_id||null,createdBy:A.created_by||null};l({taskId:A.id,userId:L,eventType:"task.created",title:A.title||null,slug:A.slug||null,stage:A.stage||null,status:A.status||null,timestamp:e,details:t})}return A}async function E(e,r,n,o){let i=t(),{frontmatter:a,body:s}=y(r),d="boolean"==typeof a.swarm?a.swarm:void 0,u=k(r),c="string"==typeof a.project_id?a.project_id:void 0,p=Object.prototype.hasOwnProperty.call(a,"provider"),f=Object.prototype.hasOwnProperty.call(a,"model"),g=Object.prototype.hasOwnProperty.call(a,"workflow_id"),m=Object.prototype.hasOwnProperty.call(a,"depends_on"),w=h(a.depends_on),$=h(o?.dependsOn),x=o?.dependsOn!==void 0||m,v=o?.dependsOn!==void 0?$:w,E={content:r,description:S(s),title:u,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:g?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:p?a.provider:null,model:f?a.model:null,swarm:d,swarm_models:o?.swarmModels??void 0,...x?{depends_on:v.length?v:null}:{},updated_at:new Date().toISOString(),current_plan:o?.currentPlan??void 0,open_blockers:o?.openBlockers??void 0,next_action:o?.nextAction??void 0};Object.keys(E).forEach(e=>{void 0===E[e]&&delete E[e]}),x&&await _(e,v,i);let I=i.from("tasks").update({...E,version:i.rpc("increment_version")}).eq("id",e);n&&(I=I.eq("user_id",n)),o?.expectedVersion!==void 0&&(I=I.eq("version",o.expectedVersion));let{data:j,error:N}=await i.from("tasks").update({...E}).eq("id",e).select().maybeSingle();if(N&&console.error(`[db.updateTask] error updating task ${e}:`,N),j||N||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(E)),N&&"42703"===N.code){let{swarm_models:t,swarm:r,workflow_id:o,current_plan:a,open_blockers:s,next_action:l,version:d,depends_on:u,...c}=E,p=i.from("tasks").update(c).eq("id",e);n&&(p=p.eq("user_id",n)),{data:j,error:N}=await p.select().maybeSingle()}if(N)throw N;if(!j){let t=await b(e,n);if(!t)throw Error(`Task ${e} not found`);return t}await T(j,n);let C=await b(j.id,n)||j,q=n||C.user_id;if(q){let e=C.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(C.depends_on)?C.depends_on:[],project:C.project||null,projectId:C.project_id||null,workflowId:C.workflow_id||null,createdBy:C.created_by||null};l({taskId:C.id,userId:q,eventType:"task.created",title:C.title||null,slug:C.slug||null,stage:C.stage||null,status:C.status||null,timestamp:e,details:t})}return C}async function I(e,r,n=25){let o=t(),{data:i,error:a}=await o.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let s=[r,...Array.isArray(i.run_index)?i.run_index:[]].slice(0,n),{error:l}=await o.from("tasks").update({run_index:s}).eq("id",e);if(l){if(l?.code==="42703")return;throw l}}async function j(e,r){let n=t().from("tasks").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function N(e){let r=t().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function C(e){let r=t().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e));let{data:n,error:o}=await r;if(o){if(u(o,"projects"))return[];throw o}return(n||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function q(e,r){let n=t().from("projects").select("*").eq("slug",e);r&&(n=n.eq("user_id",r));let{data:o,error:i}=await n.maybeSingle();if(i){if(u(i,"projects"))return null;throw i}return o||null}async function O(e){let r=t(),{data:n,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(u(o,"project_repos"))return[];throw o}return n||[]}let A=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function L(e,r){let n=t(),o=A.test(e),i=n.from("projects").select("*");i=o?i.eq("id",e):i.eq("slug",e),r&&(i=i.eq("user_id",r));let a=await i.maybeSingle();if(a.error){if(u(a.error,"projects"))return null;throw a.error}let s=a.data;if(!s)return null;let l=await O(s.id);return{...s,repos:l}}async function D(e,t,r){if(!t.length)return[];let n=t.map(t=>({project_id:e,name:t.name,path:t.path??null,notes:t.notes??null})),{data:o,error:i}=await r.from("project_repos").insert(n).select("*");if(i){if(u(i,"project_repos"))return[];throw i}return o||[]}async function R(e,r,n){if(!r.name?.trim())throw Error("Project name is required");let o=n??t(),i=r.name.trim()||"project",a=await m(i,e,o),s={user_id:e,name:r.name.trim(),slug:a,description:r.description??null,workflow_id:r.workflow_id??null},{data:l,error:d}=await o.from("projects").insert(s).select("*").single();if(d)throw d;let u=await D(l.id,r.repos??[],o);return{...l,repos:u}}async function P(e,r,n,o){let i=o??t(),a=A.test(e),s=e;if(!a){let t=await q(e,r);if(!t)return null;s=t.id}let l={};if(void 0!==n.name){let e=n.name?.trim();if(!e)throw Error("Project name cannot be empty");l.name=e}if(void 0!==n.slug){let e=n.slug?.trim();e&&(l.slug=e)}if(void 0!==n.description&&(l.description=n.description),void 0!==n.metadata&&(l.metadata=n.metadata),void 0!==n.ci_cd_info&&(l.ci_cd_info=n.ci_cd_info),void 0!==n.workflow_id&&(l.workflow_id=n.workflow_id),Object.keys(l).length){let{error:e}=await i.from("projects").update(l).eq("id",s).eq("user_id",r);if(e)throw e}if(n.repos){let{error:e}=await i.from("project_repos").delete().eq("project_id",s);if(e&&!u(e,"project_repos"))throw e;await D(s,n.repos,i)}return L(s,r)}async function U(e,r,n){let o=n??t(),{error:i}=await o.from("projects").delete().eq("id",e).eq("user_id",r);if(i)throw i}async function W(e,r,n){let o=n??t(),{data:i,error:a}=await o.from("projects").select("id, slug").eq("id",e).eq("user_id",r).maybeSingle();if(a)throw a;if(!i)throw Error("Project not found");let{data:s,error:l}=await o.from("tasks").select("id, project").eq("user_id",r).is("project_id",null);if(l)throw l;let d=String(i.slug||"").trim().toLowerCase(),u=(s||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!u.length)return{updatedCount:0,taskIds:[]};let{error:c}=await o.from("tasks").update({project:i.slug,project_id:i.id,updated_at:new Date().toISOString()}).eq("user_id",r).is("project_id",null).in("id",u);if(c)throw c;return{updatedCount:u.length,taskIds:u}}let M="00000000-0000-0000-0000-000000000001",B=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],F=new Map(B.map(e=>[e.id,e]));async function G(e){let r=t(),{error:n}=await r.from("workflows").upsert({id:M,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(n)throw n;let{error:o}=await r.from("workflow_nodes").upsert(B.map(e=>({...e,workflow_id:M,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:i}=await r.from("workflow_transitions").upsert([{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(i)throw i}async function Q(e){let r=t(),{data:n,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(u(o,"workflows"))return[];throw o}return n||[]}async function H(e,r){let n=t().from("workflows").select("*").eq("id",e),{data:o,error:i}=await n.maybeSingle();if(i){if(u(i,"workflows"))return null;throw i}return o}async function V(e,r,n){let o=t(),i={updated_at:new Date().toISOString()};void 0!==n.definition&&(i.definition=n.definition),void 0!==n.name&&(i.name=n.name),void 0!==n.description&&(i.description=n.description);let{data:a,error:s}=await o.from("workflows").update(i).eq("id",e).select().single();if(s)throw s;return a}async function J(e){let r=t(),{data:n,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(u(o,"workflow_nodes"))return[];throw o}return n||[]}async function K(e,r,n){let o=t();if(e===M&&await G(r),!await H(e,r))throw Error("Workflow not found");if(e===M){let t=n.map(t=>{let r=F.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return J(e)}return await Promise.all(n.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:n}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(n)throw n})),J(e)}async function Y(e,r){let n=t(),{data:o,error:i}=await n.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(i){if(u(i,"workflow_nodes"))return null;throw i}return o}async function X(e){let r=t(),{data:n,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(u(o,"workflow_transitions"))return[];throw o}return n||[]}async function z(e,r){let n=t(),{data:o,error:i}=await n.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(i){if(u(i,"workflow_transitions"))return[];throw i}return o||[]}async function Z(e,t){let r=await H(e,t);if(!r)return null;let[n,o]=await Promise.all([J(e),X(e)]);return{...r,nodes:n,transitions:o}}async function ee(e,r={}){let n=t(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),i="string"==typeof r.after&&r.after.trim()?r.after.trim():null,a=i?null:void 0===r.tail?o:Number(r.tail),s=null!==a&&Number.isFinite(a)&&a>0,l=n.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(l=l.eq("node_id",r.nodeId)),l=i?l.gt("created_at",i).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):s?l.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):l.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:d,error:u}=await l;if(u)throw u;let c=d||[];return i?c:s?c.slice().reverse():c}async function et(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("task_logs").insert({task_id:e,content:r,log_type:n,...o?{node_id:o}:{}}).select().single();if(s)throw s;return a}function er(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function en(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eo(e){let r=t(),n={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:er(e.inputTokens),output_tokens:er(e.outputTokens),estimated_cost:en(e.estimatedCost)},{data:o,error:i}=await r.from("task_costs").insert(n).select().single();if(i)throw i;return o}async function ei(e){let r=t(),{data:n,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return n||[]}async function ea(e){return function(e){let t={},r=0,n=0,o=0;for(let i of e){let e=i.stage||"unknown",a=er(i.input_tokens),s=er(i.output_tokens),l=en(i.estimated_cost??0);r+=a,n+=s,o+=l;let d=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};d.input_tokens+=a,d.output_tokens+=s,d.estimated_cost+=l,d.entries+=1,t[e]=d}return{total_input_tokens:r,total_output_tokens:n,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}(await ei(e))}async function es(e){let r=t(),{data:n,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return n||[]}async function el(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("task_comments").insert({task_id:e,content:r,author_type:n,author_id:o??null}).select().single();if(s)throw s;return a}async function ed(e,r){let n=t(),{data:o,error:i}=await n.from("task_comments").select("author_id, author_type").eq("id",e).single();if(i)throw i;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:a}=await n.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eu(e,r,n){let o=t().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),n&&(o=o.eq("user_id",n));let{data:i,error:a}=await o;if(a)throw a;return i||[]}async function ec(e,r,n,o){let i=t(),{data:a,error:s}=await i.from("learnings").insert({scope:e,scope_id:n,content:r,user_id:o}).select().single();if(s)throw s;return a}async function ep(e,r){let n=t().from("learnings").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function ef(e,r){let n=t().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});n=e?n.or(`user_id.eq.${e},is_default.eq.true`):n.eq("is_default",!0);let{data:o,error:i}=await n;if(i)throw i;return o||[]}async function eg(e,r,n){let o=t();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",n).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:i}=await o.from("stage_prompts").select("*").eq("workflow_id",n).eq("stage",e).eq("is_default",!0).single();return i||null}async function em(e,r,n=[],o,i,a){let s=t(),l={stage:e,prompt:r,outputs:n,user_id:o,is_default:!o,workflow_id:a};i&&(void 0!==i.swarm&&(l.swarm=i.swarm),void 0!==i.provider&&(l.provider=i.provider),void 0!==i.model&&(l.model=i.model),void 0!==i.swarm_models&&(l.swarm_models=i.swarm_models));let{data:d,error:u}=await s.from("stage_prompts").upsert(l,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(u)throw u;return d}async function ew(e,r){let n=t().from("stage_prompts").delete().eq("id",e);r&&(n=n.eq("user_id",r));let{error:o}=await n;if(o)throw o}async function eh(e){let r=t(),{data:n,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(u(o,"agents"))return[];throw o}return n||[]}async function ey(e,r){let n=t(),{data:o,error:i}=await n.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(i){if("PGRST116"===i.code||u(i,"agents"))return null;throw i}return o}async function e_(e,r){let n=t(),o={user_id:e,name:r.name,style:r.style,description:r.description??null,config:r.config??{}},{data:i,error:a}=await n.from("agents").insert(o).select().single();if(a){if(u(a,"agents"))throw Error("Agents table does not exist");throw a}return i}async function ek(e,r,n){let o=t(),i={updated_at:new Date().toISOString()};if(void 0!==n.name&&(i.name=n.name),void 0!==n.style&&(i.style=n.style),void 0!==n.description&&(i.description=n.description),void 0!==n.config&&(i.config=n.config),1===Object.keys(i).length)return ey(e,r);let{data:a,error:s}=await o.from("agents").update(i).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||u(s,"agents"))return null;throw s}return a}async function eS(e,r){let n=t(),{error:o}=await n.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!u(o,"agents"))throw o}e.s(["addLearning",()=>ec,"addTaskComment",()=>el,"addTaskCostEntry",()=>eo,"addTaskLog",()=>et,"appendRunToIndex",()=>I,"assignOrphanTasksToProject",()=>W,"createAgent",()=>e_,"createProject",()=>R,"createTask",()=>v,"deleteAgent",()=>eS,"deleteLearning",()=>ep,"deleteProject",()=>U,"deleteStagePrompt",()=>ew,"deleteTask",()=>j,"deleteTaskComment",()=>ed,"ensureNoCircularDependency",()=>_,"getAgent",()=>ey,"getAgents",()=>eh,"getLearnings",()=>eu,"getNextQueuedTask",()=>N,"getProjectBySlug",()=>q,"getProjectRepos",()=>O,"getProjectWithRepos",()=>L,"getProjects",()=>C,"getStagePrompt",()=>eg,"getStagePrompts",()=>ef,"getTask",()=>b,"getTaskBySlug",()=>x,"getTaskComments",()=>es,"getTaskCostEntries",()=>ei,"getTaskCostSummary",()=>ea,"getTaskLogs",()=>ee,"getTasks",()=>$,"getUserSettings",()=>c,"getWorkflow",()=>H,"getWorkflowNodeByName",()=>Y,"getWorkflowNodes",()=>J,"getWorkflowTransitions",()=>X,"getWorkflowTransitionsFromNode",()=>z,"getWorkflowWithGraph",()=>Z,"getWorkflows",()=>Q,"parseFrontmatter",()=>y,"updateAgent",()=>ek,"updateProject",()=>P,"updateTask",()=>E,"updateWorkflow",()=>V,"updateWorkflowNodes",()=>K,"upsertStagePrompt",()=>em,"upsertUserSettings",()=>p],8112)},29012,e=>{"use strict";var t=e.i(8112),r=e.i(41754);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class o extends Error{code;constructor(e,t){super(e),this.name="RetryableError",this.code=t}}class i extends Error{expectedVersion;actualVersion;entityId;entityType;constructor(e,t,r,n){super(void 0!==n?`Concurrent modification on ${e} ${t}: expected version ${r}, found ${n}`:`Concurrent modification on ${e} ${t}: expected version ${r}, row not updated`),this.name="ConcurrentModificationError",this.entityType=e,this.entityId=t,this.expectedVersion=r,this.actualVersion=n}}function a(e){if(!(e instanceof Error))throw e;let t=e.code??"",r=e.message??"";if("SQLITE_CONSTRAINT_UNIQUE"===t||"SQLITE_CONSTRAINT_PRIMARYKEY"===t||"SQLITE_CONSTRAINT"===t&&(r.includes("UNIQUE")||r.includes("PRIMARY KEY"))||r.includes("UNIQUE constraint failed")||r.includes("PRIMARY KEY constraint failed")){let e=r.match(/(?:UNIQUE|PRIMARY KEY) constraint failed: (.+)/);throw new n(r,{constraint:e?.[1],detail:r})}if("SQLITE_BUSY"===t||"SQLITE_LOCKED"===t||r.includes("database is locked"))throw new o(r,t||"SQLITE_BUSY");throw e}async function s(e){try{return await e()}catch(e){if(e instanceof n||e instanceof o||e instanceof i)throw e;a(e)}}class l{async transaction(e){let t=(0,r.getSQLiteDb)();t.exec("BEGIN IMMEDIATE");try{let r=await e(t);return t.exec("COMMIT"),r}catch(e){try{t.exec("ROLLBACK")}catch{}if(e instanceof n||e instanceof o||e instanceof i)throw e;a(e)}}getTasks(e,r){return t.getTasks(e,r)}getTask(e,r){return t.getTask(e,r)}getTaskBySlug(e,r){return t.getTaskBySlug(e,r)}createTask(e,r,n){return s(()=>t.createTask(e,r,n))}async updateTask(e,n,o,a){let l=a?.expectedVersion;if(void 0!==l){let d=(0,r.getSQLiteDb)();if(0===d.prepare("UPDATE tasks SET version = version + 1 WHERE id = ? AND version = ?").run(e,l).changes){let t=d.prepare("SELECT version FROM tasks WHERE id = ?").get(e);throw new i("task",e,l,t?.version)}let{expectedVersion:u,...c}=a??{};return s(()=>t.updateTask(e,n,o,c))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),s(()=>t.updateTask(e,n,o,a))}appendRunToIndex(e,r,n){return t.appendRunToIndex(e,r,n)}deleteTask(e,r){return s(()=>t.deleteTask(e,r))}getNextQueuedTask(e){return t.getNextQueuedTask(e)}ensureNoCircularDependency(e,r,n){return t.ensureNoCircularDependency(e,r,n)}getProjects(e){return t.getProjects(e)}getProjectBySlug(e,r){return t.getProjectBySlug(e,r)}getProjectRepos(e){return t.getProjectRepos(e)}getProjectWithRepos(e,r){return t.getProjectWithRepos(e,r)}createProject(e,r,n){return s(()=>t.createProject(e,r,n))}updateProject(e,r,n,o){return t.updateProject(e,r,n,o)}deleteProject(e,r,n){return s(()=>t.deleteProject(e,r,n))}assignOrphanTasksToProject(e,r,n){return t.assignOrphanTasksToProject(e,r,n)}getWorkflows(e){return t.getWorkflows(e)}getWorkflow(e,r){return t.getWorkflow(e,r)}updateWorkflow(e,r,n){return t.updateWorkflow(e,r,n)}getWorkflowNodes(e){return t.getWorkflowNodes(e)}updateWorkflowNodes(e,r,n){return t.updateWorkflowNodes(e,r,n)}getWorkflowNodeByName(e,r){return t.getWorkflowNodeByName(e,r)}getWorkflowTransitions(e){return t.getWorkflowTransitions(e)}getWorkflowTransitionsFromNode(e,r){return t.getWorkflowTransitionsFromNode(e,r)}getWorkflowWithGraph(e,r){return t.getWorkflowWithGraph(e,r)}getTaskLogs(e,r){return t.getTaskLogs(e,r)}addTaskLog(e,r,n,o){return s(()=>t.addTaskLog(e,r,n,o))}addTaskCostEntry(e){return s(()=>t.addTaskCostEntry(e))}getTaskCostEntries(e){return t.getTaskCostEntries(e)}getTaskCostSummary(e){return t.getTaskCostSummary(e)}getTaskComments(e){return t.getTaskComments(e)}addTaskComment(e,r,n,o){return s(()=>t.addTaskComment(e,r,n,o))}deleteTaskComment(e,r){return s(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,o){return s(()=>t.addLearning(e,r,n,o))}deleteLearning(e,r){return s(()=>t.deleteLearning(e,r))}getStagePrompts(e,r){return t.getStagePrompts(e,r)}getStagePrompt(e,r,n){return t.getStagePrompt(e,r,n)}upsertStagePrompt(e,r,n,o,i,a){return s(()=>t.upsertStagePrompt(e,r,n,o,i,a))}deleteStagePrompt(e,r){return t.deleteStagePrompt(e,r)}getAgents(e){return t.getAgents(e)}getAgent(e,r){return t.getAgent(e,r)}createAgent(e,r){return s(()=>t.createAgent(e,r))}updateAgent(e,r,n){return t.updateAgent(e,r,n)}deleteAgent(e,r){return t.deleteAgent(e,r)}getUserSettings(e){return t.getUserSettings(e)}upsertUserSettings(e,r,n){return s(()=>t.upsertUserSettings(e,r,n))}async healthCheck(){let e=performance.now();try{return(0,r.getSQLiteDb)().prepare("SELECT 1").get(),{adapter:"sqlite",connected:!0,latencyMs:Math.round(performance.now()-e)}}catch{return{adapter:"sqlite",connected:!1,latencyMs:Math.round(performance.now()-e)}}}}e.s(["SQLiteAdapter",()=>l],29012)},27743,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(29012);return new t}();var r=e.i(8112);let n=[["INTAKE","PROGRESS","DONE"]];async function o({workflowId:e,currentNodeName:t,decision:n,retryCount:o,maxRetries:i=3}){if("done"===String(t).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let a=await (0,r.getWorkflowNodeByName)(e,t);if(!a)return{nextNodeName:t,nextStatus:"blocked",retryCount:o,error:`Node '${t}' not found in workflow`,appendLog:{content:`Workflow error: node '${t}' not found`,logType:"error"},nodeConfig:null};if("terminal"===a.node_type)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||t}`,logType:"checkpoint"},nodeConfig:a};if("blocked"===n)return{nextNodeName:t,nextStatus:"blocked",retryCount:o,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:a};let s=await (0,r.getWorkflowTransitionsFromNode)(e,a.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(n),d=s.find(e=>e.condition===l);if(d){let o=(await (0,r.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(o){let e="terminal"===o.node_type;return{nextNodeName:o.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===n?`Stage completed: ${a.label||t}`:`Transition to ${o.label||o.name}`,logType:"done"===n?"checkpoint":"system"},nodeConfig:o}}}if("done"===n)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||t}`,logType:"checkpoint"},nodeConfig:a};let u=o+1;return u<=i?{nextNodeName:t,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${i}) for ${a.label||t}`,logType:"system"},nodeConfig:a}:{nextNodeName:t,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:a}}var i=e.i(54799),a=e.i(33405);let s=e=>"string"==typeof e&&e.trim().length>0,l=e=>({push:e,flush:()=>{}}),d=e=>{let t="",r=0,n=!1,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);n=!0;let i=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&s(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&s(t?.delta?.text)?t.delta.text:""})(t);if(!i||t?.type==="assistant"&&r>0)return;r+=i.length,e(i)}catch{n||e(`${t}
9
9
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},u=e=>{let t="",r=!1,n="",o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);r=!0,t?.type==="message"&&t?.role==="assistant"&&s(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
10
10
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},c=e=>{let t="",r=!1,n=new Set,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);if(r=!0,t?.type==="item.completed"&&s(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let i=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&s(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&s(t.delta?.text)?t.delta.text:"":"";i&&e(i)}catch{r||e(`${t}
11
11
  `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},p=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],o=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of o){let o=t.match(r);o&&void 0!==o.index&&(o.index,o[0].length,(-1===e||o.index<e)&&(e=o.index,n=o[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let o of n){let n=t.match(o);if(n&&void 0!==n.index){let o=t.slice(0,n.index);o&&e.push(o),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}};async function f({command:e,args:t,timeoutMs:r,signal:n,onDelta:o,onLog:i}){await new Promise((s,l)=>{i&&i("stderr",`$ ${e} ${t.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
12
- `);let d=(0,a.spawn)(e,t,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),u=!1,c="",p=!1,f=e=>{u||(u=!0,clearTimeout(m),n&&n.removeEventListener("abort",g),e?l(e):s())},g=()=>{d.kill("SIGTERM"),f(Error("Chat request aborted."))};n&&n.addEventListener("abort",g,{once:!0});let m=setTimeout(()=>{p=!0,d.kill("SIGKILL"),f(Error(`CLI request timed out after ${r}ms.`))},r);d.stdout.on("data",e=>{let t=e.toString();c+=t,o(t),i&&i("stdout",t)}),d.stderr.on("data",e=>{let t=e.toString();c+=t,i&&i("stderr",t)}),d.on("error",e=>f(e)),d.on("close",(e,t)=>{if(!u&&!p){if(0===e)return void f();f(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function g({provider:e,model:t,prompt:r,identity:n,self:o,skills:i,systemContext:s,signal:g,onDelta:m,onLog:w}){let h,y,k,_,S=(h=!1,y=!1,k="",_=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!h?(h=!0,"\n"):"";let r=h?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),o=_.test(n),i=y&&o&&!h,a=y&&!h&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(k)&&/^[A-Z0-9`(]/.test(r),s=i?`
12
+ `);let d=(0,a.spawn)(e,t,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0}}),u=!1,c="",p=!1,f=e=>{u||(u=!0,clearTimeout(m),n&&n.removeEventListener("abort",g),e?l(e):s())},g=()=>{d.kill("SIGTERM"),f(Error("Chat request aborted."))};n&&n.addEventListener("abort",g,{once:!0});let m=setTimeout(()=>{p=!0,d.kill("SIGKILL"),f(Error(`CLI request timed out after ${r}ms.`))},r);d.stdout.on("data",e=>{let t=e.toString();c+=t,o(t),i&&i("stdout",t)}),d.stderr.on("data",e=>{let t=e.toString();c+=t,i&&i("stderr",t)}),d.on("error",e=>f(e)),d.on("close",(e,t)=>{if(!u&&!p){if(0===e)return void f();f(Error(`CLI command failed (exit=${e??"unknown"} signal=${t??"none"}).${c.trim()?` ${c.trim()}`:""}`))}})})}async function g({provider:e,model:t,prompt:r,identity:n,self:o,skills:i,systemContext:s,signal:g,onDelta:m,onLog:w}){let h,y,_,k,S=(h=!1,y=!1,_="",k=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!h?(h=!0,"\n"):"";let r=h?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),o=k.test(n),i=y&&o&&!h,a=y&&!h&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(_)&&/^[A-Z0-9`(]/.test(r),s=i?`
13
13
 
14
14
  ${r}`:a?`
15
- ${r}`:r;h=s.endsWith("\n"),y=y||s.trim().length>0;let l=s.replace(/\s+$/g,"");return l.length>0&&(k=l[l.length-1]??k),s}),T=e=>{let t=S(e);t&&m(t)},$=[],b=[];s&&b.push(s),n&&b.push(`<identity>
15
+ ${r}`:r;h=s.endsWith("\n"),y=y||s.trim().length>0;let l=s.replace(/\s+$/g,"");return l.length>0&&(_=l[l.length-1]??_),s}),T=e=>{let t=S(e);t&&m(t)},$=[],b=[];s&&b.push(s),n&&b.push(`<identity>
16
16
  ${n}
17
17
  </identity>`),o&&b.push(`<self>
18
18
  ${o}
@@ -35,16 +35,16 @@ Return ONLY a JSON array. Return [] if nothing worth remembering.
35
35
  Do not wrap in markdown code blocks. Just raw JSON.`;async function y(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),r=`${h}
36
36
 
37
37
  Task:
38
- ${t}`,n="";try{await g({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:r,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var o=n;let i=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(i);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&w.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",i.slice(0,200)),[]}}let k=new Set(["outcome","decision","pattern","gotcha"]),_=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function S(e){return"string"!=typeof e?null:e.trim()||null}function T(e){let t=S(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of _){let t=S(r[e]);if(t)return t}return S(e.defaultUserId)||"system"}async function $(e,t,r){let n=(0,m.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
39
- VALUES (?, ?, ?, ?, ?, ?, ?)`),o=0,a=Date.now();for(let s of r){if(!k.has(s.memory_type)||!s.content?.trim())continue;let r=(0,i.createHash)("sha256").update(s.content.trim()).digest("hex");n.run((0,i.randomUUID)(),t,e,s.memory_type,s.content.trim(),r,a).changes>0&&o++}return o}async function b(e,t,r){let n=await y(r);if(0===n.length)return;let o=await $(e,t,n);o>0&&console.log(`[memory-extractor] Stored ${o} memories for task ${e}`)}var x=e.i(14927);function v(e,t){return`---
38
+ ${t}`,n="";try{await g({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:r,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var o=n;let i=o.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(i);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&w.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",i.slice(0,200)),[]}}let _=new Set(["outcome","decision","pattern","gotcha"]),k=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function S(e){return"string"!=typeof e?null:e.trim()||null}function T(e){let t=S(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of k){let t=S(r[e]);if(t)return t}return S(e.defaultUserId)||"system"}async function $(e,t,r){let n=(0,m.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
39
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),o=0,a=Date.now();for(let s of r){if(!_.has(s.memory_type)||!s.content?.trim())continue;let r=(0,i.createHash)("sha256").update(s.content.trim()).digest("hex");n.run((0,i.randomUUID)(),t,e,s.memory_type,s.content.trim(),r,a).changes>0&&o++}return o}async function b(e,t,r){let n=await y(r);if(0===n.length)return;let o=await $(e,t,n);o>0&&console.log(`[memory-extractor] Stored ${o} memories for task ${e}`)}var x=e.i(14927);function v(e,t){return`---
40
40
  ${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
41
41
  ---
42
- ${t}`}var I=e.i(10165),E=e.i(41381);function j(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function q(e){if(!e)return[];let t=j(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,r.parseFrontmatter)(e.content||"");return j(t.depends_on)}return[]}async function C(e,t){if(!e.length)return[];let r=(0,x.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,o=new Map;if(Array.isArray(n))for(let e of n){var i;e&&e.id&&o.set(e.id,(i=e.id,e?{id:e.id||i||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:i||""}))}return e.map(e=>o.get(e)).filter(e=>!!e)}async function N(e,t){let r=q(e);return r.length?(await C(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function O(e,n,o){let i=n||E.LOCAL_USER.id,a=await t.getTask(e,i);if(!a)throw Error(`Task not found: ${e}`);let s=await N(a,i);if(s.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",n=r?` (${r})`:"";return`${t}${n}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(s),r=(0,x.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:s,blockedReason:t}}if(!o?.force&&"queued"===a.status&&!a.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:l,body:d}=(0,r.parseFrontmatter)(a.content||""),u=o?.ticketType??function(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),n=r?.[1]?.trim().toLowerCase()||"";return n.startsWith("spike:")||n.startsWith("[spike]")?"spike":"task"}(l,d),c=await (0,I.getQueue)(),p=await c.send(I.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:i,signal:"start",ticketType:u}),f=(0,x.createAdminDbClient)(),{error:g}=await f.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(g&&"42703"!==g.code)throw g;return{started:!!p,jobId:p,missingDependencies:[],ticketType:u}}async function A(e,t){let r=t||E.LOCAL_USER.id,n=(0,x.createAdminDbClient)(),o=n.from("tasks").select("id").contains("depends_on",[e]);t&&(o=o.eq("user_id",t));let{data:i,error:a}=await o,s=Array.isArray(i)?i.map(e=>e?.id).filter(Boolean):[];if(a&&"42703"===a.code){let r=n.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:o}=await r;s=(Array.isArray(o)?o:[]).filter(t=>q(t).includes(e)).map(e=>e?.id).filter(Boolean)}s.length&&await Promise.all(s.map(e=>O(e,r)))}var L=e.i(14688);async function D(e){let t=(0,x.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function R(e){let t=(0,x.createAdminDbClient)(),{data:r}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...r?.stage_decisions&&"object"==typeof r.stage_decisions?r.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:o}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(o&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",r="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&r.includes("stage_decisions")}(o))throw o}async function P(e){let n=await t.getTask(e.taskId,e.userId);if(!n)throw Error(`Task ${e.taskId} not found`);let o=n.stage||null,i=new Date().toISOString(),a={taskId:e.taskId,userId:e.userId,title:n.title||null,slug:n.slug||null,timestamp:i},{frontmatter:s,body:l}=(0,r.parseFrontmatter)(n.content),d=T({defaultUserId:e.userId,frontmatter:s});s.stage=e.nextStage,s.status=e.nextStatus,e.error?s.error=e.error:"error"in s&&delete s.error;let u=v(s,l);await t.updateTask(e.taskId,u,e.userId);let c=(0,x.createAdminDbClient)(),{error:p}=await c.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);p?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,p):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await c.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await A(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&b(e.taskId,d,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.stage_complete",stage:o,previousStage:o,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:o,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:o}})}async function W(e){await t.addTaskLog(e.taskId,e.content,e.logType)}async function U(e){await t.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function M(e){let n=await t.getTask(e.taskId,e.userId);if(!n)return;let{frontmatter:o,body:i}=(0,r.parseFrontmatter)(n.content),a=T({defaultUserId:e.userId,frontmatter:o});o.status="failed",o.error=e.reason||"Cancelled";let s=v(o,i);await t.updateTask(e.taskId,s,e.userId),await t.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),b(e.taskId,a,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e));let l=(0,x.createAdminDbClient)();await l.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,L.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:n.title||null,slug:n.slug||null,stage:n.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:n.stage||null}})}async function B(e){let{taskId:r,userId:n,signal:o,payload:i,ticketType:a="task"}=e.data,s=await t.getTask(r,n);if(!s)return void console.log(`[processor] Task ${r} not found, skipping`);if("completed"===s.status||"failed"===s.status)return void console.log(`[processor] Task ${r} is ${s.status}, skipping`);let l=s.stage;switch(o){case"start":await G(r,l,n);break;case"agentResult":await Q(r,l,n,i,a,s.retry_count||0,s.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s.workflow_id)?s.workflow_id:null);break;case"humanInput":await H(r,i);break;case"daemonStep":await V(r,i);break;case"cancel":await J(r,n,i?.reason);break;default:console.warn(`[processor] Unknown signal: ${o}`)}}async function F(e){for(let t of e)try{await B(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function G(e,t,r){console.log(`[processor] Starting task ${e} at stage ${t}`),await D({taskId:e,stage:t,userId:r}),await W({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function Q(e,t,r,i,a,s,l=null){let d,u,c;console.log(`[processor] Processing agent result for ${e}: ${i.decision}`),await R({taskId:e,stage:t,decision:i,userId:r});let p=Array.isArray(i.comments)?i.comments.map(e=>String(e||"").trim()).filter(Boolean):[],f=String(i.comment||i.log||i.final_result||"").trim();for(let t of p.length>0?p:f.split("\n").map(e=>e.trim()).filter(Boolean))await U({taskId:e,content:t,authorType:"agent"});let g=null,m=null;if(l){let e=await o({workflowId:l,currentNodeName:t,decision:i.decision,retryCount:s,maxRetries:3});d=e.nextNodeName,u=e.nextStatus,c=e.retryCount,g=e.error,m=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${d} (workflow: ${l})`)}else{let e=function({currentStage:e,decision:t,ticketType:r,retryCount:o,maxRetries:i=3}){let a=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of n){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,r);if("done"===t)return a?{nextStage:a,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:o,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let s=o+1;return s<=i?{nextStage:e,nextStatus:"queued",retryCount:s,error:null,appendLog:{content:`Retrying (${s}/${i}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:s,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}({currentStage:t,decision:i.decision,ticketType:a,retryCount:s,maxRetries:3});d=e.nextStage,u=e.nextStatus,c=e.retryCount,g=e.error,m=e.appendLog}if(await P({taskId:e,nextStage:d,nextStatus:u,retryCount:c,error:g?i.explanation||g:null,userId:r}),m){let t="error"===m.logType&&i.explanation||"system"===m.logType&&i.explanation?i.explanation:m.content;await W({taskId:e,content:t,logType:m.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${d}`)}async function H(e,t){console.log(`[processor] Recording human input for ${e}`),await U({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function V(e,t){let r=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",o=t.role?` role=${t.role}`:"",i="number"==typeof t.iteration?` iter=${t.iteration}`:"",a="exit"===t.phase?` exit=${t.exit_code}`:"",s=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
42
+ ${t}`}var E=e.i(10165),I=e.i(41381);function j(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function N(e){if(!e)return[];let t=j(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,r.parseFrontmatter)(e.content||"");return j(t.depends_on)}return[]}async function C(e,t){if(!e.length)return[];let r=(0,x.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,o=new Map;if(Array.isArray(n))for(let e of n){var i;e&&e.id&&o.set(e.id,(i=e.id,e?{id:e.id||i||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:i||""}))}return e.map(e=>o.get(e)).filter(e=>!!e)}async function q(e,t){let r=N(e);return r.length?(await C(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function O(e,n,o){let i=n||I.LOCAL_USER.id,a=await t.getTask(e,i);if(!a)throw Error(`Task not found: ${e}`);let s=await q(a,i);if(s.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",n=r?` (${r})`:"";return`${t}${n}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(s),r=(0,x.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:s,blockedReason:t}}if(!o?.force&&"queued"===a.status&&!a.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:l,body:d}=(0,r.parseFrontmatter)(a.content||""),u=o?.ticketType??function(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),n=r?.[1]?.trim().toLowerCase()||"";return n.startsWith("spike:")||n.startsWith("[spike]")?"spike":"task"}(l,d),c=await (0,E.getQueue)(),p=await c.send(E.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:i,signal:"start",ticketType:u}),f=(0,x.createAdminDbClient)(),{error:g}=await f.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(g&&"42703"!==g.code)throw g;return{started:!!p,jobId:p,missingDependencies:[],ticketType:u}}async function A(e,t){let r=t||I.LOCAL_USER.id,n=(0,x.createAdminDbClient)(),o=n.from("tasks").select("id").contains("depends_on",[e]);t&&(o=o.eq("user_id",t));let{data:i,error:a}=await o,s=Array.isArray(i)?i.map(e=>e?.id).filter(Boolean):[];if(a&&"42703"===a.code){let r=n.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:o}=await r;s=(Array.isArray(o)?o:[]).filter(t=>N(t).includes(e)).map(e=>e?.id).filter(Boolean)}s.length&&await Promise.all(s.map(e=>O(e,r)))}var L=e.i(14688);async function D(e){let t=(0,x.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function R(e){let t=(0,x.createAdminDbClient)(),{data:r}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...r?.stage_decisions&&"object"==typeof r.stage_decisions?r.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:o}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(o&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",r="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&r.includes("stage_decisions")}(o))throw o}async function P(e){let n=await t.getTask(e.taskId,e.userId);if(!n)throw Error(`Task ${e.taskId} not found`);let o=n.stage||null,i=new Date().toISOString(),a={taskId:e.taskId,userId:e.userId,title:n.title||null,slug:n.slug||null,timestamp:i},{frontmatter:s,body:l}=(0,r.parseFrontmatter)(n.content),d=T({defaultUserId:e.userId,frontmatter:s});s.stage=e.nextStage,s.status=e.nextStatus,e.error?s.error=e.error:"error"in s&&delete s.error;let u=v(s,l);await t.updateTask(e.taskId,u,e.userId);let c=(0,x.createAdminDbClient)(),{error:p}=await c.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);p?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,p):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await c.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await A(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&b(e.taskId,d,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.stage_complete",stage:o,previousStage:o,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:o,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,L.notifyTaskEvent)({...a,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:o}})}async function U(e){await t.addTaskLog(e.taskId,e.content,e.logType)}async function W(e){await t.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function M(e){let n=await t.getTask(e.taskId,e.userId);if(!n)return;let{frontmatter:o,body:i}=(0,r.parseFrontmatter)(n.content),a=T({defaultUserId:e.userId,frontmatter:o});o.status="failed",o.error=e.reason||"Cancelled";let s=v(o,i);await t.updateTask(e.taskId,s,e.userId),await t.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),b(e.taskId,a,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e));let l=(0,x.createAdminDbClient)();await l.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,L.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:n.title||null,slug:n.slug||null,stage:n.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:n.stage||null}})}async function B(e){let{taskId:r,userId:n,signal:o,payload:i,ticketType:a="task"}=e.data,s=await t.getTask(r,n);if(!s)return void console.log(`[processor] Task ${r} not found, skipping`);if("completed"===s.status||"failed"===s.status)return void console.log(`[processor] Task ${r} is ${s.status}, skipping`);let l=s.stage;switch(o){case"start":await G(r,l,n);break;case"agentResult":await Q(r,l,n,i,a,s.retry_count||0,s.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s.workflow_id)?s.workflow_id:null);break;case"humanInput":await H(r,i);break;case"daemonStep":await V(r,i);break;case"cancel":await J(r,n,i?.reason);break;default:console.warn(`[processor] Unknown signal: ${o}`)}}async function F(e){for(let t of e)try{await B(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function G(e,t,r){console.log(`[processor] Starting task ${e} at stage ${t}`),await D({taskId:e,stage:t,userId:r}),await U({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function Q(e,t,r,i,a,s,l=null){let d,u,c;console.log(`[processor] Processing agent result for ${e}: ${i.decision}`),await R({taskId:e,stage:t,decision:i,userId:r});let p=Array.isArray(i.comments)?i.comments.map(e=>String(e||"").trim()).filter(Boolean):[],f=String(i.comment||i.log||i.final_result||"").trim();for(let t of p.length>0?p:f.split("\n").map(e=>e.trim()).filter(Boolean))await W({taskId:e,content:t,authorType:"agent"});let g=null,m=null;if(l){let e=await o({workflowId:l,currentNodeName:t,decision:i.decision,retryCount:s,maxRetries:3});d=e.nextNodeName,u=e.nextStatus,c=e.retryCount,g=e.error,m=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${d} (workflow: ${l})`)}else{let e=function({currentStage:e,decision:t,ticketType:r,retryCount:o,maxRetries:i=3}){let a=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of n){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,r);if("done"===t)return a?{nextStage:a,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:o,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let s=o+1;return s<=i?{nextStage:e,nextStatus:"queued",retryCount:s,error:null,appendLog:{content:`Retrying (${s}/${i}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:s,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}({currentStage:t,decision:i.decision,ticketType:a,retryCount:s,maxRetries:3});d=e.nextStage,u=e.nextStatus,c=e.retryCount,g=e.error,m=e.appendLog}if(await P({taskId:e,nextStage:d,nextStatus:u,retryCount:c,error:g?i.explanation||g:null,userId:r}),m){let t="error"===m.logType&&i.explanation||"system"===m.logType&&i.explanation?i.explanation:m.content;await U({taskId:e,content:t,logType:m.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${d}`)}async function H(e,t){console.log(`[processor] Recording human input for ${e}`),await W({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function V(e,t){let r=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",o=t.role?` role=${t.role}`:"",i="number"==typeof t.iteration?` iter=${t.iteration}`:"",a="exit"===t.phase?` exit=${t.exit_code}`:"",s=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
43
43
  stdout_tail:
44
44
  ${t.stdout_tail}`:"",u=t.stderr_tail?`
45
45
  stderr_tail:
46
46
  ${t.stderr_tail}`:"",c=`[execution/${t.kind||"daemon"}] ${t.phase||"event"} ${t.label||""}${r}${n}${o}${i}${a}${s}`.trim()+(l?`
47
47
  args: ${l}`:"")+(t.duration_ms?`
48
- duration_ms: ${t.duration_ms}`:"")+d+u;await W({taskId:e,content:c,logType:"system"})}async function J(e,t,r){console.log(`[processor] Cancelling task ${e}: ${r||"No reason"}`),await M({taskId:e,reason:r,userId:t})}e.s(["taskProcessor",()=>F],27743)}];
48
+ duration_ms: ${t.duration_ms}`:"")+d+u;await U({taskId:e,content:c,logType:"system"})}async function J(e,t,r){console.log(`[processor] Cancelling task ${e}: ${r||"No reason"}`),await M({taskId:e,reason:r,userId:t})}e.s(["taskProcessor",()=>F],27743)}];
49
49
 
50
50
  //# sourceMappingURL=Projects_Agents_agx-cloud_lib_6a5d1c80._.js.map
@@ -1,10 +1,10 @@
1
- module.exports=[62367,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])},36420,e=>{"use strict";e.i(22734);var t=e.i(46786),r=e.i(14747);let s="3.35.0",i=["json1"],n=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function a(a,u){let p=[],h=a.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}(h.v,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${h.v} is below minimum ${s}`,found:h.v,required:`>= ${s}`,fix:"darwin"===t.default.platform()?"brew install sqlite3 && npm rebuild better-sqlite3":"TURBOPACK unreachable"}),i))o(a,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 n)o(a,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let c=function(s){"linux"!==t.default.platform()&&t.default.platform();try{let i=r.default.resolve(s),{execSync:n}=e.r(33405);if("darwin"===t.default.platform()){let e=n(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);c&&l.some(e=>c.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${c})`,path:u,found:c,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{a.pragma("journal_mode = wal"),a.pragma("foreign_keys = 1"),a.pragma("busy_timeout = 5000"),a.pragma("synchronous = 1"),a.pragma("cache_size = -64000");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){a.pragma("journal_mode = DELETE");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(a.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",()=>a])},74949,e=>{"use strict";var t=e.i(17920),r=e.i(22734),s=e.i(14747),i=e.i(46786),n=e.i(62367),l=e.i(36420);let o=process.env.AGX_DATA_DIR||s.default.join(i.default.homedir(),".agx");class a{expr;constructor(e){this.expr=e}}function u(e){return new a(e)}let p=null;function h(){if(p)return p;let e=process.env.SQLITE_DB_PATH||s.default.join(o,"agx-board.db");r.default.existsSync(e),p=new t.default(e);let i=(0,l.validateSQLiteEnvironment)(p,e);if(i.length>0){let e=i.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
- ${e.join("\n")}`)}return function(e){let t=s.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let i=r.default.readFileSync(t,"utf-8");e.exec(i)}(p),p}let c=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function d(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function m(e,t){return null==t?null:t instanceof Date?t.toISOString():c.has(e)?JSON.stringify(t):d(t)}function f(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),s=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===s.length?{columns:["*"],includeProjectRepos:r}:{columns:s,includeProjectRepos:r}}class g{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let s=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[s,i,...n]=e.split("."),l="true"===(r=n.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(d(l)),`${s} = ?`):"neq"===i?(t.push(d(l)),`${s} <> ?`):"is"===i?null===l?`${s} IS NULL`:(t.push(d(l)),`${s} IS ?`):"ilike"===i||"like"===i?(t.push(d(l)),`${s} LIKE ?`):"1=1"});s.length>0&&e.push(`(${s.join(" OR ")})`);continue}if("eq"===r.op)t.push(d(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(d(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(d(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(d(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(d(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(d(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(d(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let s=(r.value||[]).map(d);if(0===s.length)e.push("1=1");else{let i=s.map(()=>"?").join(", ");t.push(...s),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${s.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let s=(r.value||[]).map(d),i=s.map(()=>"?").join(", ");t.push(...s),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=h(),{columns:t,includeProjectRepos:r}=f(this.selectColumns),s=[],i=[];this.buildWhere(i,s);let n=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(n+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");n+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(s.push(this.limitValue),n+=" LIMIT ?");let l=e.prepare(n).all(...s);if(l=l.map(S),r&&"projects"===this.table&&l.length>0){let t=l.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),s=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of s){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}l=l.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===l.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:l[0],error:null}}if("maybeSingle"===this.singleMode)return{data:l[0]||null,error:null};return{data:l,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=h(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let s=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],n=r.map(e=>{let t=s.map(t=>(i.push(m(t,e[t])),"?"));return`(${t.join(", ")})`}),l=`INSERT INTO ${this.table} (${s.join(", ")}) VALUES ${n.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=s.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?l+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=f(this.returningColumns);l+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(l).all(...i)).map(S):(t.prepare(l).run(...i),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:o&&o[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=h(),r=[],s=[],i=[];this.buildWhere(i,s);let n="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof a?`${e} = ${t.expr}`:(r.push(m(e,t)),`${e} = ?`)});n=`UPDATE ${this.table} SET ${e.join(", ")}`}else n=`DELETE FROM ${this.table}`;i.length>0&&(n+=` WHERE ${i.join(" AND ")}`);let l=[...r,...s];if(this.returningColumns){let{columns:e}=f(this.returningColumns);n+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(n).all(...l)).map(S):(t.prepare(n).run(...l),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode){if(!o||0===o.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:o[0],error:null}}if("maybeSingle"===this.singleMode)return{data:o?.[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let _=new Set([...c,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function S(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(_.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function E(){return{from:e=>new g(e),auth:{getUser:async()=>({data:{user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email,user_metadata:{name:n.LOCAL_USER.name,full_name:n.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=h(),s=t.p_user_id,i=t.p_endpoint,n=Number(t.p_limit||60),l=Number(t.p_window_seconds||60),o=new Date(Math.floor(new Date().getTime()/(1e3*l))*l*1e3);try{let e=`
1
+ module.exports=[62367,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])},36420,e=>{"use strict";e.i(22734);var t=e.i(46786),r=e.i(14747);let s="3.35.0",i=["json1"],n=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function a(a,u){let p=[],h=a.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}(h.v,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${h.v} is below minimum ${s}`,found:h.v,required:`>= ${s}`,fix:"darwin"===t.default.platform()?"brew install sqlite3 && npm rebuild better-sqlite3":"TURBOPACK unreachable"}),i))o(a,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 n)o(a,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let c=function(s){"linux"!==t.default.platform()&&t.default.platform();try{let i=r.default.resolve(s),{execSync:n}=e.r(33405);if("darwin"===t.default.platform()){let e=n(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);c&&l.some(e=>c.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${c})`,path:u,found:c,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{a.pragma("journal_mode = wal"),a.pragma("foreign_keys = 1"),a.pragma("busy_timeout = 5000"),a.pragma("synchronous = 1"),a.pragma("cache_size = -64000");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){a.pragma("journal_mode = DELETE");let e=a.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(a.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",()=>a])},74949,e=>{"use strict";var t=e.i(17920),r=e.i(22734),s=e.i(14747),i=e.i(46786),n=e.i(62367),l=e.i(36420);let o=process.env.AGX_DATA_DIR||s.default.join(i.default.homedir(),".agx");class a{expr;constructor(e){this.expr=e}}function u(e){return new a(e)}let p=null;function h(){var e;if(p)return p;let i=process.env.SQLITE_DB_PATH||s.default.join(o,"agx-board.db"),n=!r.default.existsSync(i);p=new t.default(i);let a=(0,l.validateSQLiteEnvironment)(p,i);if(a.length>0){let e=a.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
2
+ ${e.join("\n")}`)}return n||(e=p).pragma("table_info(teams)").some(e=>"is_default"===e.name)||(e.exec("ALTER TABLE teams ADD COLUMN is_default INTEGER NOT NULL DEFAULT 0"),e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_teams_default ON teams (user_id) WHERE is_default = 1")),function(e){let t=s.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let i=r.default.readFileSync(t,"utf-8");e.exec(i)}(p),p}let c=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function d(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function m(e,t){return null==t?null:t instanceof Date?t.toISOString():c.has(e)?JSON.stringify(t):d(t)}function f(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),s=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===s.length?{columns:["*"],includeProjectRepos:r}:{columns:s,includeProjectRepos:r}}class g{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let s=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[s,i,...n]=e.split("."),l="true"===(r=n.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===i?(t.push(d(l)),`${s} = ?`):"neq"===i?(t.push(d(l)),`${s} <> ?`):"is"===i?null===l?`${s} IS NULL`:(t.push(d(l)),`${s} IS ?`):"ilike"===i||"like"===i?(t.push(d(l)),`${s} LIKE ?`):"1=1"});s.length>0&&e.push(`(${s.join(" OR ")})`);continue}if("eq"===r.op)t.push(d(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(d(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(d(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(d(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(d(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(d(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(d(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let s=(r.value||[]).map(d);if(0===s.length)e.push("1=1");else{let i=s.map(()=>"?").join(", ");t.push(...s),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${i})) = ${s.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let s=(r.value||[]).map(d),i=s.map(()=>"?").join(", ");t.push(...s),e.push(`${r.column} IN (${i})`)}else e.push("1=0")}}executeSelect(){try{let e=h(),{columns:t,includeProjectRepos:r}=f(this.selectColumns),s=[],i=[];this.buildWhere(i,s);let n=`SELECT ${t.join(", ")} FROM ${this.table}`;if(i.length>0&&(n+=` WHERE ${i.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");n+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(s.push(this.limitValue),n+=" LIMIT ?");let l=e.prepare(n).all(...s);if(l=l.map(E),r&&"projects"===this.table&&l.length>0){let t=l.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),s=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),i=new Map;for(let e of s){let t=i.get(e.project_id)||[];t.push(e),i.set(e.project_id,t)}l=l.map(e=>({...e,project_repos:i.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===l.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:l[0],error:null}}if("maybeSingle"===this.singleMode)return{data:l[0]||null,error:null};return{data:l,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=h(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let s=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),i=[],n=r.map(e=>{let t=s.map(t=>(i.push(m(t,e[t])),"?"));return`(${t.join(", ")})`}),l=`INSERT INTO ${this.table} (${s.join(", ")}) VALUES ${n.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=s.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?l+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:l+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=f(this.returningColumns);l+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(l).all(...i)).map(E):(t.prepare(l).run(...i),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:o&&o[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=h(),r=[],s=[],i=[];this.buildWhere(i,s);let n="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof a?`${e} = ${t.expr}`:(r.push(m(e,t)),`${e} = ?`)});n=`UPDATE ${this.table} SET ${e.join(", ")}`}else n=`DELETE FROM ${this.table}`;i.length>0&&(n+=` WHERE ${i.join(" AND ")}`);let l=[...r,...s];if(this.returningColumns){let{columns:e}=f(this.returningColumns);n+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(n).all(...l)).map(E):(t.prepare(n).run(...l),e=[]);let o=this.returningColumns?e:null;if("single"===this.singleMode){if(!o||0===o.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:o[0],error:null}}if("maybeSingle"===this.singleMode)return{data:o?.[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let _=new Set([...c,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function E(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(_.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function S(){return{from:e=>new g(e),auth:{getUser:async()=>({data:{user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email,user_metadata:{name:n.LOCAL_USER.name,full_name:n.LOCAL_USER.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:n.LOCAL_USER.id,email:n.LOCAL_USER.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=h(),s=t.p_user_id,i=t.p_endpoint,n=Number(t.p_limit||60),l=Number(t.p_window_seconds||60),o=new Date(Math.floor(new Date().getTime()/(1e3*l))*l*1e3);try{let e=`
3
3
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
4
4
  VALUES (?, ?, ?, 1)
5
5
  ON CONFLICT (user_id, endpoint, window_start)
6
6
  DO UPDATE SET request_count = rate_limits.request_count + 1
7
7
  RETURNING request_count
8
- `,t=r.prepare(e).get(s,i,o.toISOString());return{data:Number(t?.request_count||0)<=n,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>a,"createAdminDbClientSQLite",()=>E,"getSQLiteDb",()=>h,"sqlExpr",()=>u])}];
8
+ `,t=r.prepare(e).get(s,i,o.toISOString());return{data:Number(t?.request_count||0)<=n,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>a,"createAdminDbClientSQLite",()=>S,"getSQLiteDb",()=>h,"sqlExpr",()=>u])}];
9
9
 
10
10
  //# sourceMappingURL=Projects_Agents_agx-cloud_lib_8c82981b._.js.map