@mndrk/agx 1.4.64 → 2.0.0-next.0

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 (532) hide show
  1. package/README.md +2 -1
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +391 -142
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +43 -16
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +7 -7
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/dynamic-css-manifest.json +1 -0
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +57 -9
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/required-server-files.json +2 -0
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +197 -0
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +3 -3
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +6 -5
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route.js +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route.js.nft.json +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js.nft.json +1 -1
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route.js.nft.json +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route.js.nft.json +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route.js +28 -0
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route.js.nft.json +1 -0
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route_client-reference-manifest.js +1 -0
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +111 -0
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -0
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route_client-reference-manifest.js +1 -0
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -0
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -0
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route_client-reference-manifest.js +1 -0
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -0
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -0
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route_client-reference-manifest.js +1 -0
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route.js +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route_client-reference-manifest.js +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route_client-reference-manifest.js +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -0
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -0
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route_client-reference-manifest.js +1 -0
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -0
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -0
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route_client-reference-manifest.js +1 -0
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -0
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -0
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route_client-reference-manifest.js +1 -0
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -0
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -0
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route_client-reference-manifest.js +1 -0
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -0
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -0
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route_client-reference-manifest.js +1 -0
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -0
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -0
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route_client-reference-manifest.js +1 -0
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -0
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -0
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route_client-reference-manifest.js +1 -0
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -0
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -0
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route_client-reference-manifest.js +1 -0
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js +1 -0
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -0
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route_client-reference-manifest.js +1 -0
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -0
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -0
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route_client-reference-manifest.js +1 -0
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js +74 -0
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -0
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route_client-reference-manifest.js +1 -0
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +74 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route_client-reference-manifest.js +1 -1
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -0
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -0
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route_client-reference-manifest.js +1 -0
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -0
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -0
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route_client-reference-manifest.js +1 -0
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -0
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -0
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route_client-reference-manifest.js +1 -0
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -0
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -0
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route_client-reference-manifest.js +1 -0
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -0
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -0
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route_client-reference-manifest.js +1 -0
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -0
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -0
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route_client-reference-manifest.js +1 -0
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -0
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -0
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route_client-reference-manifest.js +1 -0
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js +1 -1
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -1
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +4 -4
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js +1 -0
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -0
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route_client-reference-manifest.js +1 -0
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +1 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route.js +1 -1
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
  178. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route.js +1 -1
  179. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  181. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route.js +1 -1
  182. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route.js.nft.json +1 -1
  185. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +5 -5
  187. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
  189. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
  190. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +7 -6
  191. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +5 -10
  192. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
  193. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  194. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
  195. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +8 -6
  196. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js +17 -0
  197. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -0
  198. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -0
  199. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +13 -0
  200. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.meta +7 -0
  201. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +23 -0
  202. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  203. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +6 -5
  204. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +4 -4
  205. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
  207. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
  208. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +7 -6
  209. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +3 -3
  210. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
  211. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  212. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js +2 -0
  213. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -0
  214. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -0
  215. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +3 -3
  216. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  217. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  218. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page.js +2 -0
  219. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page.js.nft.json +1 -0
  220. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page_client-reference-manifest.js +1 -0
  221. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +2 -7
  222. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js +2 -13
  225. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js +2 -0
  228. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -0
  229. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -0
  230. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -0
  231. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.meta +7 -0
  232. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +24 -0
  233. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +3 -8
  234. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  235. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  236. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  237. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +7 -6
  238. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +2 -13
  239. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
  240. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  241. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  242. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +7 -6
  243. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +43 -16
  244. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1175.js +1 -0
  245. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1891.js +1 -0
  246. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{5611.js → 2341.js} +2 -2
  247. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +9 -17
  248. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/359.js +91 -0
  249. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4183.js +1 -0
  250. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4483.js +145 -0
  251. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4684.js +53 -0
  252. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5047.js +1 -0
  253. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5336.js +3 -0
  254. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5873.js +1 -1
  255. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5998.js +1 -0
  256. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +3 -3
  257. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
  258. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7552.js +74 -0
  259. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7625.js +12 -0
  260. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8100.js +17 -0
  261. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8521.js +1 -1
  262. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8879.js +11 -0
  263. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9218.js +74 -0
  264. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9764.js +37 -0
  265. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9933.js +2 -0
  266. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/dynamic-css-manifest.js +1 -0
  267. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +4 -2
  268. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/instrumentation.js +1 -1
  269. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-build-manifest.js +1 -1
  270. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  271. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware.js +1 -1
  272. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  273. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_app.js +1 -1
  274. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_app.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_document.js +1 -1
  276. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_document.js.nft.json +1 -1
  277. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_error.js +3 -3
  278. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_error.js.nft.json +1 -1
  279. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages-manifest.json +1 -1
  280. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  281. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  282. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/1560-c96304e8b5b09982.js +49 -0
  283. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/1a258343-bcfff2df53db439e.js +1 -0
  284. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3634-903008664601478e.js +1 -0
  285. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4380-34fd8d852553a877.js +1 -0
  286. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5182-23ff4470a8cd697e.js +1 -0
  287. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5962-e45590f9f1f0fb6a.js +1 -0
  288. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6488-dc0cbab539e14b14.js +1 -0
  289. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7329-81a6c7ab69ca4a52.js +1 -0
  290. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9092-1eed225ca8c0f4b5.js +13 -0
  291. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-41c7297232fc7095.js +1 -0
  292. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/968-bbc30100546b7647.js +1 -0
  293. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9855-e3fbd51dd373e0c5.js +3 -0
  294. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-4146f5e9f52467cf.js +1 -0
  295. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-4146f5e9f52467cf.js +1 -0
  296. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-4146f5e9f52467cf.js +1 -0
  297. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-4146f5e9f52467cf.js +1 -0
  298. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-4146f5e9f52467cf.js +1 -0
  299. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-4146f5e9f52467cf.js +1 -0
  300. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-4146f5e9f52467cf.js +1 -0
  301. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/chat/history/route-4146f5e9f52467cf.js +1 -0
  302. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/chat/route-4146f5e9f52467cf.js +1 -0
  303. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-4146f5e9f52467cf.js +1 -0
  304. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-4146f5e9f52467cf.js +1 -0
  305. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-4146f5e9f52467cf.js +1 -0
  306. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-4146f5e9f52467cf.js +1 -0
  307. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-4146f5e9f52467cf.js +1 -0
  308. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-4146f5e9f52467cf.js +1 -0
  309. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-4146f5e9f52467cf.js +1 -0
  310. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-4146f5e9f52467cf.js +1 -0
  311. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-4146f5e9f52467cf.js +1 -0
  312. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/migrate-v1/route-4146f5e9f52467cf.js +1 -0
  313. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/migrate-v2/route-4146f5e9f52467cf.js +1 -0
  314. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-4146f5e9f52467cf.js +1 -0
  315. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-4146f5e9f52467cf.js +1 -0
  316. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-4146f5e9f52467cf.js +1 -0
  317. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-4146f5e9f52467cf.js +1 -0
  318. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-4146f5e9f52467cf.js +1 -0
  319. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-4146f5e9f52467cf.js +1 -0
  320. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-4146f5e9f52467cf.js +1 -0
  321. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-4146f5e9f52467cf.js +1 -0
  322. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-4146f5e9f52467cf.js +1 -0
  323. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-4146f5e9f52467cf.js +1 -0
  324. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/events/route-4146f5e9f52467cf.js +1 -0
  325. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/history/route-4146f5e9f52467cf.js +1 -0
  326. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/metrics/route-4146f5e9f52467cf.js +1 -0
  327. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/pause/route-4146f5e9f52467cf.js +1 -0
  328. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/replan/route-4146f5e9f52467cf.js +1 -0
  329. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/restart/route-4146f5e9f52467cf.js +1 -0
  330. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/resume/route-4146f5e9f52467cf.js +1 -0
  331. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/rollback/route-4146f5e9f52467cf.js +1 -0
  332. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/route-4146f5e9f52467cf.js +1 -0
  333. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/start/route-4146f5e9f52467cf.js +1 -0
  334. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/stop/route-4146f5e9f52467cf.js +1 -0
  335. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-4146f5e9f52467cf.js +1 -0
  336. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-4146f5e9f52467cf.js +1 -0
  337. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-4146f5e9f52467cf.js +1 -0
  338. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-4146f5e9f52467cf.js +1 -0
  339. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/comments/route-4146f5e9f52467cf.js +1 -0
  340. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/complete/route-4146f5e9f52467cf.js +1 -0
  341. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/fail/route-4146f5e9f52467cf.js +1 -0
  342. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/resume/route-4146f5e9f52467cf.js +1 -0
  343. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/start/route-4146f5e9f52467cf.js +1 -0
  344. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/stop/route-4146f5e9f52467cf.js +1 -0
  345. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/verify/route-4146f5e9f52467cf.js +1 -0
  346. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-4146f5e9f52467cf.js +1 -0
  347. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-4146f5e9f52467cf.js +1 -0
  348. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/assign-orphans/route-4146f5e9f52467cf.js +1 -0
  349. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-4146f5e9f52467cf.js +1 -0
  350. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-4146f5e9f52467cf.js +1 -0
  351. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-4146f5e9f52467cf.js +1 -0
  352. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-4146f5e9f52467cf.js +1 -0
  353. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-4146f5e9f52467cf.js +1 -0
  354. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-4146f5e9f52467cf.js +1 -0
  355. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-4146f5e9f52467cf.js +1 -0
  356. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-360e0d9743267f83.js +1 -0
  357. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-9fc2f72aa263afbf.js +1 -0
  358. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/execution-graph/page-3d2f92c9f3a9c32b.js +1 -0
  359. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-b1371d0718b61729.js +1 -0
  360. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/login/page-cc727e6121024adf.js +1 -0
  361. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/graph/[taskId]/page-35e701dd9d03607a.js +1 -0
  362. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-3497c64539d1d0d6.js +1 -0
  363. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-7c440360390120d2.js +1 -0
  364. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/[taskId]/page-b5a1aca4ff048270.js +1 -0
  365. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-d324777fc0d2b28e.js +1 -0
  366. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/workflow/page-d944b3d435e6c096.js +1 -0
  367. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/orphans/page-f2d9a658ebd59e25.js +1 -0
  368. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-cfa09df7a60e3c9e.js +1 -0
  369. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/settings/page-5d8b5e8b4a41e553.js +1 -0
  370. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ba12c10f-bf8f81460a1e4961.js +1 -0
  371. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_app-d4c3a651e078ce62.js +1 -0
  372. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_error-645f0cf542a3bcc5.js +1 -0
  373. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{webpack-d282787ed3063711.js → webpack-ba6fd5b47c63daed.js} +1 -1
  374. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/599369d853c61df7.css +31 -0
  375. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/cecf148132e1eabb.css +1 -0
  376. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/fa5c997ce0e64112.css +1 -0
  377. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/ouqRjDQF23L-SLuiHJHB7/_buildManifest.js +1 -0
  378. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/context.js +81 -0
  379. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/diag.js +93 -0
  380. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/metrics.js +61 -0
  381. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/propagation.js +89 -0
  382. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/trace.js +79 -0
  383. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +63 -0
  384. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +55 -0
  385. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +23 -0
  386. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/utils.js +51 -0
  387. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +38 -0
  388. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context/context.js +55 -0
  389. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context-api.js +24 -0
  390. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +59 -0
  391. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +57 -0
  392. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +45 -0
  393. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/types.js +44 -0
  394. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag-api.js +29 -0
  395. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/index.js +81 -0
  396. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +64 -0
  397. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/internal/semver.js +122 -0
  398. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +25 -0
  399. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +127 -0
  400. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +31 -0
  401. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics-api.js +24 -0
  402. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/index.js +29 -0
  403. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js +22 -0
  404. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/node/index.js +29 -0
  405. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +34 -0
  406. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +41 -0
  407. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation-api.js +24 -0
  408. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +69 -0
  409. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +75 -0
  410. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +32 -0
  411. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +55 -0
  412. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +54 -0
  413. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +42 -0
  414. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +82 -0
  415. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +103 -0
  416. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +46 -0
  417. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +24 -0
  418. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +27 -0
  419. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +46 -0
  420. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +49 -0
  421. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/status.js +23 -0
  422. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +26 -0
  423. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace-api.js +24 -0
  424. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/version.js +21 -0
  425. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/package.json +113 -0
  426. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/package.json +17 -1
  427. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/pages/_app.tsx +5 -0
  428. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/pages/_document.tsx +13 -0
  429. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/scripts/migrate-v1-to-v2.ts +34 -0
  430. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +104 -20
  431. package/lib/cli/chat/index.js +203 -0
  432. package/lib/cli/cloud/aggregate.js +4 -0
  433. package/lib/cli/cloud/command.js +3 -0
  434. package/lib/cli/cloud/executeGraphV2.js +1791 -0
  435. package/lib/cli/cloud/executeVerifySingle.js +5 -1
  436. package/lib/cli/cloud/executeVerifySwarm.js +5 -1
  437. package/lib/cli/cloud/index.js +6 -0
  438. package/lib/cli/cloud/iterations.js +56 -1
  439. package/lib/cli/cloud/persist.js +1 -2
  440. package/lib/cli/cloud/prompts.js +9 -3
  441. package/lib/cli/cloud/taskLogger.js +37 -28
  442. package/lib/cli/cloudArtifacts.js +29 -12
  443. package/lib/cli/configStore.js +15 -4
  444. package/lib/cli/daemon.js +98 -25
  445. package/lib/cli/interactiveMenu.js +8 -15
  446. package/lib/cli/runCli.js +732 -71
  447. package/lib/cli/v2TaskRouting.js +82 -0
  448. package/lib/cloud/status.js +12 -6
  449. package/lib/cloud-sync.js +267 -0
  450. package/lib/commands/chat.js +95 -0
  451. package/lib/commands/daemonBoard.js +132 -0
  452. package/lib/executor.js +334 -9
  453. package/lib/graph/constants.js +25 -0
  454. package/lib/graph/scheduler.js +137 -0
  455. package/lib/graph/types.js +24 -0
  456. package/lib/prompts/cloudTask.js +12 -6
  457. package/lib/prompts/resume.js +353 -0
  458. package/lib/prompts/templates.js +27 -11
  459. package/lib/stage-requirements.js +2 -2
  460. package/lib/storage/checkpoints.js +222 -0
  461. package/lib/storage/git.js +147 -0
  462. package/lib/storage/graph.js +80 -0
  463. package/lib/storage/index.js +12 -0
  464. package/lib/storage/paths.js +11 -0
  465. package/lib/storage/state.js +2 -0
  466. package/lib/verify-gate.js +301 -0
  467. package/package.json +16 -2
  468. package/templates/stack/postgres/init/001_agx_board_schema.sql +122 -2
  469. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6158.js +0 -19
  470. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8666.js +0 -23
  471. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9159.js +0 -93
  472. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +0 -1
  473. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/FYPvFkL9PvoVJhHnr9Upx/_buildManifest.js +0 -1
  474. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5608-674cd57e975c9b36.js +0 -1
  475. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/650-38439e55899ae2bf.js +0 -15
  476. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/8960-720130c8c9bf5b1c.js +0 -1
  477. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-f4cb4820efca03a1.js +0 -1
  478. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-bee7977512f30f17.js +0 -1
  479. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-bee7977512f30f17.js +0 -1
  480. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-bee7977512f30f17.js +0 -1
  481. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-bee7977512f30f17.js +0 -1
  482. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-bee7977512f30f17.js +0 -1
  483. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-bee7977512f30f17.js +0 -1
  484. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-bee7977512f30f17.js +0 -1
  485. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-bee7977512f30f17.js +0 -1
  486. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-bee7977512f30f17.js +0 -1
  487. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-bee7977512f30f17.js +0 -1
  488. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-bee7977512f30f17.js +0 -1
  489. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-bee7977512f30f17.js +0 -1
  490. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-bee7977512f30f17.js +0 -1
  491. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-bee7977512f30f17.js +0 -1
  492. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-bee7977512f30f17.js +0 -1
  493. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-bee7977512f30f17.js +0 -1
  494. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-bee7977512f30f17.js +0 -1
  495. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-bee7977512f30f17.js +0 -1
  496. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-bee7977512f30f17.js +0 -1
  497. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-bee7977512f30f17.js +0 -1
  498. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-bee7977512f30f17.js +0 -1
  499. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-bee7977512f30f17.js +0 -1
  500. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-bee7977512f30f17.js +0 -1
  501. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-bee7977512f30f17.js +0 -1
  502. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-bee7977512f30f17.js +0 -1
  503. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-bee7977512f30f17.js +0 -1
  504. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-bee7977512f30f17.js +0 -1
  505. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-bee7977512f30f17.js +0 -1
  506. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-bee7977512f30f17.js +0 -1
  507. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-bee7977512f30f17.js +0 -1
  508. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-bee7977512f30f17.js +0 -1
  509. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-bee7977512f30f17.js +0 -1
  510. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-bee7977512f30f17.js +0 -1
  511. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-bee7977512f30f17.js +0 -1
  512. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-bee7977512f30f17.js +0 -1
  513. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-bee7977512f30f17.js +0 -1
  514. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-bee7977512f30f17.js +0 -1
  515. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-bee7977512f30f17.js +0 -1
  516. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-bee7977512f30f17.js +0 -1
  517. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-bd5f443ef9da0c0a.js +0 -1
  518. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-6140206ded1cc4ae.js +0 -1
  519. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-6b46da9e6091abb3.js +0 -1
  520. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/login/page-8172fa023b259e7e.js +0 -1
  521. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-11d4290500b37271.js +0 -1
  522. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-d097a2c0e0fc17cf.js +0 -1
  523. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-444e63f0464b1d40.js +0 -1
  524. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/workflow/page-9ccbd3d9db1bcef8.js +0 -1
  525. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-6c545e9e5f5f66bc.js +0 -1
  526. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/settings/page-749ebaf650848f08.js +0 -1
  527. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
  528. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
  529. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/ea93fda1b0bdd3b9.css +0 -1
  530. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/next/dist/pages/_app.js +0 -42
  531. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/next/dist/pages/_document.js +0 -834
  532. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{FYPvFkL9PvoVJhHnr9Upx → ouqRjDQF23L-SLuiHJHB7}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7143,exports.ids=[7143],exports.modules={1236:(a,b,c)=>{c.d(b,{$N:()=>e,AT:()=>f});let d="Waiting on dependencies";function e(a){if(!a||0===a.length)return"";let b=a.slice(0,3).map(a=>`${a.title?a.title:a.slug?a.slug:a.id?a.id:"(unknown)"}${(a.status?` (${a.status})`:null)??""}`),c=`${d}: ${b.join(", ")}`;return a.length>3&&(c+=` +${a.length-3} more`),c}function f(a){return"string"==typeof a&&a.startsWith(d)}},27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>_,Cp:()=>S,Fw:()=>H,IB:()=>m,JQ:()=>E,Jg:()=>V,OH:()=>af,UT:()=>A,VG:()=>Y,WH:()=>$,ZG:()=>ae,_f:()=>ad,a4:()=>Z,bg:()=>M,co:()=>F,et:()=>ag,g1:()=>ac,gA:()=>J,gd:()=>X,gg:()=>y,h_:()=>k,iN:()=>ab,k9:()=>l,lC:()=>B,mc:()=>z,mk:()=>T,oe:()=>aa,ou:()=>aj,pW:()=>U,rV:()=>G,tB:()=>ai,updateWorkflow:()=>O,updateWorkflowNodes:()=>Q,vq:()=>D,vr:()=>K,x1:()=>x,xw:()=>C,xx:()=>L,yv:()=>t});var e=c(79965),f=c(1236),g=c(55794),h=c(55511),i=a([e,g]);function j(a,b){if(!a)return!1;let c="string"==typeof a.message?a.message:"";return"42P01"===a.code||"PGRST205"===a.code||c.includes(`relation "${b}" does not exist`)||c.includes(`Could not find the table 'agx.${b}'`)||c.includes(`Could not find the table 'public.${b}'`)}async function k(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(j(d,"user_settings"))return null;throw d}return c||null}async function l(a,b,c){let d=c?.onlyIfNewer!==!1,f=function(a){if("string"==typeof a){let b=Date.parse(a);if(Number.isFinite(b))return new Date(b).toISOString()}return new Date().toISOString()}(b.changed_at),g=await k(a);if(d&&g?.changed_at){let a=Date.parse(g.changed_at),b=Date.parse(f);if(Number.isFinite(a)&&Number.isFinite(b)&&b<=a)return{settings:g,updated:!1}}let h={user_id:a,default_provider:b.default_provider??g?.default_provider??null,models:b.models??g?.models??{},provenance:b.provenance,changed_at:f},i=(0,e.x)(),{error:j}=await i.from("user_settings").upsert(h,{onConflict:"user_id"});if(j)throw j;let l=await k(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function m(a,b,c){let d=a=>"string"!=typeof a?null:a.trim()||null,e=d(c?.default_provider)||"gemini",f=d(a.provider)||d(b?.provider)||e,g=d(c?.models?.[f])||null,h=d(a.model)||d(b?.model)||g||null,i=a.swarm??b?.swarm??!1,j=a.swarm_models?.length?a.swarm_models:b?.swarm_models||[];return{provider:f,model:h,swarm:i,swarm_models:j}}function n(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function o(a,b){let c=n(a);for(let d=0;d<5;d++){let{data:d,error:e}=await b.from("tasks").select("id").eq("slug",c).limit(1);if(e)throw e;if(!d||0===d.length)return c;let f=Math.random().toString(36).slice(2,6);c=`${n(a)}-${f}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function p(a,b,c,d){let e=n(a);for(let f=0;f<5;f++){let f=c.from("projects").select("id").eq("slug",e).eq("user_id",b);d&&(f=f.neq("id",d));let{data:g,error:h}=await f.limit(1);if(h)throw h;if(!g||0===g.length)return e;let i=Math.random().toString(36).slice(2,6);e=`${n(a)}-${i}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function q(a){return a??(0,e.x)()}function r(a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return a.map(a=>String(a||"").trim()).filter(Boolean)}catch{}return b.split(",").map(a=>a.trim()).filter(Boolean)}function s(a){let b;if(!a)return[];if(Array.isArray(a))b=a.map(a=>"string"==typeof a?a:null==a?"":String(a)).filter(Boolean);else{if("string"!=typeof a)return[];b=r(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function t(a){let b=a.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!b)return{frontmatter:{},body:a};let c={};for(let a of b[1].split("\n")){let b=a.indexOf(":");if(b>0){let d=a.slice(0,b).trim(),e=a.slice(b+1).trim();if("depends_on"===d){c[d]=r(e);continue}"true"===e?c[d]=!0:"false"===e?c[d]=!1:/^\d+$/.test(e)?c[d]=parseInt(e):c[d]=e}}return{frontmatter:c,body:b[2]}}async function u(a,b,c){if(!a||!b?.length)return;let d=q(c),e=new Set,f=[...b];for(;f.length;){let b=f.pop();if(!b)continue;if(b===a)throw Error("Circular dependency detected");if(e.has(b))continue;e.add(b);let{data:c,error:g}=await d.from("tasks").select("depends_on").eq("id",b).maybeSingle();if(g){if("PGRST116"===g.code||"42703"===g.code)continue;throw g}if(c)for(let a of Array.isArray(c.depends_on)?c.depends_on:[])a&&!e.has(a)&&f.push(a)}}function v(a){let{body:b}=t(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}async function w(a,b){let c=Array.isArray(a.depends_on)?a.depends_on:[];if(!c.length)return;let d=(0,e.x)(),{data:g,error:h}=await d.from("tasks").select("id, title, slug, status, stage").in("id",c);if(h)return;let i=(Array.isArray(g)?g:[]).filter(a=>"completed"!==(a?.status||""));if(i.length){let c=(0,f.$N)(i),e=d.from("tasks").update({status:"blocked",blocked_reason:c}).eq("id",a.id);b&&(e=e.eq("user_id",b));let{error:g}=await e;if(g&&"42703"!==g.code)throw g;return}if("blocked"===a.status&&(0,f.AT)(a.blocked_reason)){let c=d.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",a.id);b&&(c=c.eq("user_id",b));let{error:e}=await c;if(e&&"42703"!==e.code)throw e}}async function x(a,b){console.log("getTasks called with userId:",a);let c=(0,e.x)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(a&&(c=c.eq("user_id",a)),b?.project&&(c=c.eq("project",b.project)),b?.status&&(c=c.eq("status",b.status)),b?.search){let a=b.search;c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(a)?c.or(`id.eq.${a},slug.ilike.%${a}%,title.ilike.%${a}%`):c.or(`id::text.ilike.%${a}%,slug.ilike.%${a}%,title.ilike.%${a}%`)}let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function y(a,b){let c=(0,e.x)().from("tasks").select("*").eq("id",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function z(a,b){let c=(0,e.x)().from("tasks").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function A(a,b,c){let d=(0,e.x)(),{frontmatter:f,body:i}=t(a),j="boolean"==typeof f.swarm?f.swarm:void 0,k=v(a),l=String(f.slug||k||"task"),m=await o(l,d),n="string"==typeof f.project_id?f.project_id:void 0,p="string"==typeof f.workflow_id?f.workflow_id:void 0;/^---\n/.test(a);let q="string"==typeof f.provider?f.provider:null,r="string"==typeof f.model?f.model:null,x="string"==typeof f.engine?f.engine:null,z="ai"===f.created_by?"ai":"user",A=s(f.depends_on),B=s(c?.dependsOn),C=B.length>0?B:A,D={id:(0,h.randomUUID)(),content:a,description:i,title:k,slug:m,status:f.status||"queued",stage:f.stage,project:f.project,...void 0!==n?{project_id:n}:{},...void 0!==p?{workflow_id:p}:{},priority:f.priority,engine:x,provider:q,model:r,swarm:j,swarm_models:c?.swarmModels??null,depends_on:C.length?C:null,created_by:z,user_id:b,current_plan:c?.currentPlan||null,open_blockers:c?.openBlockers||[],next_action:c?.nextAction||null,version:1};await u(D.id,C,d);let{data:E,error:F}=await d.from("tasks").insert(D).select().single();if(F&&"42703"===F.code){let{description:a,swarm_models:b,swarm:c,workflow_id:e,current_plan:f,open_blockers:g,next_action:h,version:i,depends_on:j,...k}=D;({data:E,error:F}=await d.from("tasks").insert(k).select().single())}if(F)throw F;if(!E)throw Error("Failed to create task");await w(E,b);let G=await y(E.id,b)||E,H=b||G.user_id;if(H){let a=G.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(G.depends_on)?G.depends_on:[],project:G.project||null,projectId:G.project_id||null,workflowId:G.workflow_id||null,createdBy:G.created_by||null};(0,g.lD)({taskId:G.id,userId:H,eventType:"task.created",title:G.title||null,slug:G.slug||null,stage:G.stage||null,status:G.status||null,timestamp:a,details:b})}return G}async function B(a,b,c,d){let f=(0,e.x)(),{frontmatter:h,body:i}=t(b),j="boolean"==typeof h.swarm?h.swarm:void 0,k=v(b),l="string"==typeof h.project_id?h.project_id:void 0,m=Object.prototype.hasOwnProperty.call(h,"provider"),n=Object.prototype.hasOwnProperty.call(h,"model"),o=Object.prototype.hasOwnProperty.call(h,"workflow_id"),p=Object.prototype.hasOwnProperty.call(h,"depends_on"),q=s(h.depends_on),r=s(d?.dependsOn),x=d?.dependsOn!==void 0||p,z=d?.dependsOn!==void 0?r:q,A={content:b,description:i,title:k,status:h.status,stage:h.stage,project:h.project,...void 0!==l?{project_id:l}:{},workflow_id:o?h.workflow_id:void 0,priority:h.priority,engine:h.engine,provider:m?h.provider:null,model:n?h.model:null,swarm:j,swarm_models:d?.swarmModels??void 0,...x?{depends_on:z.length?z:null}:{},updated_at:new Date().toISOString(),current_plan:d?.currentPlan??void 0,open_blockers:d?.openBlockers??void 0,next_action:d?.nextAction??void 0};Object.keys(A).forEach(a=>{void 0===A[a]&&delete A[a]}),x&&await u(a,z,f);let B=f.from("tasks").update({...A,version:f.rpc("increment_version")}).eq("id",a);c&&(B=B.eq("user_id",c)),d?.expectedVersion!==void 0&&(B=B.eq("version",d.expectedVersion));let{data:C,error:D}=await f.from("tasks").update({...A}).eq("id",a).select().single();if(D&&"42703"===D.code){let{description:b,swarm_models:d,swarm:e,workflow_id:g,current_plan:h,open_blockers:i,next_action:j,version:k,depends_on:l,...m}=A,n=f.from("tasks").update(m).eq("id",a);c&&(n=n.eq("user_id",c)),{data:C,error:D}=await n.select().single()}if(D)throw D;if(!C)throw Error("Failed to create task");await w(C,c);let E=await y(C.id,c)||C,F=c||E.user_id;if(F){let a=E.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(E.depends_on)?E.depends_on:[],project:E.project||null,projectId:E.project_id||null,workflowId:E.workflow_id||null,createdBy:E.created_by||null};(0,g.lD)({taskId:E.id,userId:F,eventType:"task.created",title:E.title||null,slug:E.slug||null,stage:E.stage||null,status:E.status||null,timestamp:a,details:b})}return E}async function C(a,b,c=25){let d=(0,e.x)(),{data:f,error:g}=await d.from("tasks").select("run_index").eq("id",a).single();if(g){if(g?.code==="42703")return;throw g}let h=Array.isArray(f.run_index)?f.run_index:[],i=[b,...h].slice(0,c),{error:j}=await d.from("tasks").update({run_index:i}).eq("id",a);if(j){if(j?.code==="42703")return;throw j}}async function D(a,b){let c=(0,e.x)().from("tasks").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}async function E(a){let b=(0,e.x)().from("projects").select("*, project_repos(*)");a&&(b=b.eq("user_id",a));let{data:c,error:d}=await b;if(d){if(j(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function F(a,b){let c=(0,e.x)().from("projects").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"projects"))return null;throw f}return d||null}async function G(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(j(d,"project_repos"))return[];throw d}return c||[]}[e,g]=i.then?(await i)():i;let ah=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function H(a,b){let c=(0,e.x)(),d=ah.test(a),f=c.from("projects").select("*");f=d?f.eq("id",a):f.eq("slug",a),b&&(f=f.eq("user_id",b));let g=await f.maybeSingle();if(g.error){if(j(g.error,"projects"))return null;throw g.error}let h=g.data;if(!h)return null;let i=await G(h.id);return{...h,repos:i}}async function I(a,b,c){if(!b.length)return[];let d=b.map(b=>({project_id:a,name:b.name,path:b.path??null,notes:b.notes??null})),{data:e,error:f}=await c.from("project_repos").insert(d).select("*");if(f){if(j(f,"project_repos"))return[];throw f}return e||[]}async function J(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=q(c),e=b.name.trim()||"project",f=await p(e,a,d),g={user_id:a,name:b.name.trim(),slug:f,description:b.description??null,workflow_id:b.workflow_id??null},{data:h,error:i}=await d.from("projects").insert(g).select("*").single();if(i)throw i;let j=await I(h.id,b.repos??[],d);return{...h,repos:j}}async function K(a,b,c,d){let e=q(d),f=ah.test(a),g=a;if(!f){let c=await F(a,b);if(!c)return null;g=c.id}let h={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");h.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(h.slug=a)}if(void 0!==c.description&&(h.description=c.description),void 0!==c.metadata&&(h.metadata=c.metadata),void 0!==c.ci_cd_info&&(h.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(h.workflow_id=c.workflow_id),Object.keys(h).length){let{error:a}=await e.from("projects").update(h).eq("id",g).eq("user_id",b);if(a)throw a}if(c.repos){let{error:a}=await e.from("project_repos").delete().eq("project_id",g);if(a&&!j(a,"project_repos"))throw a;await I(g,c.repos,e)}return H(g,b)}async function L(a,b,c){let d=q(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function M(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflows").select("*").or(`user_id.eq.${a},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(d){if(j(d,"workflows"))return[];throw d}return c||[]}async function N(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"workflows"))return null;throw f}return d}async function O(a,b,c){let d=(0,e.x)(),f={updated_at:new Date().toISOString()};void 0!==c.definition&&(f.definition=c.definition),void 0!==c.name&&(f.name=c.name),void 0!==c.description&&(f.description=c.description);let{data:g,error:h}=await d.from("workflows").update(f).eq("id",a).select().single();if(h)throw h;return g}async function P(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_nodes").select("*").eq("workflow_id",a).order("position",{ascending:!0});if(d){if(j(d,"workflow_nodes"))return[];throw d}return c||[]}async function Q(a,b,c){let d=(0,e.x)();if(!await N(a,b))throw Error("Workflow not found");return await Promise.all(c.map(async b=>{let c={updated_at:new Date().toISOString()};if(void 0!==b.prompt&&(c.prompt=b.prompt),void 0!==b.provider&&(c.provider=b.provider),void 0!==b.model&&(c.model=b.model),void 0!==b.metadata&&(c.metadata=b.metadata),Object.keys(c).length<=1)return;let{error:e}=await d.from("workflow_nodes").update(c).eq("workflow_id",a).eq("id",b.id);if(e)throw e})),P(a)}async function R(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_transitions").select("*").eq("workflow_id",a).order("priority",{ascending:!0});if(d){if(j(d,"workflow_transitions"))return[];throw d}return c||[]}async function S(a,b){let c=await N(a,b);if(!c)return null;let[d,e]=await Promise.all([P(a),R(a)]);return{...c,nodes:d,transitions:e}}function T(){return"00000000-0000-0000-0000-000000000001"}async function U(a,b={}){let c=(0,e.x)(),d=Math.max(1,Math.min(2e3,Number(b.limit??b.tail??500))),f="string"==typeof b.after&&b.after.trim()?b.after.trim():null,g=f?null:void 0===b.tail?d:Number(b.tail),h=null!==g&&Number.isFinite(g)&&g>0,i=c.from("task_logs").select("*").eq("task_id",a);i=f?i.gt("created_at",f).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d):h?i.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(d):i.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d);let{data:j,error:k}=await i;if(k)throw k;let l=j||[];return f?l:h?l.slice().reverse():l}async function V(a,b,c){let d=(0,e.x)(),{data:f,error:g}=await d.from("task_logs").insert({task_id:a,content:b,log_type:c}).select().single();if(g)throw g;return f}function W(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,Math.round(b)):0}async function X(a){let b=(0,e.x)(),c={task_id:a.taskId,stage:a.stage,provider:a.provider??null,model:a.model??null,input_tokens:W(a.inputTokens),output_tokens:W(a.outputTokens),estimated_cost:function(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,b):0}(a.estimatedCost)},{data:d,error:f}=await b.from("task_costs").insert(c).select().single();if(f)throw f;return d}async function Y(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_costs").select("*").eq("task_id",a).order("created_at",{ascending:!0});if(d)throw d;return c||[]}async function Z(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_comments").select("*").eq("task_id",a).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(d)throw d;return c||[]}async function $(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("task_comments").insert({task_id:a,content:b,author_type:c,author_id:d??null}).select().single();if(h)throw h;return g}async function _(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("task_comments").select("author_id, author_type").eq("id",a).single();if(f)throw f;if(!d)throw Error("Comment not found");if("user"!==d.author_type||d.author_id!==b)throw Error("Unauthorized");let{error:g}=await c.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",a).is("deleted_at",null);if(g)throw g}async function aa(a,b,c){let d=(0,e.x)().from("learnings").select("*").eq("scope",a).order("created_at",{ascending:!1});b&&(d=d.eq("scope_id",b)),c&&(d=d.eq("user_id",c));let{data:f,error:g}=await d;if(g)throw g;return f||[]}async function ab(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("learnings").insert({scope:a,scope_id:c,content:b,user_id:d}).select().single();if(h)throw h;return g}async function ac(a,b){let c=(0,e.x)().from("learnings").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}let ai={ideation:{prompt:"Do the hard work to understand the user's true intent, as they may not know it themselves. Interpret their request and present concrete scenarios to help them visualize options. Iterate until something 'clicks'. It is okay if only 1 out of 10 proposals resonates; the goal is finding that alignment.",outputs:["research.md"],swarm:!1},planning:{prompt:"Translate the aligned intent into an implementation plan.",outputs:["plan.md","tasks.md"],swarm:!1},execution:{prompt:"Implement based on all the context/history/research/plan. Write clean, tested code. Follow the plan and execute on the tasks.",outputs:["code","tests","PR"],swarm:!1},verification:{prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify the implementation works as expected against the requirements. Return PASS/FAIL/BLOCKED with exact rationale.",outputs:["test results","bug fixes"],swarm:!1},done:{prompt:"Task finished and shipped.",outputs:[],swarm:!1}},aj="00000000-0000-0000-0000-000000000001";async function ad(a,b){let c=(0,e.x)().from("stage_prompts").select("*").eq("workflow_id",b).order("stage",{ascending:!0});c=a?c.or(`user_id.eq.${a},is_default.eq.true`):c.eq("is_default",!0);let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function ae(a,b,c){let d=(0,e.x)();if(b){let{data:e}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("user_id",b).single();if(e)return e}let{data:f}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("is_default",!0).single();return f||null}async function af(a,b,c=[],d,f,g){let h=(0,e.x)(),i={stage:a,prompt:b,outputs:c,user_id:d,is_default:!d,workflow_id:g};f&&(void 0!==f.swarm&&(i.swarm=f.swarm),void 0!==f.provider&&(i.provider=f.provider),void 0!==f.model&&(i.model=f.model),void 0!==f.swarm_models&&(i.swarm_models=f.swarm_models));let{data:j,error:k}=await h.from("stage_prompts").upsert(i,{onConflict:d?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(k)throw k;return j}async function ag(a,b){let c=(0,e.x)().from("stage_prompts").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}d()}catch(a){d(a)}})},35923:(a,b,c)=>{c.d(b,{W:()=>d});let d=[{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(a=>a.value)},55794:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{lD:()=>k});var e=c(79965),f=c(35923),g=a([e]);e=(g.then?(await g)():g)[0];class l extends Error{}function h(a){let b=Array.isArray(a.events)?a.events.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>f.W.includes(a)):[];return{id:String(a.id),user_id:String(a.user_id),url:String(a.url),name:null!=a.name?String(a.name):null,events:b,enabled:!1!==a.enabled,created_at:String(a.created_at),updated_at:String(a.updated_at)}}async function i(a,b){if(function(a,b){if(!a||"object"!=typeof a)return!1;let c=a.code,d="string"==typeof a.message?a.message:"";return"42P01"===c||"PGRST205"===c||d.includes(`relation "${b}" does not exist`)||d.includes(`Could not find the table 'agx.${b}'`)||d.includes(`Could not find the table 'public.${b}'`)}(b,a))throw new l(`Missing relation: ${a}`);throw b}async function j(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("notification_webhooks").select("*").eq("user_id",a).order("created_at",{ascending:!1});return(d&&await i("notification_webhooks",d),c)?(Array.isArray(c)?c:[c]).map(h):[]}async function k(a){if(!a.userId)return;let b=[];try{b=await j(a.userId)}catch(a){if(a instanceof l)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",a);return}let c=b.filter(b=>b.enabled&&b.events.includes(a.eventType));if(!c.length)return;let d=a.timestamp||new Date().toISOString(),e={eventType:a.eventType,taskId:a.taskId,userId:a.userId,title:a.title||null,slug:a.slug||null,stage:a.stage||null,previousStage:a.previousStage||null,nextStage:a.nextStage||null,status:a.status||null,error:a.error||null,timestamp:d,details:a.details||{}};await Promise.all(c.map(async a=>{try{let b=await fetch(a.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});b.ok||console.error(`[notifications] webhook ${a.url} responded with ${b.status}`)}catch(b){console.error(`[notifications] failed to send to ${a.url}`,b)}}))}d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=7143,exports.ids=[7143],exports.modules={1236:(a,b,c)=>{c.d(b,{$N:()=>e,AT:()=>f});let d="Waiting on dependencies";function e(a){if(!a||0===a.length)return"";let b=a.slice(0,3).map(a=>`${a.title?a.title:a.slug?a.slug:a.id?a.id:"(unknown)"}${(a.status?` (${a.status})`:null)??""}`),c=`${d}: ${b.join(", ")}`;return a.length>3&&(c+=` +${a.length-3} more`),c}function f(a){return"string"==typeof a&&a.startsWith(d)}},27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>ac,Cp:()=>V,Fw:()=>I,IB:()=>m,JQ:()=>F,Jg:()=>Y,OH:()=>ai,UT:()=>B,VG:()=>_,WH:()=>ab,ZG:()=>ah,_f:()=>ag,a4:()=>aa,bg:()=>P,co:()=>G,et:()=>aj,g1:()=>af,gA:()=>K,gd:()=>$,gg:()=>z,h_:()=>k,iN:()=>ae,k9:()=>l,ky:()=>N,lC:()=>C,mc:()=>A,mk:()=>W,oe:()=>ad,ou:()=>ap,pW:()=>X,rV:()=>H,tB:()=>ao,updateWorkflow:()=>R,updateWorkflowNodes:()=>T,vq:()=>E,vr:()=>L,x1:()=>y,xw:()=>D,xx:()=>M,yv:()=>t});var e=c(79965),f=c(1236),g=c(55794),h=c(55511),i=a([e,g]);function j(a,b){if(!a)return!1;let c="string"==typeof a.message?a.message:"";return"42P01"===a.code||"PGRST205"===a.code||c.includes(`relation "${b}" does not exist`)||c.includes(`Could not find the table 'agx.${b}'`)||c.includes(`Could not find the table 'public.${b}'`)}async function k(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(j(d,"user_settings"))return null;throw d}return c||null}async function l(a,b,c){let d=c?.onlyIfNewer!==!1,f=function(a){if("string"==typeof a){let b=Date.parse(a);if(Number.isFinite(b))return new Date(b).toISOString()}return new Date().toISOString()}(b.changed_at),g=await k(a);if(d&&g?.changed_at){let a=Date.parse(g.changed_at),b=Date.parse(f);if(Number.isFinite(a)&&Number.isFinite(b)&&b<=a)return{settings:g,updated:!1}}let h={user_id:a,default_provider:b.default_provider??g?.default_provider??null,models:b.models??g?.models??{},provenance:b.provenance,changed_at:f},i=(0,e.x)(),{error:j}=await i.from("user_settings").upsert(h,{onConflict:"user_id"});if(j)throw j;let l=await k(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function m(a,b,d){let e=a=>"string"!=typeof a?null:a.trim()||null,f=null;try{let a=c(29021),b=c(33873).join(process.env.HOME||"",".agx","config.json"),d=JSON.parse(a.readFileSync(b,"utf-8"));f=e(d?.defaultProvider)||null}catch{}let g=e(d?.default_provider)||f||"claude",h=e(a.provider)||e(b?.provider)||g,i=e(d?.models?.[h])||null,j=e(a.model)||e(b?.model)||i||null,k=a.swarm??b?.swarm??!1,l=a.swarm_models?.length?a.swarm_models:b?.swarm_models||[];return{provider:h,model:j,swarm:k,swarm_models:l}}function n(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function o(a,b){let c=n(a);for(let d=0;d<5;d++){let{data:d,error:e}=await b.from("tasks").select("id").eq("slug",c).limit(1);if(e)throw e;if(!d||0===d.length)return c;let f=Math.random().toString(36).slice(2,6);c=`${n(a)}-${f}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function p(a,b,c,d){let e=n(a);for(let f=0;f<5;f++){let f=c.from("projects").select("id").eq("slug",e).eq("user_id",b);d&&(f=f.neq("id",d));let{data:g,error:h}=await f.limit(1);if(h)throw h;if(!g||0===g.length)return e;let i=Math.random().toString(36).slice(2,6);e=`${n(a)}-${i}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function q(a){return a??(0,e.x)()}function r(a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return a.map(a=>String(a||"").trim()).filter(Boolean)}catch{}return b.split(",").map(a=>a.trim()).filter(Boolean)}function s(a){let b;if(!a)return[];if(Array.isArray(a))b=a.map(a=>"string"==typeof a?a:null==a?"":String(a)).filter(Boolean);else{if("string"!=typeof a)return[];b=r(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function t(a){let b=a.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!b)return{frontmatter:{},body:a};let c={};for(let a of b[1].split("\n")){let b=a.indexOf(":");if(b>0){let d=a.slice(0,b).trim(),e=a.slice(b+1).trim();if("depends_on"===d){c[d]=r(e);continue}"true"===e?c[d]=!0:"false"===e?c[d]=!1:/^\d+$/.test(e)?c[d]=parseInt(e):c[d]=e}}return{frontmatter:c,body:b[2]}}async function u(a,b,c){if(!a||!b?.length)return;let d=q(c),e=new Set,f=[...b];for(;f.length;){let b=f.pop();if(!b)continue;if(b===a)throw Error("Circular dependency detected");if(e.has(b))continue;e.add(b);let{data:c,error:g}=await d.from("tasks").select("depends_on").eq("id",b).maybeSingle();if(g){if("PGRST116"===g.code||"42703"===g.code)continue;throw g}if(c)for(let a of Array.isArray(c.depends_on)?c.depends_on:[])a&&!e.has(a)&&f.push(a)}}function v(a){let{body:b}=t(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}function w(a){return String(a||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function x(a,b){let c=Array.isArray(a.depends_on)?a.depends_on:[];if(!c.length)return;let d=(0,e.x)(),{data:g,error:h}=await d.from("tasks").select("id, title, slug, status, stage").in("id",c);if(h)return;let i=(Array.isArray(g)?g:[]).filter(a=>"completed"!==(a?.status||""));if(i.length){let c=(0,f.$N)(i),e=d.from("tasks").update({status:"blocked",blocked_reason:c}).eq("id",a.id);b&&(e=e.eq("user_id",b));let{error:g}=await e;if(g&&"42703"!==g.code)throw g;return}if("blocked"===a.status&&(0,f.AT)(a.blocked_reason)){let c=d.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",a.id);b&&(c=c.eq("user_id",b));let{error:e}=await c;if(e&&"42703"!==e.code)throw e}}async function y(a,b){console.log("getTasks called with userId:",a);let c=(0,e.x)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(a&&(c=c.eq("user_id",a)),b?.project&&(c=c.eq("project",b.project)),b?.orphan&&(c=c.is("project_id",null)),b?.status&&(c=c.eq("status",b.status)),b?.search){let a=b.search;c=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(a)?c.or(`id.eq.${a},slug.ilike.%${a}%,title.ilike.%${a}%`):c.or(`id::text.ilike.%${a}%,slug.ilike.%${a}%,title.ilike.%${a}%`)}let{data:d,error:f}=await c;if(f)throw f;let g=d||[];return b?.orphan?g.filter(a=>{let b=String(a.project||"").trim().toLowerCase();return!b||"none"===b}):g}async function z(a,b){let c=(0,e.x)().from("tasks").select("*").eq("id",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function A(a,b){let c=(0,e.x)().from("tasks").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function B(a,b,c){let d=(0,e.x)(),{frontmatter:f,body:i}=t(a),j="boolean"==typeof f.swarm?f.swarm:void 0,k=v(a),l=String(f.slug||k||"task"),m=await o(l,d),n="string"==typeof f.project_id?f.project_id:void 0,p="string"==typeof f.workflow_id?f.workflow_id:void 0;/^---\n/.test(a);let q="string"==typeof f.provider?f.provider:null,r="string"==typeof f.model?f.model:null,y="string"==typeof f.engine?f.engine:null,A="ai"===f.created_by?"ai":"user",B=s(f.depends_on),C=s(c?.dependsOn),D=C.length>0?C:B,E={id:(0,h.randomUUID)(),content:a,description:w(i),title:k,slug:m,status:f.status||"queued",stage:f.stage,project:f.project,...void 0!==n?{project_id:n}:{},...void 0!==p?{workflow_id:p}:{},priority:f.priority,engine:y,provider:q,model:r,swarm:j,swarm_models:c?.swarmModels??null,depends_on:D.length?D:null,created_by:A,user_id:b,current_plan:c?.currentPlan||null,open_blockers:c?.openBlockers||[],next_action:c?.nextAction||null,version:1};await u(E.id,D,d);let{data:F,error:G}=await d.from("tasks").insert(E).select().single();if(G&&"42703"===G.code){let{swarm_models:a,swarm:b,workflow_id:c,current_plan:e,open_blockers:f,next_action:g,version:h,depends_on:i,...j}=E;({data:F,error:G}=await d.from("tasks").insert(j).select().single())}if(G)throw G;if(!F)throw Error("Failed to create task");await x(F,b);let H=await z(F.id,b)||F,I=b||H.user_id;if(I){let a=H.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(H.depends_on)?H.depends_on:[],project:H.project||null,projectId:H.project_id||null,workflowId:H.workflow_id||null,createdBy:H.created_by||null};(0,g.lD)({taskId:H.id,userId:I,eventType:"task.created",title:H.title||null,slug:H.slug||null,stage:H.stage||null,status:H.status||null,timestamp:a,details:b})}return H}async function C(a,b,c,d){let f=(0,e.x)(),{frontmatter:h,body:i}=t(b),j="boolean"==typeof h.swarm?h.swarm:void 0,k=v(b),l="string"==typeof h.project_id?h.project_id:void 0,m=Object.prototype.hasOwnProperty.call(h,"provider"),n=Object.prototype.hasOwnProperty.call(h,"model"),o=Object.prototype.hasOwnProperty.call(h,"workflow_id"),p=Object.prototype.hasOwnProperty.call(h,"depends_on"),q=s(h.depends_on),r=s(d?.dependsOn),y=d?.dependsOn!==void 0||p,A=d?.dependsOn!==void 0?r:q,B={content:b,description:w(i),title:k,status:h.status,stage:h.stage,project:h.project,...void 0!==l?{project_id:l}:{},workflow_id:o?h.workflow_id:void 0,priority:h.priority,engine:h.engine,provider:m?h.provider:null,model:n?h.model:null,swarm:j,swarm_models:d?.swarmModels??void 0,...y?{depends_on:A.length?A:null}:{},updated_at:new Date().toISOString(),current_plan:d?.currentPlan??void 0,open_blockers:d?.openBlockers??void 0,next_action:d?.nextAction??void 0};Object.keys(B).forEach(a=>{void 0===B[a]&&delete B[a]}),y&&await u(a,A,f);let C=f.from("tasks").update({...B,version:f.rpc("increment_version")}).eq("id",a);c&&(C=C.eq("user_id",c)),d?.expectedVersion!==void 0&&(C=C.eq("version",d.expectedVersion));let{data:D,error:E}=await f.from("tasks").update({...B}).eq("id",a).select().single();if(E&&"42703"===E.code){let{swarm_models:b,swarm:d,workflow_id:e,current_plan:g,open_blockers:h,next_action:i,version:j,depends_on:k,...l}=B,m=f.from("tasks").update(l).eq("id",a);c&&(m=m.eq("user_id",c)),{data:D,error:E}=await m.select().single()}if(E)throw E;if(!D)throw Error("Failed to create task");await x(D,c);let F=await z(D.id,c)||D,G=c||F.user_id;if(G){let a=F.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(F.depends_on)?F.depends_on:[],project:F.project||null,projectId:F.project_id||null,workflowId:F.workflow_id||null,createdBy:F.created_by||null};(0,g.lD)({taskId:F.id,userId:G,eventType:"task.created",title:F.title||null,slug:F.slug||null,stage:F.stage||null,status:F.status||null,timestamp:a,details:b})}return F}async function D(a,b,c=25){let d=(0,e.x)(),{data:f,error:g}=await d.from("tasks").select("run_index").eq("id",a).single();if(g){if(g?.code==="42703")return;throw g}let h=Array.isArray(f.run_index)?f.run_index:[],i=[b,...h].slice(0,c),{error:j}=await d.from("tasks").update({run_index:i}).eq("id",a);if(j){if(j?.code==="42703")return;throw j}}async function E(a,b){let c=(0,e.x)().from("tasks").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}async function F(a){let b=(0,e.x)().from("projects").select("*, project_repos(*)");a&&(b=b.eq("user_id",a));let{data:c,error:d}=await b;if(d){if(j(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function G(a,b){let c=(0,e.x)().from("projects").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"projects"))return null;throw f}return d||null}async function H(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(j(d,"project_repos"))return[];throw d}return c||[]}[e,g]=i.then?(await i)():i;let ak=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function I(a,b){let c=(0,e.x)(),d=ak.test(a),f=c.from("projects").select("*");f=d?f.eq("id",a):f.eq("slug",a),b&&(f=f.eq("user_id",b));let g=await f.maybeSingle();if(g.error){if(j(g.error,"projects"))return null;throw g.error}let h=g.data;if(!h)return null;let i=await H(h.id);return{...h,repos:i}}async function J(a,b,c){if(!b.length)return[];let d=b.map(b=>({project_id:a,name:b.name,path:b.path??null,notes:b.notes??null})),{data:e,error:f}=await c.from("project_repos").insert(d).select("*");if(f){if(j(f,"project_repos"))return[];throw f}return e||[]}async function K(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=q(c),e=b.name.trim()||"project",f=await p(e,a,d),g={user_id:a,name:b.name.trim(),slug:f,description:b.description??null,workflow_id:b.workflow_id??null},{data:h,error:i}=await d.from("projects").insert(g).select("*").single();if(i)throw i;let j=await J(h.id,b.repos??[],d);return{...h,repos:j}}async function L(a,b,c,d){let e=q(d),f=ak.test(a),g=a;if(!f){let c=await G(a,b);if(!c)return null;g=c.id}let h={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");h.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(h.slug=a)}if(void 0!==c.description&&(h.description=c.description),void 0!==c.metadata&&(h.metadata=c.metadata),void 0!==c.ci_cd_info&&(h.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(h.workflow_id=c.workflow_id),Object.keys(h).length){let{error:a}=await e.from("projects").update(h).eq("id",g).eq("user_id",b);if(a)throw a}if(c.repos){let{error:a}=await e.from("project_repos").delete().eq("project_id",g);if(a&&!j(a,"project_repos"))throw a;await J(g,c.repos,e)}return I(g,b)}async function M(a,b,c){let d=q(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function N(a,b,c){let d=q(c),{data:e,error:f}=await d.from("projects").select("id, slug").eq("id",a).eq("user_id",b).maybeSingle();if(f)throw f;if(!e)throw Error("Project not found");let{data:g,error:h}=await d.from("tasks").select("id, project").eq("user_id",b).is("project_id",null);if(h)throw h;let i=String(e.slug||"").trim().toLowerCase(),j=(g||[]).filter(a=>{let b=String(a.project||"").trim().toLowerCase();return!b||"none"===b||b===i}).map(a=>a.id);if(!j.length)return{updatedCount:0,taskIds:[]};let{error:k}=await d.from("tasks").update({project:e.slug,project_id:e.id,updated_at:new Date().toISOString()}).eq("user_id",b).is("project_id",null).in("id",j);if(k)throw k;return{updatedCount:j.length,taskIds:j}}let al="00000000-0000-0000-0000-000000000001",am=[{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"}],an=new Map(am.map(a=>[a.id,a]));async function O(a){let b=(0,e.x)(),{error:c}=await b.from("workflows").upsert({id:al,user_id:a||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(c)throw c;let{error:d}=await b.from("workflow_nodes").upsert(am.map(a=>({...a,workflow_id:al,metadata:{}})),{onConflict:"id"});if(d)throw d;let{error:f}=await b.from("workflow_transitions").upsert([{workflow_id:al,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:al,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(f)throw f}async function P(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflows").select("*").or(`user_id.eq.${a},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(d){if(j(d,"workflows"))return[];throw d}return c||[]}async function Q(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"workflows"))return null;throw f}return d}async function R(a,b,c){let d=(0,e.x)(),f={updated_at:new Date().toISOString()};void 0!==c.definition&&(f.definition=c.definition),void 0!==c.name&&(f.name=c.name),void 0!==c.description&&(f.description=c.description);let{data:g,error:h}=await d.from("workflows").update(f).eq("id",a).select().single();if(h)throw h;return g}async function S(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_nodes").select("*").eq("workflow_id",a).order("position",{ascending:!0});if(d){if(j(d,"workflow_nodes"))return[];throw d}return c||[]}async function T(a,b,c){let d=(0,e.x)();if(a===al&&await O(b),!await Q(a,b))throw Error("Workflow not found");if(a===al){let b=c.map(b=>{let c=an.get(b.id);return c?{id:b.id,workflow_id:a,name:c.name,label:c.label,position:c.position,node_type:c.node_type,prompt:b.prompt??c.prompt,provider:b.provider??null,model:b.model??null,metadata:b.metadata??{}}:null}).filter(a=>!!a);if(b.length>0){let{error:a}=await d.from("workflow_nodes").upsert(b,{onConflict:"id"});if(a)throw a}return S(a)}return await Promise.all(c.map(async b=>{let c={};if(void 0!==b.prompt&&(c.prompt=b.prompt),void 0!==b.provider&&(c.provider=b.provider),void 0!==b.model&&(c.model=b.model),void 0!==b.metadata&&(c.metadata=b.metadata),0===Object.keys(c).length)return;let{error:e}=await d.from("workflow_nodes").update(c).eq("workflow_id",a).eq("id",b.id);if(e)throw e})),S(a)}async function U(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_transitions").select("*").eq("workflow_id",a).order("priority",{ascending:!0});if(d){if(j(d,"workflow_transitions"))return[];throw d}return c||[]}async function V(a,b){let c=await Q(a,b);if(!c)return null;let[d,e]=await Promise.all([S(a),U(a)]);return{...c,nodes:d,transitions:e}}function W(){return al}async function X(a,b={}){let c=(0,e.x)(),d=Math.max(1,Math.min(2e3,Number(b.limit??b.tail??500))),f="string"==typeof b.after&&b.after.trim()?b.after.trim():null,g=f?null:void 0===b.tail?d:Number(b.tail),h=null!==g&&Number.isFinite(g)&&g>0,i=c.from("task_logs").select("*").eq("task_id",a);b.nodeId&&(i=i.eq("node_id",b.nodeId)),i=f?i.gt("created_at",f).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d):h?i.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(d):i.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d);let{data:j,error:k}=await i;if(k)throw k;let l=j||[];return f?l:h?l.slice().reverse():l}async function Y(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("task_logs").insert({task_id:a,content:b,log_type:c,...d?{node_id:d}:{}}).select().single();if(h)throw h;return g}function Z(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,Math.round(b)):0}async function $(a){let b=(0,e.x)(),c={task_id:a.taskId,stage:a.stage,provider:a.provider??null,model:a.model??null,input_tokens:Z(a.inputTokens),output_tokens:Z(a.outputTokens),estimated_cost:function(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,b):0}(a.estimatedCost)},{data:d,error:f}=await b.from("task_costs").insert(c).select().single();if(f)throw f;return d}async function _(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_costs").select("*").eq("task_id",a).order("created_at",{ascending:!0});if(d)throw d;return c||[]}async function aa(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_comments").select("*").eq("task_id",a).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(d)throw d;return c||[]}async function ab(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("task_comments").insert({task_id:a,content:b,author_type:c,author_id:d??null}).select().single();if(h)throw h;return g}async function ac(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("task_comments").select("author_id, author_type").eq("id",a).single();if(f)throw f;if(!d)throw Error("Comment not found");if("user"!==d.author_type||d.author_id!==b)throw Error("Unauthorized");let{error:g}=await c.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",a).is("deleted_at",null);if(g)throw g}async function ad(a,b,c){let d=(0,e.x)().from("learnings").select("*").eq("scope",a).order("created_at",{ascending:!1});b&&(d=d.eq("scope_id",b)),c&&(d=d.eq("user_id",c));let{data:f,error:g}=await d;if(g)throw g;return f||[]}async function ae(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("learnings").insert({scope:a,scope_id:c,content:b,user_id:d}).select().single();if(h)throw h;return g}async function af(a,b){let c=(0,e.x)().from("learnings").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}let ao={INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},ap="00000000-0000-0000-0000-000000000001";async function ag(a,b){let c=(0,e.x)().from("stage_prompts").select("*").eq("workflow_id",b).order("stage",{ascending:!0});c=a?c.or(`user_id.eq.${a},is_default.eq.true`):c.eq("is_default",!0);let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function ah(a,b,c){let d=(0,e.x)();if(b){let{data:e}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("user_id",b).single();if(e)return e}let{data:f}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("is_default",!0).single();return f||null}async function ai(a,b,c=[],d,f,g){let h=(0,e.x)(),i={stage:a,prompt:b,outputs:c,user_id:d,is_default:!d,workflow_id:g};f&&(void 0!==f.swarm&&(i.swarm=f.swarm),void 0!==f.provider&&(i.provider=f.provider),void 0!==f.model&&(i.model=f.model),void 0!==f.swarm_models&&(i.swarm_models=f.swarm_models));let{data:j,error:k}=await h.from("stage_prompts").upsert(i,{onConflict:d?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(k)throw k;return j}async function aj(a,b){let c=(0,e.x)().from("stage_prompts").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}d()}catch(a){d(a)}})},35923:(a,b,c)=>{c.d(b,{W:()=>d});let d=[{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(a=>a.value)},55794:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{lD:()=>k});var e=c(79965),f=c(35923),g=a([e]);e=(g.then?(await g)():g)[0];class l extends Error{}function h(a){let b=Array.isArray(a.events)?a.events.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>f.W.includes(a)):[];return{id:String(a.id),user_id:String(a.user_id),url:String(a.url),name:null!=a.name?String(a.name):null,events:b,enabled:!1!==a.enabled,created_at:String(a.created_at),updated_at:String(a.updated_at)}}async function i(a,b){if(function(a,b){if(!a||"object"!=typeof a)return!1;let c=a.code,d="string"==typeof a.message?a.message:"";return"42P01"===c||"PGRST205"===c||d.includes(`relation "${b}" does not exist`)||d.includes(`Could not find the table 'agx.${b}'`)||d.includes(`Could not find the table 'public.${b}'`)}(b,a))throw new l(`Missing relation: ${a}`);throw b}async function j(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("notification_webhooks").select("*").eq("user_id",a).order("created_at",{ascending:!1});return(d&&await i("notification_webhooks",d),c)?(Array.isArray(c)?c:[c]).map(h):[]}async function k(a){if(!a.userId)return;let b=[];try{b=await j(a.userId)}catch(a){if(a instanceof l)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",a);return}let c=b.filter(b=>b.enabled&&b.events.includes(a.eventType));if(!c.length)return;let d=a.timestamp||new Date().toISOString(),e={eventType:a.eventType,taskId:a.taskId,userId:a.userId,title:a.title||null,slug:a.slug||null,stage:a.stage||null,previousStage:a.previousStage||null,nextStage:a.nextStage||null,status:a.status||null,error:a.error||null,timestamp:d,details:a.details||{}};await Promise.all(c.map(async a=>{try{let b=await fetch(a.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});b.ok||console.error(`[notifications] webhook ${a.url} responded with ${b.status}`)}catch(b){console.error(`[notifications] failed to send to ${a.url}`,b)}}))}d()}catch(a){d(a)}})}};
@@ -0,0 +1,74 @@
1
+ "use strict";exports.id=7552,exports.ids=[7552],exports.modules={19531:(a,b,c)=>{c.d(b,{$$:()=>h,It:()=>k,S0:()=>g,Y2:()=>j,Ze:()=>i,aV:()=>l});var d=c(10641),e=c(61062);let f=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function g(a){let b=a.trim();return b&&f.test(b)?b:null}function h(a){let b=a.trim();return b.length>0?b:null}function i(a){if("string"!=typeof a)return null;let b=a.trim();return b.length>0?b:null}async function j(a,b){let c=await a.json().catch(()=>({})),e=b.safeParse(c);return e.success?{ok:!0,data:e.data}:{ok:!1,response:d.NextResponse.json({error:"Invalid request payload",issues:e.error.issues.map(a=>({path:a.path.join("."),message:a.message}))},{status:400})}}function k(a,b,c){return d.NextResponse.json(a.parse(b),c)}function l(a){return k(e.pr,{error:a.message,expectedVersion:a.expectedVersion,actualVersion:a.actualVersion,currentGraphVersion:a.actualVersion},{status:409})}},37414:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fn:()=>n,Ky:()=>x,MH:()=>p,UL:()=>s,XT:()=>o,Zn:()=>r,kL:()=>m,vU:()=>u,wu:()=>w,xW:()=>q});var e=c(64939),f=a([e]);e=(f.then?(await f)():f)[0];let t=new Set(["replan","rollback"]);class u extends Error{constructor(a,b){super(`Execution graph version conflict: expected ${a}, found ${b}.`),this.name="GraphVersionConflictError",this.expectedVersion=a,this.actualVersion=b}}class v extends Error{constructor(a){super(`Execution graph not found: ${a}`),this.name="GraphNotFoundError"}}class w extends Error{constructor(a,b){super(`Execution graph ${a} is missing node(s): ${b.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=b}}class x extends Error{constructor(a,b){super(`Task ${a} is already bound to execution graph ${b}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=a,this.existingGraphId=b}}let y=null;function g(){return y||(y=new e.Pool({connectionString:process.env.DATABASE_URL||"postgresql://agx:agx@localhost:55432/agx",options:"-c search_path=agx,public"})),y}function h(a){return null==a?null:JSON.stringify(a)}function i(a){if(a instanceof Date)return a.toISOString();let b=Date.parse(a);return Number.isNaN(b)?a:new Date(b).toISOString()}function j(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:a}function k(a){let{type:b,status:c,metrics:d,output:e,...f}=a;return{type:b,status:c,config:f,output:e??null,metrics:d??null}}function l(a){let b={...j(a.payload)};return"eventType"in b||(b.eventType=a.event_type),"timestamp"in b||(b.timestamp=i(a.timestamp)),b}class z{constructor(a=g()){this.pool=a}async createGraph(a){return this.withTransaction(async b=>{let c=(await b.query(`SELECT id
2
+ FROM agx.execution_graphs
3
+ WHERE task_id = $1
4
+ LIMIT 1`,[a.taskId])).rows[0];if(c&&c.id!==a.id)throw new x(a.taskId,c.id);for(let[c,d]of(await b.query(`INSERT INTO agx.execution_graphs
5
+ (id, task_id, graph_version, mode, policy, done_criteria, created_at, updated_at)
6
+ VALUES
7
+ ($1, $2, $3, $4, $5::jsonb, $6::jsonb, $7::timestamptz, $8::timestamptz)
8
+ ON CONFLICT (id)
9
+ DO UPDATE SET
10
+ task_id = EXCLUDED.task_id,
11
+ graph_version = EXCLUDED.graph_version,
12
+ mode = EXCLUDED.mode,
13
+ policy = EXCLUDED.policy,
14
+ done_criteria = EXCLUDED.done_criteria,
15
+ created_at = EXCLUDED.created_at,
16
+ updated_at = EXCLUDED.updated_at`,[a.id,a.taskId,a.graphVersion,a.mode,h(a.policy),h(a.doneCriteria),a.createdAt,a.updatedAt]),await b.query("DELETE FROM agx.graph_nodes WHERE graph_id = $1",[a.id]),await b.query("DELETE FROM agx.graph_edges WHERE graph_id = $1",[a.id]),Object.entries(a.nodes))){let e=k(d);await b.query(`INSERT INTO agx.graph_nodes
17
+ (graph_id, node_id, type, status, config, output, metrics)
18
+ VALUES
19
+ ($1, $2, $3, $4, $5::jsonb, $6::jsonb, $7::jsonb)`,[a.id,c,e.type,e.status,h(e.config),h(e.output),h(e.metrics)])}for(let c of a.edges)await b.query(`INSERT INTO agx.graph_edges
20
+ (graph_id, from_id, to_id, type, condition, data_mapping)
21
+ VALUES
22
+ ($1, $2, $3, $4, $5, $6::jsonb)`,[a.id,c.from,c.to,c.type,c.condition??null,h(c.dataMapping??null)]);for(let c of a.versionHistory)await this.appendEventInternal(b,a.id,c);for(let c of a.runtimeEvents??[])await this.appendEventInternal(b,a.id,c);await b.query("UPDATE agx.tasks SET graph_id = $1 WHERE id = $2",[a.id,a.taskId]);let d=await this.getGraphForTask(b,a.taskId);if(!d)throw new v(a.id);return d})}async getGraph(a){return this.getGraphForTask(this.pool,a)}async updateNodeRuntime(a,b,c){return this.withTransaction(async d=>{let e=(await d.query(`SELECT id, graph_version
23
+ FROM agx.execution_graphs
24
+ WHERE id = $1
25
+ FOR UPDATE`,[a])).rows[0];if(!e)throw new v(a);if(e.graph_version!==c)throw new u(c,e.graph_version);let f=Object.keys(b);if(0===f.length){let b=await d.query(`SELECT graph_version, updated_at
26
+ FROM agx.execution_graphs
27
+ WHERE id = $1`,[a]);return{graphVersion:b.rows[0].graph_version,updatedAt:i(b.rows[0].updated_at)}}let g=await d.query(`SELECT node_id, type, status, config, output, metrics
28
+ FROM agx.graph_nodes
29
+ WHERE graph_id = $1
30
+ AND node_id = ANY($2::text[])`,[a,f]),k=new Map;for(let a of g.rows)k.set(a.node_id,a);let l=f.filter(a=>!k.has(a));if(l.length>0)throw new w(a,l);for(let c of f){let e=b[c],f=k.get(c);if(!f||!e)continue;let g={...j(f.config),...j(e.configPatch)};void 0!==e.startedAt&&(g.startedAt=e.startedAt),void 0!==e.completedAt&&(g.completedAt=e.completedAt),void 0!==e.actualMinutes&&(g.actualMinutes=e.actualMinutes),await d.query(`UPDATE agx.graph_nodes
31
+ SET status = $3,
32
+ metrics = $4::jsonb,
33
+ output = $5::jsonb,
34
+ config = $6::jsonb
35
+ WHERE graph_id = $1
36
+ AND node_id = $2`,[a,c,e.status??f.status,h(e.metrics??f.metrics),h(e.output??f.output),h(g)])}let m=await d.query(`UPDATE agx.execution_graphs
37
+ SET updated_at = NOW()
38
+ WHERE id = $1
39
+ RETURNING graph_version, updated_at`,[a]);return{graphVersion:m.rows[0].graph_version,updatedAt:i(m.rows[0].updated_at)}})}async updateGraphStructure(a,b,c){return this.withTransaction(async d=>{let e=(await d.query(`SELECT id, graph_version, mode, policy, done_criteria
40
+ FROM agx.execution_graphs
41
+ WHERE id = $1
42
+ FOR UPDATE`,[a])).rows[0];if(!e)throw new v(a);if(e.graph_version!==c)throw new u(c,e.graph_version);if(b.nodes)for(let[c,e]of(await d.query("DELETE FROM agx.graph_nodes WHERE graph_id = $1",[a]),Object.entries(b.nodes))){let b=k(e);await d.query(`INSERT INTO agx.graph_nodes
43
+ (graph_id, node_id, type, status, config, output, metrics)
44
+ VALUES
45
+ ($1, $2, $3, $4, $5::jsonb, $6::jsonb, $7::jsonb)`,[a,c,b.type,b.status,h(b.config),h(b.output),h(b.metrics)])}if(b.edges)for(let c of(await d.query("DELETE FROM agx.graph_edges WHERE graph_id = $1",[a]),b.edges))await d.query(`INSERT INTO agx.graph_edges
46
+ (graph_id, from_id, to_id, type, condition, data_mapping)
47
+ VALUES
48
+ ($1, $2, $3, $4, $5, $6::jsonb)`,[a,c.from,c.to,c.type,c.condition??null,h(c.dataMapping??null)]);let f=await d.query(`UPDATE agx.execution_graphs
49
+ SET mode = $2,
50
+ policy = $3::jsonb,
51
+ done_criteria = $4::jsonb,
52
+ updated_at = NOW()
53
+ WHERE id = $1
54
+ RETURNING graph_version, updated_at`,[a,b.mode??e.mode,h(b.policy??e.policy??{}),h(b.doneCriteria??e.done_criteria??{})]);return{graphVersion:f.rows[0].graph_version,updatedAt:i(f.rows[0].updated_at)}})}async appendEvent(a,b){await this.appendEventInternal(this.pool,a,b)}async getGraphForTask(a,b){let c=(await a.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, created_at, updated_at
55
+ FROM agx.execution_graphs
56
+ WHERE task_id = $1
57
+ ORDER BY updated_at DESC
58
+ LIMIT 1`,[b])).rows[0];if(!c)return null;let d=await a.query(`SELECT node_id, type, status, config, output, metrics
59
+ FROM agx.graph_nodes
60
+ WHERE graph_id = $1
61
+ ORDER BY node_id ASC`,[c.id]),e=await a.query(`SELECT from_id, to_id, type, condition, data_mapping
62
+ FROM agx.graph_edges
63
+ WHERE graph_id = $1
64
+ ORDER BY from_id ASC, to_id ASC`,[c.id]),f=await a.query(`SELECT event_type, payload, "timestamp" AS timestamp
65
+ FROM agx.graph_events
66
+ WHERE graph_id = $1
67
+ ORDER BY "timestamp" ASC, event_type ASC`,[c.id]),g={};for(let a of d.rows)g[a.node_id]=function(a){let b={...j(a.config),type:a.type,status:a.status};return null!==a.metrics&&(b.metrics=a.metrics),null!==a.output&&(b.output=a.output),b}(a);let h=e.rows.map(a=>({from:a.from_id,to:a.to_id,type:a.type,...a.condition?{condition:a.condition}:{},...a.data_mapping?{dataMapping:a.data_mapping}:{}})),k=[],m=[];for(let a of f.rows){let b=l(a);t.has(b.eventType)?k.push(b):m.push(b)}return{id:c.id,taskId:c.task_id,graphVersion:c.graph_version,mode:c.mode,nodes:g,edges:h,policy:c.policy??{},doneCriteria:c.done_criteria??{},versionHistory:k,runtimeEvents:m,createdAt:i(c.created_at),updatedAt:i(c.updated_at)}}async appendEventInternal(a,b,c){await a.query(`INSERT INTO agx.graph_events
68
+ (graph_id, event_type, payload, "timestamp")
69
+ VALUES
70
+ ($1, $2, $3::jsonb, $4::timestamptz)`,[b,c.eventType,h(c),c.timestamp])}async withTransaction(a){if(!this.pool.connect)return a(this.pool);let b=await this.pool.connect();try{await b.query("BEGIN");let c=await a(b);return await b.query("COMMIT"),c}catch(a){throw await b.query("ROLLBACK"),a}finally{b.release?.()}}}function m(a){return new z(a)}let A=new z;async function n(a){return A.createGraph(a)}async function o(a){return A.getGraph(a)}async function p(a,b,c){return A.updateNodeRuntime(a,b,c)}async function q(a,b,c){return A.updateGraphStructure(a,b,c)}async function r(a,b){return A.appendEvent(a,b)}async function s(a,b={}){let c=["graph_id = $1"],d=[a],e=2;b.eventType&&(c.push(`event_type = $${e}`),d.push(b.eventType),e++),b.since&&(c.push(`"timestamp" >= $${e}::timestamptz`),d.push(b.since),e++);let f=b.limit??1e3,h=`SELECT event_type, payload, "timestamp" AS timestamp
71
+ FROM agx.graph_events
72
+ WHERE ${c.join(" AND ")}
73
+ ORDER BY "timestamp" ASC, event_type ASC
74
+ LIMIT $${e}`;d.push(f);let i=g();return(await i.query(h,d)).rows.map(a=>l(a))}d()}catch(a){d(a)}})},61062:(a,b,c)=>{c.d(b,{BF:()=>X,D$:()=>ab,EF:()=>ad,G3:()=>Z,Hk:()=>R,S4:()=>V,Wp:()=>Q,Xb:()=>o,fJ:()=>W,hC:()=>ae,hV:()=>O,j5:()=>T,n6:()=>Y,ne:()=>S,pr:()=>_,u$:()=>$,xN:()=>U});var d=c(49764);let e=d.string().trim().min(1).refine(a=>!Number.isNaN(Date.parse(a)),{message:"Invalid ISO timestamp"}),f=d.string().trim().min(1),g=d.enum(["SIMPLE","PROJECT"]),h=d.enum(["work","gate","fork","join","conditional","root"]),i=d.enum(["pending","running","awaiting_human","done","passed","failed","blocked","skipped","paused","stopped"]),j=d.enum(["progress","quality_gate","design_gate","handoff_gate","approval_gate"]),k=d.enum(["fifo","critical_path","shortest_first"]),l=d.object({tokensUsed:d.number(),latencyMs:d.number(),retryCount:d.number(),errorMessages:d.array(d.string()).optional()}),m=d.object({backoffMs:d.number(),onExhaust:d.enum(["escalate","fail","skip"])}),n=d.object({id:f,content:f,author:f,createdAt:e}),o=d.object({content:d.string().trim().min(1,"Comment content is required")}),p=d.object({type:h,status:i,deps:d.array(d.string()),estimateMinutes:d.number().optional(),actualMinutes:d.number().optional(),startedAt:e.optional(),completedAt:e.nullable().optional(),stage:d.string().optional(),lane:d.string().optional(),metrics:l.optional(),comments:d.array(n).optional()}),q=d.object({check:f,passed:d.boolean(),message:d.string().optional(),latencyMs:d.number().optional(),details:d.record(d.string(),d.unknown()).optional()}),r=d.object({type:d.enum(["auto","human","hybrid"]),checks:d.array(d.string()).optional(),timeout:d.number().optional()}),s=d.object({passed:d.boolean(),checks:d.array(q),verifiedAt:e,verifiedBy:d.enum(["agent","human"])}),t=p.extend({type:d.literal("work"),status:d.enum(["pending","running","done","failed","blocked","skipped","paused","stopped"]),workType:d.enum(["implementation","spike"]).optional(),title:f,description:d.string().optional(),where:d.array(d.string()).optional(),whatChanges:d.array(d.string()).optional(),acceptanceCriteria:d.array(d.string()).optional(),todos:d.array(d.string()).optional(),verification:d.array(d.string()).optional(),generatedByPlanNodeId:d.string().optional(),planNodeKey:d.string().optional(),attempts:d.number(),maxAttempts:d.number(),retryPolicy:m,output:d.record(d.string(),d.unknown()).optional()}),u=p.extend({type:d.literal("gate"),status:d.enum(["pending","running","awaiting_human","passed","failed","skipped","paused","stopped"]),gateType:j,required:d.boolean(),verificationStrategy:r,verificationResult:s.optional()}),v=p.extend({type:d.literal("root"),status:i,title:f,objective:d.string(),criteria:d.array(d.string()).optional(),graphCreated:d.boolean(),planVersions:d.array(d.number()).optional()}),w=p.extend({type:d.literal("fork"),status:d.enum(["pending","done","skipped"])}),x=p.extend({type:d.literal("join"),status:d.enum(["pending","running","done","failed","skipped","paused","stopped"]),joinStrategy:d.enum(["all","any","n_of_m"]),requiredCount:d.number().optional()}),y=p.extend({type:d.literal("conditional"),status:d.enum(["pending","running","done","failed","skipped","paused","stopped"]),condition:d.object({expression:f,inputFrom:f}),thenBranch:d.array(d.string()),elseBranch:d.array(d.string()),evaluatedTo:d.enum(["then","else"]).optional()}),z=d.discriminatedUnion("type",[v,t,u,w,x,y]),A=d.object({from:f,to:f,type:d.enum(["hard","soft"]),condition:d.enum(["on_success","on_failure","always"]).optional(),dataMapping:d.array(d.object({sourceField:f,targetField:f})).optional()}),B=d.object({replanBudgetRemaining:d.number(),replanBudgetInitial:d.number(),verifyBudgetRemaining:d.number(),verifyBudgetInitial:d.number(),maxConcurrentAutoChecks:d.number(),immutableRequiredGates:d.boolean(),maxConcurrent:d.number(),priorityMode:k,nodeTimeoutMs:d.number(),graphTimeoutMs:d.number()}),C=d.object({allRequiredGatesPassed:d.boolean(),noRunnableOrPendingWork:d.boolean(),completionSinkNodeIds:d.array(d.string()).optional(),customCriteria:d.array(d.string()).optional()}),D=d.object({actorId:f,actorType:d.enum(["user","service","system"]),action:d.enum(["graph_create","graph_replan","graph_rollback","node_status_transition","gate_verification","budget_consumption"]),projectId:d.string().optional()}),E=d.object({eventType:d.literal("replan"),fromVersion:d.number(),toVersion:d.number(),timestamp:e,reason:f,triggeredBy:d.enum(["agent","human"]),triggeredAtNodeId:f,changes:d.object({addedNodes:d.array(d.string()),removedNodes:d.array(d.string()),rewiredDeps:d.array(d.string()),estimateDeltas:d.record(d.string(),d.number())}),audit:D.optional()}),F=d.object({eventType:d.literal("rollback"),toCheckpoint:f,timestamp:e,reason:f,triggeredBy:d.enum(["agent","human"]),audit:D.optional()}),G=d.object({eventType:d.literal("graph_created"),timestamp:e,mode:g,nodeCount:d.number(),edgeCount:d.number(),audit:D.optional()}),H=d.object({eventType:d.literal("node_status"),nodeId:f,fromStatus:i,toStatus:i,timestamp:e,reason:d.string().optional(),audit:D.optional()}),I=d.object({eventType:d.literal("gate_verification"),nodeId:f,timestamp:e,result:s,audit:D.optional()}),J=d.object({eventType:d.literal("budget_consumed"),budgetType:d.enum(["replan","verify"]),remaining:d.number(),timestamp:e,triggerNodeId:f,audit:D.optional()}),K=d.union([E,F]),L=d.union([G,H,I,J]),M=d.object({id:f,taskId:f,graphVersion:d.number(),mode:g,nodes:d.record(d.string(),z),edges:d.array(A),policy:B,doneCriteria:C,versionHistory:d.array(K),runtimeEvents:d.array(L).optional(),createdAt:e,updatedAt:e}),N=d.object({type:h.optional(),status:i.optional(),deps:d.array(d.string()).optional(),estimateMinutes:d.number().optional(),actualMinutes:d.number().optional(),startedAt:e.optional(),completedAt:e.nullable().optional(),stage:d.string().optional(),lane:d.string().optional(),metrics:l.optional(),title:d.string().optional(),description:d.string().optional(),workType:d.enum(["implementation","spike"]).optional(),where:d.array(d.string()).optional(),whatChanges:d.array(d.string()).optional(),acceptanceCriteria:d.array(d.string()).optional(),todos:d.array(d.string()).optional(),verification:d.array(d.string()).optional(),generatedByPlanNodeId:d.string().optional(),planNodeKey:d.string().optional(),attempts:d.number().optional(),maxAttempts:d.number().optional(),retryPolicy:m.partial().optional(),output:d.record(d.string(),d.unknown()).optional(),gateType:j.optional(),required:d.boolean().optional(),verificationStrategy:r.partial().optional(),verificationResult:s.optional(),joinStrategy:d.enum(["all","any","n_of_m"]).optional(),requiredCount:d.number().optional(),condition:d.object({expression:d.string().optional(),inputFrom:d.string().optional()}).optional(),thenBranch:d.array(d.string()).optional(),elseBranch:d.array(d.string()).optional(),evaluatedTo:d.enum(["then","else"]).optional(),objective:d.string().optional(),graphCreated:d.boolean().optional(),criteria:d.array(d.string()).optional()}).passthrough(),O=d.object({graph:M.optional(),mode:g.optional(),nodes:d.record(d.string(),N).optional(),edges:d.array(A).optional(),policy:B.partial().optional(),doneCriteria:C.partial().optional(),ifMatchGraphVersion:d.number().int().positive().optional(),projectId:f.optional(),project_id:f.optional(),migration:d.boolean().optional()}),P=d.object({status:i.optional(),metrics:l.optional(),output:d.record(d.string(),d.unknown()).optional(),startedAt:e.optional(),completedAt:e.nullable().optional(),actualMinutes:d.number().optional(),configPatch:d.record(d.string(),d.unknown()).optional()}),Q=d.object({ifMatchGraphVersion:d.number().int().positive(),nodeUpdates:d.record(d.string(),P),budgetUpdates:d.array(d.object({budgetType:d.enum(["replan","verify"]),remaining:d.number(),triggerNodeId:f})).optional(),projectId:f.optional(),project_id:f.optional()}),R=d.object({graph:M.optional(),graphId:f.optional(),mode:g.optional(),nodes:d.record(d.string(),z.or(N)).optional(),edges:d.array(A).optional(),policy:B.partial().optional(),doneCriteria:C.partial().optional(),runtimeEvents:d.array(L).optional(),status:d.string().optional(),startedAt:e.optional(),completedAt:e.nullable().optional(),timedOutAt:e.optional(),ifMatchGraphVersion:d.number().int().positive().optional(),projectId:f.optional(),project_id:f.optional()}).passthrough();d.union([Q,R]);let S=d.object({ifMatchGraphVersion:d.number().int().positive(),triggeredAtNodeId:f,reason:f,projectId:f.optional(),project_id:f.optional(),proposedChanges:d.object({addNodes:d.record(d.string(),N).optional(),removeNodes:d.array(d.string()).optional(),rewireEdges:d.array(A).optional(),estimateDeltas:d.record(d.string(),d.number()).optional()}).optional()}),T=d.object({ifMatchGraphVersion:d.number().int().positive(),toCheckpoint:f,reason:d.string().optional(),projectId:f.optional(),project_id:f.optional()}),U=d.object({ifMatchGraphVersion:d.number().int().positive(),startedAt:e.optional(),projectId:f.optional(),project_id:f.optional()}),V=d.object({ifMatchGraphVersion:d.number().int().positive(),output:d.record(d.string(),d.unknown()).optional(),metrics:l.optional(),completedAt:e.nullable().optional(),actualMinutes:d.number().optional(),projectId:f.optional(),project_id:f.optional()}),W=d.object({ifMatchGraphVersion:d.number().int().positive(),error:f,retry:d.boolean().optional(),metrics:l.optional(),completedAt:e.nullable().optional(),projectId:f.optional(),project_id:f.optional()}),X=d.object({ifMatchGraphVersion:d.number().int().positive(),approved:d.boolean(),feedback:d.string().optional(),checks:d.array(q).optional(),completedAt:e.nullable().optional(),projectId:f.optional(),project_id:f.optional()}),Y=d.object({graph:M}),Z=d.object({graphId:f,nodeId:f,graphVersion:d.number(),updatedAt:e}),$=d.object({update:d.object({graphVersion:d.number(),updatedAt:e})}),_=d.object({error:f,expectedVersion:d.number(),actualVersion:d.number(),currentGraphVersion:d.number()}),aa=d.object({version:d.number(),eventType:d.enum(["replan","rollback"]),timestamp:e,reason:f,triggeredBy:d.enum(["agent","human"]),diff:d.object({addedNodes:d.array(d.string()),removedNodes:d.array(d.string()),rewiredDeps:d.array(d.string()),estimateDeltas:d.record(d.string(),d.number())}),checkpointNodeId:d.string().optional()}),ab=d.object({graphId:f,taskId:f,currentGraphVersion:d.number(),history:d.array(aa)}),ac=d.object({totalNodes:d.number(),completedNodes:d.number(),failedNodes:d.number(),totalTokensUsed:d.number(),totalLatencyMs:d.number(),estimatedMinutes:d.number(),actualMinutes:d.number(),replanCount:d.number(),gatePassRate:d.number()}),ad=d.object({graphId:f,taskId:f,currentGraphVersion:d.number(),metrics:ac}),ae=d.object({error:f})}};
@@ -0,0 +1,12 @@
1
+ exports.id=7625,exports.ids=[7625],exports.modules={988:(a,b,c)=>{"use strict";c.d(b,{PostHogAnalytics:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call PostHogAnalytics() from the server but PostHogAnalytics is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/PostHogAnalytics.tsx","PostHogAnalytics")},4599:(a,b,c)=>{"use strict";c.d(b,{Ay:()=>S});var d=c(21124),e=c(23312),f=c(38301),g=c(85291),h=c(47089);let i=JSON.parse('{"placeholder":{"headline":"Start a conversation","body":"No messages yet in this scope. Draft a note to keep the thread going.","cta":"Draft a message","composerPlaceholder":"Tell me what you need help with..."},"loading":{"status":"Loading conversation...","helper":"Hang tight while we pull in the latest history."},"active":{"composerPlaceholder":"Ask a question or describe a task","statusBadge":{"connected":"Connected","offline":"Offline"},"helpText":"Press Enter to send."},"missingMetadata":{"headline":"Scope unavailable","body":"The selected project or task is no longer accessible. Pick another scope to continue.","primaryAction":"Go global","secondaryAction":"Try project scope","helper":"Composer disabled until you select a valid scope."},"error":{"headline":"Something went wrong","body":"We couldn\'t load this conversation. Retry to refresh or keep working offline with cached context.","retry":"Retry","cachedHint":"Showing cached messages below where available."}}');var j=c(71179);function k({onComposeFocus:a}){return(0,d.jsxs)("section",{className:"chat-panel-state-card","aria-live":"polite",children:[(0,d.jsx)("div",{className:"chat-panel-state-card__icon",children:(0,d.jsx)(j.A,{size:28,"aria-hidden":"true"})}),(0,d.jsx)("h3",{className:"chat-panel-state-card__heading",children:i.placeholder.headline}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.placeholder.body}),(0,d.jsx)("button",{type:"button",className:"chat-panel-state-card__cta",onClick:a,children:i.placeholder.cta})]})}function l(){return(0,d.jsxs)("section",{className:"chat-panel-skeleton",role:"status","aria-live":"polite","aria-busy":"true",children:[(0,d.jsx)("div",{className:"chat-panel-skeleton__bar"}),(0,d.jsx)("div",{className:"chat-panel-skeleton__bar"}),(0,d.jsx)("div",{className:"chat-panel-skeleton__bar"}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.loading.helper}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.loading.status})]})}function m({onPrimaryAction:a,onSecondaryAction:b}){return(0,d.jsxs)("section",{className:"chat-panel-warning",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("h3",{className:"chat-panel-state-card__heading",children:i.missingMetadata.headline}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.missingMetadata.body}),(0,d.jsxs)("div",{className:"chat-panel-actions",children:[(0,d.jsx)("button",{type:"button",onClick:a,children:i.missingMetadata.primaryAction}),(0,d.jsx)("button",{type:"button",className:"secondary",onClick:b,children:i.missingMetadata.secondaryAction})]}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.missingMetadata.helper})]})}function n({messages:a,label:b="Chat history"}){return(0,d.jsx)("div",{className:"chat-panel-message-log",role:"log","aria-label":b,children:a.map(a=>(0,d.jsxs)("article",{className:`chat-panel-message chat-panel-message--${a.role}`,children:[(0,d.jsx)("p",{children:a.text}),(0,d.jsx)("span",{className:"chat-panel-message__meta",children:a.timestamp})]},a.id))})}function o({onRetry:a,messages:b}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("section",{className:"chat-panel-error",role:"alert","aria-live":"assertive",children:[(0,d.jsx)("h3",{className:"chat-panel-state-card__heading",children:i.error.headline}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.error.body}),(0,d.jsx)("div",{className:"chat-panel-actions",children:(0,d.jsx)("button",{type:"button",onClick:a,children:i.error.retry})}),(0,d.jsx)("p",{className:"chat-panel-state-card__copy",children:i.error.cachedHint})]}),(0,d.jsx)(n,{messages:b,label:"Cached history"})]})}var p=c(53537),q=c(67698),r=c(80834),s=c(49980),t=c(4289),u=c(31468),v=c(94617);let w=new(c(44921)).A({html:!1,linkify:!0,breaks:!0});function x({text:a}){let b=(0,f.useMemo)(()=>w.render(a||"").replace(/<a\s+href=/g,'<a target="_blank" rel="noreferrer noopener" href='),[a]);return(0,d.jsx)("div",{className:"chat-panel-markdown",dangerouslySetInnerHTML:{__html:b}})}let y=(0,f.createContext)(!0);function z(){return(0,d.jsx)(p.X,{className:"chat-panel-message chat-panel-message--user",children:(0,d.jsx)(q.rb,{})})}function A(){return(0,d.jsx)(p.X,{className:"chat-panel-message chat-panel-message--assistant",children:(0,d.jsx)(q.rb,{components:{Text:({text:a})=>(0,d.jsx)(x,{text:a}),Empty:()=>null},unstable_showEmptyOnNonTextEnd:!1})})}function B(){return(0,d.jsx)(r.v,{running:!0,children:(0,d.jsx)("div",{className:"chat-panel-typing-indicator",role:"status","aria-live":"polite","aria-label":"Assistant is typing",children:(0,d.jsxs)("span",{className:"chat-panel-typing-indicator__dots","aria-hidden":"true",children:[(0,d.jsx)("span",{className:"chat-panel-typing-indicator__dot"}),(0,d.jsx)("span",{className:"chat-panel-typing-indicator__dot"}),(0,d.jsx)("span",{className:"chat-panel-typing-indicator__dot"})]})})})}function C(){return(0,f.useContext)(y)?(0,d.jsx)(s.R,{children:(0,d.jsx)("div",{className:"chat-panel-message chat-panel-message--assistant","aria-live":"polite",children:"Hello! How can I help?"})}):null}function D(){return(0,d.jsx)(t.K,{className:"chat-panel-assistant-thread",children:(0,d.jsxs)(u.c,{className:"chat-panel-assistant-thread__viewport",turnAnchor:"top",children:[(0,d.jsx)(C,{}),(0,d.jsx)(v.eD,{components:{UserMessage:z,AssistantMessage:A}}),(0,d.jsx)(B,{})]})})}function E({stateKey:a,messages:b,onPlaceholderCTA:c,onScopeChange:e,onRetry:f}){switch(a){case"placeholder":return(0,d.jsx)(k,{onComposeFocus:c});case"loading":return(0,d.jsx)(l,{});case"active":return(0,d.jsx)(D,{});case"missingMetadata":return(0,d.jsx)(m,{onPrimaryAction:()=>e("global"),onSecondaryAction:()=>e("project")});case"error":return(0,d.jsx)(o,{onRetry:f,messages:b});default:return null}}var F=c(53569),G=c(29662),H=c(18483),I=c(12483);function J({placeholder:a,helpText:b,inputRef:c,onSubmit:e}){return(0,d.jsxs)(F.U,{className:"chat-panel-assistant-composer",onSubmit:a=>{e?.()},children:[(0,d.jsx)(G.e,{ref:c,className:"chat-panel-footer__composer","data-chat-assistant-input":"true",placeholder:a,submitMode:"enter","aria-label":"Chat composer"}),(0,d.jsxs)("div",{className:"chat-panel-footer__actions",children:[(0,d.jsx)("span",{className:"chat-panel-footer__hint",children:b}),(0,d.jsx)(r.v,{running:!0,children:(0,d.jsx)(H.W,{className:"chat-panel-footer__stop","aria-label":"Stop current response",title:"Stop current response",children:"Stop"})}),(0,d.jsx)(r.v,{running:!1,children:(0,d.jsx)(I.y,{className:"chat-panel-footer__send",onClick:e,children:"Send"})})]})]})}var K=c(663),L=c(26414),M=c(78071);function N({scope:a,contextId:b,seedMessages:c,children:e}){let g=(0,f.useMemo)(()=>c.filter(a=>a.text.trim().length>0).map(a=>({id:a.id,role:a.role,parts:[{type:"text",text:a.text}]})),[c]),[h]=(0,f.useState)(g),[i,j]=(0,f.useState)(!1);(0,f.useRef)(!1),(0,f.useRef)(null),(0,f.useRef)(""),(0,f.useRef)("");let k=(0,f.useMemo)(()=>new L.i({api:"/api/chat",body:{scope:a,contextId:b}}),[a,b]),l=(0,M.u)({transport:k,messages:h,id:"agx-chat-workspace-shared"});return(0,d.jsx)(K.o,{runtime:l,children:(0,d.jsx)(y.Provider,{value:i,children:e})})}function O({isOpen:a,onClose:b,activeScope:c,onScopeChange:e,panelSide:j,onPanelSideChange:k,onPanelSideToggle:l,stateKey:m,messages:n,metadata:o,onRetry:p}){let q=(0,f.useRef)(null),r=(0,f.useRef)(null),s=function(){let[a,b]=(0,f.useState)(()=>"desktop");return{breakpoint:a,isDesktop:"desktop"===a,isTablet:"tablet"===a,isBottomSheet:"mobile"===a}}();!function({isOpen:a,panelRef:b,onClose:c,initialFocusRef:d}){(0,f.useRef)(null)}({isOpen:a,panelRef:r,onClose:b,initialFocusRef:q});let t="active"===m,u=(0,f.useCallback)(()=>{if(t){let a=r.current?.querySelector("[data-chat-assistant-input='true']");a?.focus();return}q.current?.focus()},[t]),{sheetHandleProps:v}=function({enabled:a,isOpen:b,panelRef:c,onClose:d}){let e=(0,f.useRef)(null),g=(0,f.useRef)(null),h=(0,f.useRef)(null),i=(0,f.useRef)(0),j=(0,f.useCallback)(()=>{let a=h.current;a&&(window.removeEventListener("pointermove",a.move),window.removeEventListener("pointerup",a.end),window.removeEventListener("pointercancel",a.end),h.current=null)},[]),k=(0,f.useCallback)(a=>{let b=c.current;b&&b.style.setProperty("--sheet-drag-offset",`${a}px`)},[c]),l=(0,f.useCallback)(a=>{let b=c.current;b&&(b.style.removeProperty("transition"),a||b.style.setProperty("--sheet-drag-offset","0px"));let f=e.current?.pointerId,h=g.current;j(),h&&void 0!==f&&h.releasePointerCapture(f),e.current=null,i.current=0,a&&d()},[j,d,c]);return{sheetHandleProps:{onPointerDown:(0,f.useCallback)(d=>{if(!a||!b||!d.isPrimary)return;let f=c.current;if(!f)return;d.preventDefault(),d.stopPropagation(),j();let m=f.getBoundingClientRect();e.current={startY:d.clientY,height:m.height,pointerId:d.pointerId},g.current=d.currentTarget,f.style.transition="none",k(0);let n=a=>{if(!e.current)return;let b=Math.max(0,Math.min(a.clientY-e.current.startY,e.current.height));i.current=b,k(b)},o=()=>{let a=e.current?.height??0;l(i.current>.35*a)};h.current={move:n,end:o},window.addEventListener("pointermove",n),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),d.currentTarget.setPointerCapture(d.pointerId)},[j,a,l,b,c,k])}}}({enabled:s.isBottomSheet,isOpen:a,panelRef:r,onClose:b}),{panelClassName:w,panelStyle:x,isDragging:y,snapPreviewSide:z,dragHandleProps:A,resizeHandleProps:B}=function({enabled:a,isOpen:b,panelRef:c,panelSide:d,onPanelSideChange:e}){let[g,h]=(0,f.useState)({left:16,top:16,height:680,initialized:!1}),[i,j]=(0,f.useState)(!1),[k,l]=(0,f.useState)(null),[m,n]=(0,f.useState)(()=>!a);(0,f.useRef)(g),(0,f.useRef)(!1),(0,f.useRef)(!1);let o=(0,f.useRef)(null),p=(0,f.useRef)(null),q=(0,f.useCallback)(()=>{let a=o.current;a&&(window.removeEventListener("pointermove",a.move),window.removeEventListener("pointerup",a.end),window.removeEventListener("pointercancel",a.end),o.current=null)},[]),r=(0,f.useCallback)(()=>{let a=p.current,b=c.current;if(b&&b.style.removeProperty("transition"),q(),a?.target&&void 0!==a.pointerId)try{a.target.releasePointerCapture(a.pointerId)}catch{}p.current=null,j(!1),l(null)},[q,c]),s=(0,f.useCallback)(c=>{a&&b&&c.isPrimary},[r,a,b,e,c]),t=(0,f.useCallback)(c=>{a&&b&&c.isPrimary},[r,a,b,c]);return{panelStyle:a&&g.initialized?{left:`${g.left}px`,bottom:"16px",height:`${g.height}px`}:void 0,panelClassName:a?"chat-panel-shell__panel--windowed":"",isDragging:i,snapPreviewSide:k,dragHandleProps:{onPointerDown:s},resizeHandleProps:{onPointerDown:t}}}({enabled:!s.isBottomSheet,isOpen:a,panelRef:r,panelSide:j,onPanelSideChange:k}),C=["chat-panel-shell",s.isBottomSheet?"chat-panel-shell--bottom-sheet":s.isTablet?"chat-panel-shell--tablet":"chat-panel-shell--desktop",a?"is-open":""].filter(Boolean).join(" "),D=i[m],F="string"==typeof D.composerPlaceholder?D.composerPlaceholder:"Type a message",G="string"==typeof D.helpText?D.helpText:"Press Enter to send.",H=(0,d.jsxs)("div",{className:"chat-panel-shell__frame",children:[(0,d.jsxs)("header",{className:`chat-panel-shell__header ${!s.isBottomSheet?"chat-panel-shell__header--draggable":""}`,...!s.isBottomSheet?A:{},children:[(0,d.jsx)("div",{className:"chat-panel-shell__title",children:(0,d.jsx)("h2",{id:"global-chat-panel-title",children:"Assistant"})}),(0,d.jsxs)("div",{className:"chat-panel-shell__header-actions",children:[!s.isBottomSheet&&(0,d.jsx)("button",{type:"button",className:"chat-panel-shell__header-button",onClick:l,title:"right"===j?"Move chat to left":"Move chat to right","aria-label":"right"===j?"Move chat panel to left":"Move chat panel to right",children:(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"})}),(0,d.jsx)("button",{type:"button",className:"chat-panel-shell__header-button",onClick:b,"aria-label":"Close chat panel",children:(0,d.jsx)(h.A,{size:16,"aria-hidden":"true"})})]})]}),(0,d.jsx)("div",{className:"chat-panel-shell__body",role:"region","aria-live":"error"===m?"assertive":"polite","aria-busy":"loading"===m,children:(0,d.jsx)(E,{stateKey:m,messages:n,onPlaceholderCTA:u,onScopeChange:e,onRetry:p})}),(0,d.jsx)("footer",{className:"chat-panel-shell__footer",children:t?(0,d.jsx)(J,{inputRef:q,placeholder:F,helpText:G}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("textarea",{ref:q,className:"chat-panel-footer__composer",placeholder:F,disabled:!0,value:"",readOnly:!0,"aria-label":"Chat composer"}),(0,d.jsxs)("div",{className:"chat-panel-footer__actions",children:[(0,d.jsx)("span",{className:"chat-panel-footer__hint",children:G}),(0,d.jsx)("button",{type:"button",className:"chat-panel-footer__send",disabled:!0,children:"Send"})]})]})}),!s.isBottomSheet&&(0,d.jsx)("div",{className:"chat-panel-shell__resize-handle","aria-label":"Resize chat panel height",role:"separator","aria-orientation":"horizontal",...B})]});return(0,d.jsxs)("div",{className:C,"aria-hidden":!a,"data-breakpoint":s.breakpoint,"data-panel-side":j,"data-dragging":y?"true":"false","data-snap-preview-side":z??"none",children:[!s.isBottomSheet&&y&&(0,d.jsxs)("div",{className:"chat-panel-shell__snap-indicators","aria-hidden":"true",children:[(0,d.jsx)("div",{className:`chat-panel-shell__snap-indicator ${"left"===z?"is-active":""}`,"data-side":"left",children:"Snap left"}),(0,d.jsx)("div",{className:`chat-panel-shell__snap-indicator ${"right"===z?"is-active":""}`,"data-side":"right",children:"Snap right"})]}),(0,d.jsxs)("div",{className:["chat-panel-shell__panel",w].filter(Boolean).join(" "),role:"dialog","aria-labelledby":"global-chat-panel-title",ref:r,style:x,children:[s.isBottomSheet&&(0,d.jsx)("div",{className:"chat-panel-sheet-handle","aria-hidden":"true",...v}),t?(0,d.jsx)(N,{scope:c,contextId:o.contextId,seedMessages:n,children:H},"workspace-shared"):H]})]})}let P={global:[],project:[],task:[]},Q=a=>{try{return decodeURIComponent(a)}catch{return a}},R=(a,b,c)=>"task"!==a||c?.hasTaskContext?"active":"missingMetadata";function S({isOpen:a,onClose:b,launchContext:c}){let[g,h]=(0,f.useState)(null),[i,j]=(0,f.useState)("global"),[k,l]=(0,f.useState)("active"),[m,n]=(0,f.useState)("active"),[o,p]=(0,f.useState)(()=>"right"),[q]=(0,f.useState)(P);(0,f.useRef)(null),(0,f.useRef)(a);let r=(0,f.useRef)(null),s=(0,f.useMemo)(()=>(a=>{let b=(a=>{let b=(a||"/").trim();return b.length>180?`${b.slice(0,180)}…`:b})(a),c=b.match(/^\/projects\/([^/]+)\/(?:tasks|graph)\/([^/?#]+)/i);if(c)return{routePath:b,preferredScope:"task",projectSlug:Q(c[1]||""),taskId:Q(c[2]||"")};let d=b.match(/^\/projects\/([^/?#]+)/i);return d&&"orphans"!==(d[1]||"").toLowerCase()?{routePath:b,preferredScope:"project",projectSlug:Q(d[1]||""),taskId:null}:{routePath:b,preferredScope:"global",projectSlug:null,taskId:null}})(c?.routePath),[c?.routePath]);(0,f.useCallback)(()=>{let a=r.current,b="task"!==a||!!s.taskId,c=a&&b?a:s.preferredScope;j(c);let d=R(c,q,{hasTaskContext:!!s.taskId});l(d),n(d)},[q,s.preferredScope,s.taskId]);let t=(0,f.useCallback)(a=>{n(a),l("loading")},[n,l]),u=(0,f.useCallback)(()=>{p(a=>"right"===a?"left":"right")},[]),v=(0,f.useCallback)(a=>{p(a)},[]),w=(0,f.useMemo)(()=>q[i]??[],[q,i]),x=(0,f.useMemo)(()=>{let a={global:{contextId:"all-projects",scopeLabel:"All projects",lastUpdated:"2026-02-17T03:58:00Z",freshnessBadge:"Live",connectionStatus:"connected",badgeHint:`Opened from ${s.routePath}`},project:{contextId:s.projectSlug?`project:${s.projectSlug}`:"project:unknown",scopeLabel:"Project",lastUpdated:"2026-02-17T03:50:00Z",freshnessBadge:"Live",connectionStatus:"connected",badgeHint:s.projectSlug?`Project ${s.projectSlug}`:"Project assistant scope"},task:{contextId:s.taskId?`task:${s.taskId}`:"task:missing",scopeLabel:"Task",lastUpdated:"2026-02-16T23:10:00Z",freshnessBadge:s.taskId?"Live":"Paused",connectionStatus:s.taskId?"connected":"stale",badgeHint:s.taskId?`Task ${s.taskId}`:"Execution context missing"}};return a[i]??a.global},[i,s]);return g?(0,e.createPortal)((0,d.jsx)(O,{isOpen:a,onClose:b,activeScope:i,onScopeChange:a=>{a!==i&&(j(a),t(R(a,q,{hasTaskContext:!!s.taskId})))},panelSide:o,onPanelSideChange:v,onPanelSideToggle:u,stateKey:k,messages:w,metadata:x,onRetry:()=>{t("active")}}),g):null}},16953:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,metadata:()=>h});var d=c(75338),e=c(43185),f=c(18353),g=c(988);c(82704),c(63460);let h={title:"AGX Board - Agent Task Orchestration",description:"Orchestrate and manage AI agent tasks on AGX Board"};function i({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{className:"antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]",children:[(0,d.jsx)(e.AuthProvider,{children:a}),(0,d.jsx)(f.GoogleAnalytics,{}),(0,d.jsx)(g.PostHogAnalytics,{})]})})}},18353:(a,b,c)=>{"use strict";c.d(b,{GoogleAnalytics:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call GoogleAnalytics() from the server but GoogleAnalytics is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/GoogleAnalytics.tsx","GoogleAnalytics")},20302:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},30890:(a,b,c)=>{"use strict";c.d(b,{PostHogAnalytics:()=>f});var d=c(21124),e=c(19127);function f(){return(0,d.jsx)(e.default,{id:"posthog-analytics",strategy:"afterInteractive",dangerouslySetInnerHTML:{__html:`
2
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog&&window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init rs ls wi ns us ts ss capture calculateEventProperties vs register register_once register_for_session unregister unregister_for_session gs getFeatureFlag getFeatureFlagPayload getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException startExceptionAutocapture stopExceptionAutocapture loadToolbar get_property getSessionProperty fs ds createPersonProfile setInternalOrTestUser ps Qr opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing hs debug M cs getPageViewId captureTraceFeedback captureTraceMetric Kr".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
3
+ posthog.init('phc_oBf1haYu4HKjYmUZpthQ4cUf9O3UKkDSOX675M7dRWW', {
4
+ api_host: 'https://us.i.posthog.com',
5
+ person_profiles: 'identified_only',
6
+ });
7
+ `}})}},33409:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(39537);function e(){return{auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:d.g.id,email:d.g.email,user_metadata:{name:d.g.name,full_name:d.g.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}}}},39537:(a,b,c)=>{"use strict";c.d(b,{g:()=>d}),"1"===process.env.AGX_BOARD_DISABLE_AUTH||"1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH||"1"!==process.env.AGX_BOARD_ENABLE_AUTH&&process.env.NEXT_PUBLIC_AGX_BOARD_ENABLE_AUTH;let d={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"}},43185:(a,b,c)=>{"use strict";c.d(b,{AuthProvider:()=>e});var d=c(97954);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call AuthProvider() from the server but AuthProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/AuthProvider.tsx","AuthProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useAuth() from the server but useAuth is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mendrika/Projects/Agents/agx-cloud/components/AuthProvider.tsx","useAuth")},55875:(a,b,c)=>{Promise.resolve().then(c.bind(c,75747)),Promise.resolve().then(c.bind(c,64769)),Promise.resolve().then(c.bind(c,30890))},60054:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},63460:()=>{},64769:(a,b,c)=>{"use strict";c.d(b,{GoogleAnalytics:()=>h});var d=c(21124),e=c(19127);let f="G-DVQQG95LNL",g=`https://www.googletagmanager.com/gtag/js?id=${f}`;function h(){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.default,{async:!0,src:g,strategy:"afterInteractive"}),(0,d.jsx)(e.default,{id:"google-analytics",strategy:"afterInteractive",dangerouslySetInnerHTML:{__html:`
8
+ window.dataLayer = window.dataLayer || [];
9
+ function gtag(){dataLayer.push(arguments);}
10
+ gtag('js', new Date());
11
+ gtag('config', '${f}');
12
+ `}})]})}},75747:(a,b,c)=>{"use strict";c.d(b,{AuthProvider:()=>h});var d=c(21124),e=c(38301),f=c(33409);let g=(0,e.createContext)({user:null,loading:!0,signOut:async()=>{}});function h({children:a}){let b="1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,[c,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),k=async()=>{if(b)return;let a=(0,f.O)();await a.auth.signOut(),h(null)};return(0,d.jsx)(g.Provider,{value:{user:c,loading:i,signOut:k},children:a})}},79851:(a,b,c)=>{Promise.resolve().then(c.bind(c,43185)),Promise.resolve().then(c.bind(c,18353)),Promise.resolve().then(c.bind(c,988))},82704:()=>{}};
@@ -0,0 +1,17 @@
1
+ "use strict";exports.id=8100,exports.ids=[8100],exports.modules={25178:(a,b,c)=>{c.d(b,{dS:()=>j,fZ:()=>i,y$:()=>k});var d=c(38301),e=c(93553);let f=new Map,g=new Map;async function h(a){let b=f.get(a);if(void 0!==b)return b;let c=g.get(a);if(c)return c;let d=(async()=>{let b=await fetch(`/api/tasks/${a}/graph`,{method:"GET",cache:"no-store"});if(404===b.status)return f.set(a,null),null;let c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||`Failed to fetch graph summary (${b.status})`);let d=c?.graph??null,g=d?(0,e.hj)(d):null;return f.set(a,g),g})();g.set(a,d);try{return await d}finally{g.delete(a)}}function i(a){let b=(0,d.useMemo)(()=>a?f.get(a)??null:null,[a]),[c,e]=(0,d.useState)(b),[g,i]=(0,d.useState)(!!a&&null===b),[j,k]=(0,d.useState)(null);return{summary:c,isLoading:g,error:j,refresh:(0,d.useCallback)(async()=>{if(!a){e(null),k(null),i(!1);return}i(!0),k(null);try{let b=await h(a);e(b)}catch(a){k(a instanceof Error?a.message:"Failed to fetch graph summary"),e(null)}finally{i(!1)}},[a])}}function j(a){return f.get(a)??null}async function k(a){await Promise.allSettled(a.map(a=>h(a)))}},36937:(a,b,c)=>{c.d(b,{LU:()=>f,dF:()=>h,si:()=>e,zH:()=>g});var d=c(38301);function e(a={}){process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH;let b=a.project,c=a.status,f=a.orphan;a.realtime;let[g,h]=(0,d.useState)([]),[i,j]=(0,d.useState)(!0),[k,l]=(0,d.useState)(null),[m,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(null),q=(0,d.useCallback)(a=>{if(!a)return[];if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)));if("string"==typeof a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(b.split(",").map(a=>a.trim()).filter(Boolean)))}return[]},[]),r=(0,d.useCallback)(a=>{let b=String(a||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!b)return[];let c=b[1].split("\n").find(a=>a.trim().toLowerCase().startsWith("depends_on:"));return c?q(c.slice(c.indexOf(":")+1).trim()):[]},[q]),s=(0,d.useCallback)((a,b)=>{let c=q(a.depends_on);if(c.length>0)return{...a,depends_on:c};let d="string"==typeof a?.content?r(a.content):[];if(d.length>0)return{...a,depends_on:d};let e=q(b?.depends_on);return e.length>0?{...a,depends_on:e}:a},[r,q]),t=(0,d.useCallback)(async()=>{try{let a=new URLSearchParams;b&&a.set("project",b),c&&a.set("status",c),f&&a.set("orphan","1");let d=await fetch(`/api/tasks?${a.toString()}`);if(!d.ok)throw Error("Failed to fetch tasks");let e=await d.json(),g=Array.isArray(e.tasks)?e.tasks.map(a=>s(a)):[];h(g),l(null)}catch(a){l(a instanceof Error?a:Error("Unknown error"))}finally{j(!1)}},[b,c,f]),u=(0,d.useCallback)(async(a,b)=>{let c=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,swarm_models:b})});if(!c.ok)throw Error((await c.json()).error||"Failed to create task");let{task:d}=await c.json(),e=s(d);return h(a=>a.some(a=>a.id===e.id)?a:[e,...a]),e},[a.realtime,s]),v=(0,d.useCallback)(async(a,b)=>{let c=await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok){let a=null;throw"function"==typeof c.json&&(a=await c.json().catch(()=>null)),Error(a?.error||a?.details||`Failed to update task (${c.status} ${c.statusText||"Error"})`)}let{task:d}=await c.json();return h(b=>b.map(b=>b.id===a?s({...b,...d},b):b)),s(d)},[a.realtime,s]),w=(0,d.useCallback)(async a=>{if(!(await fetch(`/api/tasks/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");h(b=>b.filter(b=>b.id!==a))},[a.realtime]),x=(0,d.useCallback)(async a=>{let b=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:c}=await b.json();return h(b=>b.map(b=>b.id===a.taskId?s({...b,...c},b):b)),s(c)},[a.realtime,s]),y=(0,d.useCallback)(async a=>{n(a.taskId),p(null);try{let b=await fetch(`/api/orchestrator/tasks/${a.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a.reason?{reason:a.reason}:{})});if(!b.ok){let a=await b.json().catch(()=>({})),c=a?.error||"Failed to cancel workflow";throw Error(c)}return b.json()}catch(b){let a=b instanceof Error?b:Error("Failed to cancel workflow");throw p(a),a}finally{n(null)}},[]),z=(0,d.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}`),c=await b.json().catch(()=>null);if(!b.ok)throw Error(c?.error||"Failed to fetch task details");return s(c?.task)},[s]),A=(0,d.useCallback)(async a=>{let b=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:a})}),c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||"Failed to assign orphan tasks");return await t(),{updatedCount:Number(c?.updatedCount||0),taskIds:Array.isArray(c?.taskIds)?c.taskIds:[]}},[t]);return{tasks:g,isLoading:i,error:k,cancellingTaskId:m,isCancelling:!!m,cancelError:o,refetch:t,createTask:u,updateTask:v,deleteTask:w,completeTaskStage:x,cancelWorkflow:y,fetchTask:z,assignOrphanTasksToProject:A}}function f(a){process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH;let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useCallback)(async()=>{if(a){f(!0);try{let b=await fetch(`/api/tasks/${a}/comments`);if(b.ok){let a=await b.json();c(a.comments||[])}}finally{f(!1)}}},[a]);return{comments:b,isLoading:e,refetch:g,addComment:(0,d.useCallback)(async b=>{if(!a)return;let c=await fetch(`/api/tasks/${a}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})});if(c.ok){let{comment:a}=await c.json();return a}},[a]),deleteComment:(0,d.useCallback)(async b=>{a&&(await fetch(`/api/tasks/${a}/comments/${b}`,{method:"DELETE"})).ok&&c(a=>a.filter(a=>a.id!==b))},[a])}}function g(a,b={}){let c=b.enabled??!0,e=Number.isFinite(b.tail)&&b.tail>0?b.tail:500,f=Number.isFinite(b.maxChars)&&b.maxChars>0?b.maxChars:2e5,[h,i]=(0,d.useState)(""),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!1),n=(0,d.useRef)(null);(0,d.useRef)(0);let o=(0,d.useRef)(null),p=(0,d.useCallback)(a=>{let b=(a.log_type||"output").toLowerCase();return"output"===b?a.content||"":`[${b}] ${a.content||""}`},[]);return(0,d.useCallback)(async(b=!1)=>{if(a&&c){b||k(!0);try{let c=new URLSearchParams;if(b){let a=o.current;a?.created_at&&c.set("after",a.created_at),c.set("limit","500")}else c.set("tail",String(e));let d=await fetch(`/api/tasks/${a}/logs?${c.toString()}`);if(d.ok){let a=((await d.json()).logs||[]).slice().sort((a,b)=>a.created_at===b.created_at?a.id.localeCompare(b.id):a.created_at.localeCompare(b.created_at));if(b){let b=o.current,c=b?a.filter(a=>a.created_at>b.created_at||!(a.created_at<b.created_at)&&a.id>b.id):a;if(c.length){let a=c.map(a=>p(a)).join("");a&&i(b=>{let c=b+a;return c.length>f?c.slice(-f):c}),m(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{m(!1)},5e3)}}else{let b=a.map(a=>p(a)).join("");i(b.length>f?b.slice(-f):b)}if(a.length){let b=a[a.length-1];o.current={created_at:b.created_at,id:b.id}}}}finally{b||k(!1)}}},[c,p,f,e,a]),{output:h,isLoading:j,isStreaming:l}}function h(a,b){let[c,e]=(0,d.useState)([]),[f,g]=(0,d.useState)(!1),h=(0,d.useCallback)(async()=>{g(!0);try{let c=new URLSearchParams;a&&c.set("scope",a),b&&c.set("scopeId",b);let d=await fetch(`/api/learnings?${c.toString()}`);if(d.ok){let a=await d.json();e(a.learnings||[])}}finally{g(!1)}},[a,b]);return{learnings:c,isLoading:f,refetch:h,addLearning:(0,d.useCallback)(async(a,b,c)=>{let d=await fetch("/api/learnings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scope:b,scopeId:c,content:a})});if(d.ok){let{learning:a}=await d.json();return e(b=>[a,...b]),a}},[]),deleteLearning:(0,d.useCallback)(async a=>{(await fetch(`/api/learnings?id=${a}`,{method:"DELETE"})).ok&&e(b=>b.filter(b=>b.id!==a))},[])}}c(33409)},68546:(a,b,c)=>{c.d(b,{A:()=>l});var d=c(21124),e=c(38301),f=c(23312);let g=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function h({status:a,onStatusChange:b}){let[c,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(null),k=(0,e.useRef)(null),l=(0,e.useRef)(null);(0,e.useCallback)(()=>{if(!k.current)return;let a=k.current.getBoundingClientRect();j({top:a.bottom+4,left:a.left})},[]);let m=g.find(b=>b.value===a)||g[0],n="completed"===a,o="in_progress"===a;return(0,d.jsxs)("div",{className:"relative flex-shrink-0",ref:k,children:[(0,d.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),b&&h(!c)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
2
+ hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
3
+ ${b?"cursor-pointer":"cursor-default"}
4
+ ${o?"animate-pulse":""}
5
+ `,style:{borderColor:m.color,backgroundColor:n?m.color:"transparent"},title:m.label,children:[n&&(0,d.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===a&&(0,d.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:m.color,strokeWidth:"1.5",strokeLinecap:"round"})}),o&&(0,d.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:m.color}})]}),c&&i&&(0,f.createPortal)((0,d.jsx)("div",{ref:l,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:i.top,left:i.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:g.map(c=>{let e=c.value===a;return(0,d.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
6
+ hover:bg-[var(--item-hover-bg)]
7
+ ${e?"font-semibold bg-[var(--item-hover-bg)]":""}
8
+ `,onClick:a=>{a.stopPropagation(),b?.(c.value),h(!1)},children:[(0,d.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:c.color,backgroundColor:"completed"===c.value?c.color:"transparent"},children:["completed"===c.value&&(0,d.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===c.value&&(0,d.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:c.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===c.value&&(0,d.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:c.color}})]}),(0,d.jsx)("span",{style:{color:e?c.color:void 0},children:c.label}),e&&(0,d.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,d.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},c.value)})}),document.body)]})}var i=c(25178);let j={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},k={INTAKE:{icon:"\uD83D\uDCE5",label:"Intake"},PROGRESS:{icon:"\uD83D\uDD04",label:"Progress"},DONE:{icon:"✅",label:"Done"}};function l({task:a,onClick:b,compact:c=!1,onStatusChange:e,allTasks:f}){j[a.status||"queued"],a.stage&&k[a.stage];let{summary:g,isLoading:l}=(0,i.fZ)("draft"!==a.id?a.id:null),m=a.depends_on?.length?a.depends_on.map(a=>{let b=f?.find(b=>b.id===a);return{id:a,title:b?.title||a.slice(0,8),done:b?.status==="completed"}}):null;return m&&m.every(a=>a.done),(0,d.jsxs)("div",{onClick:b,role:"button",tabIndex:0,onKeyDown:a=>"Enter"===a.key&&b?.(),className:`group relative flex flex-col gap-2 p-3 rounded-lg
9
+ bg-white border border-[var(--card-border)] shadow-sm
10
+ hover:shadow-md hover:border-[var(--primary-muted)] hover:ring-1 hover:ring-[var(--primary-muted)]
11
+ transition-all duration-200 cursor-grab active:cursor-grabbing
12
+ focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
13
+ ${"failed"===a.status?"border-red-200 bg-red-50/30":""}
14
+ ${"completed"===a.status?"opacity-75 bg-gray-50":""}
15
+ `,children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsx)("h3",{className:`text-sm font-medium text-[var(--foreground)] leading-snug line-clamp-3
16
+ ${"completed"===a.status?"text-[var(--muted-foreground)] line-through":""}
17
+ `,children:a.title||"Untitled Task"}),(0,d.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,d.jsx)(h,{status:a.status||"queued",onStatusChange:e})})]}),(0,d.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] whitespace-nowrap",children:[void 0!==a.priority&&a.priority>0&&(0,d.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-gray-100 ${0===a.priority?"text-[var(--primary)]":""}`,children:["P",a.priority]}),"draft"!==a.id&&(0,d.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:a.id.slice(0,5)})]})})]})}}};
@@ -1,4 +1,4 @@
1
- exports.id=8521,exports.ids=[8521],exports.modules={78335:()=>{},79965:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>k});var e=c(64939),f=c(91179),g=a([e]);let l=new(e=(g.then?(await g)():g)[0]).Pool({connectionString:process.env.DATABASE_URL||"postgresql://agx:agx@localhost:55432/agx",options:"-c search_path=agx,public"}),m=new Set(["definition","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function h(a){return void 0===a?null:a instanceof Date?a.toISOString():a&&"object"==typeof a&&!Array.isArray(a)?JSON.stringify(a):a}function i(a,b){return null==b?null:b instanceof Date?b.toISOString():m.has(a)?JSON.stringify(b):h(b)}function j(a){let b=(a||"*").trim();if(!b||"*"===b)return{columns:["*"],includeProjectRepos:!1};let c=b.includes("project_repos(*)"),d=b.replace(/project_repos\(\*\)/g,"").split(",").map(a=>a.trim()).filter(Boolean);return 0===d.length?{columns:["*"],includeProjectRepos:c}:{columns:d,includeProjectRepos:c}}class n{constructor(a){this.operation="select",this.filters=[],this.orderSpecs=[],this.limitValue=null,this.selectColumns="*",this.returningColumns=null,this.singleMode="none",this.payload=null,this.upsertOptions=null,this.table=a}select(a="*"){return"select"===this.operation?this.selectColumns=a:this.returningColumns=a||"*",this}insert(a){return this.operation="insert",this.payload=a,this}update(a){return this.operation="update",this.payload=a,this}delete(){return this.operation="delete",this}upsert(a,b){return this.operation="upsert",this.payload=a,this.upsertOptions=b||{},this}eq(a,b){return this.filters.push({op:"eq",column:a,value:b}),this}neq(a,b){return this.filters.push({op:"neq",column:a,value:b}),this}gt(a,b){return this.filters.push({op:"gt",column:a,value:b}),this}gte(a,b){return this.filters.push({op:"gte",column:a,value:b}),this}lt(a,b){return this.filters.push({op:"lt",column:a,value:b}),this}lte(a,b){return this.filters.push({op:"lte",column:a,value:b}),this}is(a,b){return this.filters.push({op:"is",column:a,value:b}),this}in(a,b){return this.filters.push({op:"in",column:a,value:b||[]}),this}or(a){return this.filters.push({op:"or",expression:a}),this}order(a,b){return this.orderSpecs.push({column:a,...b||{}}),this}limit(a){return this.limitValue=a,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(a,b){return this.execute().then(a,b)}buildWhere(a,b){for(let c of this.filters){if("or"===c.op){let d=c.expression.split(",").map(a=>a.trim()).filter(Boolean).map(a=>{var c;let[d,e,...f]=a.split("."),g=(c=f.join("."),"true"===c||"false"!==c&&("null"===c?null:c));return"eq"===e?(b.push(h(g)),`${d} = $${b.length}`):"neq"===e?(b.push(h(g)),`${d} <> $${b.length}`):"is"===e?null===g?`${d} IS NULL`:(b.push(h(g)),`${d} IS NOT DISTINCT FROM $${b.length}`):"ilike"===e?(b.push(h(g)),`${d} ILIKE $${b.length}`):"like"===e?(b.push(h(g)),`${d} LIKE $${b.length}`):"1=1"});d.length>0&&a.push(`(${d.join(" OR ")})`);continue}"eq"===c.op?(b.push(h(c.value)),a.push(`${c.column} = $${b.length}`)):"neq"===c.op?(b.push(h(c.value)),a.push(`${c.column} <> $${b.length}`)):"gt"===c.op?(b.push(h(c.value)),a.push(`${c.column} > $${b.length}`)):"gte"===c.op?(b.push(h(c.value)),a.push(`${c.column} >= $${b.length}`)):"lt"===c.op?(b.push(h(c.value)),a.push(`${c.column} < $${b.length}`)):"lte"===c.op?(b.push(h(c.value)),a.push(`${c.column} <= $${b.length}`)):"is"===c.op?null===c.value?a.push(`${c.column} IS NULL`):(b.push(h(c.value)),a.push(`${c.column} IS NOT DISTINCT FROM $${b.length}`)):"in"===c.op&&(c.value&&0!==c.value.length?(b.push((c.value||[]).map(h)),a.push(`${c.column} = ANY($${b.length})`)):a.push("1=0"))}}async executeSelect(){try{let{columns:a,includeProjectRepos:b}=j(this.selectColumns),c=[],d=[];this.buildWhere(d,c);let e=`SELECT ${a.join(", ")} FROM ${this.table}`;if(d.length>0&&(e+=` WHERE ${d.join(" AND ")}`),this.orderSpecs.length>0){let a=this.orderSpecs.map(a=>{let b=!1===a.ascending?"DESC":"ASC",c="";return!0===a.nullsFirst&&(c=" NULLS FIRST"),!1===a.nullsFirst&&(c=" NULLS LAST"),`${a.column} ${b}${c}`}).join(", ");e+=` ORDER BY ${a}`}"number"==typeof this.limitValue&&(c.push(this.limitValue),e+=` LIMIT $${c.length}`);let f=(await l.query(e,c)).rows;if(b&&"projects"===this.table&&f.length>0){let a=f.map(a=>a.id).filter(Boolean);if(a.length>0){let b=await l.query("SELECT * FROM project_repos WHERE project_id = ANY($1)",[a]),c=new Map;for(let a of b.rows){let b=c.get(a.project_id)||[];b.push(a),c.set(a.project_id,b)}f=f.map(a=>({...a,project_repos:c.get(a.id)||[]}))}}if("single"===this.singleMode){if(0===f.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:f[0],error:null}}if("maybeSingle"===this.singleMode)return{data:f[0]||null,error:null};return{data:f,error:null}}catch(a){return{data:null,error:a}}}async executeInsertOrUpsert(){try{let a=Array.isArray(this.payload)?this.payload:[this.payload];if(!a.length)return{data:[],error:null};let b=Array.from(a.reduce((a,b)=>{for(let c of Object.keys(b||{}))a.add(c);return a},new Set)),c=[],d=a.map(a=>{let d=b.map(b=>(c.push(i(b,a[b])),`$${c.length}`));return`(${d.join(", ")})`}),e=`INSERT INTO ${this.table} (${b.join(", ")}) VALUES ${d.join(", ")}`;if("upsert"===this.operation){let a=this.upsertOptions?.onConflict||"",c=String(a).split(",").map(a=>a.trim()).filter(Boolean);if(c.length>0)if(this.upsertOptions?.ignoreDuplicates)e+=` ON CONFLICT (${c.join(", ")}) DO NOTHING`;else{let a=b.filter(a=>!c.includes(a)).map(a=>`${a} = EXCLUDED.${a}`);a.length>0?e+=` ON CONFLICT (${c.join(", ")}) DO UPDATE SET ${a.join(", ")}`:e+=` ON CONFLICT (${c.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:a}=j(this.returningColumns);e+=` RETURNING ${a.join(", ")}`}let f=await l.query(e,c),g=this.returningColumns?f.rows:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:g&&g[0]||null,error:null};return{data:g,error:null}}catch(a){return{data:null,error:a}}}async executeUpdateOrDelete(){try{let a=[],b=[];this.buildWhere(b,a);let c="";if("update"===this.operation){let b=Object.keys(this.payload||{}).map(b=>(a.push(i(b,this.payload[b])),`${b} = $${a.length}`));c=`UPDATE ${this.table} SET ${b.join(", ")}`}else c=`DELETE FROM ${this.table}`;if(b.length>0&&(c+=` WHERE ${b.join(" AND ")}`),this.returningColumns){let{columns:a}=j(this.returningColumns);c+=` RETURNING ${a.join(", ")}`}let d=await l.query(c,a),e=this.returningColumns?d.rows:null;if("single"===this.singleMode){if(!e||0===e.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:e[0],error:null}}if("maybeSingle"===this.singleMode)return{data:e?.[0]||null,error:null};return{data:e,error:null}}catch(a){return{data:null,error:a}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}function k(){return{from:a=>new n(a),auth:{getUser:async()=>({data:{user:{id:f.g.id,email:f.g.email,user_metadata:{name:f.g.name,full_name:f.g.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:f.g.id,email:f.g.email}},error:null})},async rpc(a,b){if("check_rate_limit"!==a)return{data:null,error:{message:`Unsupported rpc: ${a}`}};let c=b.p_user_id,d=b.p_endpoint,e=Number(b.p_limit||60),f=Number(b.p_window_seconds||60),g=new Date,h=new Date(Math.floor(g.getTime()/(1e3*f))*f*1e3),i=`
1
+ exports.id=8521,exports.ids=[8521],exports.modules={78335:()=>{},79965:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{x:()=>k});var e=c(64939),f=c(91179),g=a([e]);let l=new(e=(g.then?(await g)():g)[0]).Pool({connectionString:process.env.DATABASE_URL||"postgresql://agx:agx@localhost:55432/agx",options:"-c search_path=agx,public"}),m=new Set(["definition","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function h(a){return void 0===a?null:a instanceof Date?a.toISOString():a&&"object"==typeof a&&!Array.isArray(a)?JSON.stringify(a):a}function i(a,b){return null==b?null:b instanceof Date?b.toISOString():m.has(a)?JSON.stringify(b):h(b)}function j(a){let b=(a||"*").trim();if(!b||"*"===b)return{columns:["*"],includeProjectRepos:!1};let c=b.includes("project_repos(*)"),d=b.replace(/project_repos\(\*\)/g,"").split(",").map(a=>a.trim()).filter(Boolean);return 0===d.length?{columns:["*"],includeProjectRepos:c}:{columns:d,includeProjectRepos:c}}class n{constructor(a){this.operation="select",this.filters=[],this.orderSpecs=[],this.limitValue=null,this.selectColumns="*",this.returningColumns=null,this.singleMode="none",this.payload=null,this.upsertOptions=null,this.table=a}select(a="*"){return"select"===this.operation?this.selectColumns=a:this.returningColumns=a||"*",this}insert(a){return this.operation="insert",this.payload=a,this}update(a){return this.operation="update",this.payload=a,this}delete(){return this.operation="delete",this}upsert(a,b){return this.operation="upsert",this.payload=a,this.upsertOptions=b||{},this}eq(a,b){return this.filters.push({op:"eq",column:a,value:b}),this}neq(a,b){return this.filters.push({op:"neq",column:a,value:b}),this}gt(a,b){return this.filters.push({op:"gt",column:a,value:b}),this}gte(a,b){return this.filters.push({op:"gte",column:a,value:b}),this}lt(a,b){return this.filters.push({op:"lt",column:a,value:b}),this}lte(a,b){return this.filters.push({op:"lte",column:a,value:b}),this}is(a,b){return this.filters.push({op:"is",column:a,value:b}),this}in(a,b){return this.filters.push({op:"in",column:a,value:b||[]}),this}contains(a,b){return this.filters.push({op:"contains",column:a,value:b}),this}or(a){return this.filters.push({op:"or",expression:a}),this}order(a,b){return this.orderSpecs.push({column:a,...b||{}}),this}limit(a){return this.limitValue=a,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(a,b){return this.execute().then(a,b)}buildWhere(a,b){for(let c of this.filters){if("or"===c.op){let d=c.expression.split(",").map(a=>a.trim()).filter(Boolean).map(a=>{var c;let[d,e,...f]=a.split("."),g=(c=f.join("."),"true"===c||"false"!==c&&("null"===c?null:c));return"eq"===e?(b.push(h(g)),`${d} = $${b.length}`):"neq"===e?(b.push(h(g)),`${d} <> $${b.length}`):"is"===e?null===g?`${d} IS NULL`:(b.push(h(g)),`${d} IS NOT DISTINCT FROM $${b.length}`):"ilike"===e?(b.push(h(g)),`${d} ILIKE $${b.length}`):"like"===e?(b.push(h(g)),`${d} LIKE $${b.length}`):"1=1"});d.length>0&&a.push(`(${d.join(" OR ")})`);continue}"eq"===c.op?(b.push(h(c.value)),a.push(`${c.column} = $${b.length}`)):"neq"===c.op?(b.push(h(c.value)),a.push(`${c.column} <> $${b.length}`)):"gt"===c.op?(b.push(h(c.value)),a.push(`${c.column} > $${b.length}`)):"gte"===c.op?(b.push(h(c.value)),a.push(`${c.column} >= $${b.length}`)):"lt"===c.op?(b.push(h(c.value)),a.push(`${c.column} < $${b.length}`)):"lte"===c.op?(b.push(h(c.value)),a.push(`${c.column} <= $${b.length}`)):"is"===c.op?null===c.value?a.push(`${c.column} IS NULL`):(b.push(h(c.value)),a.push(`${c.column} IS NOT DISTINCT FROM $${b.length}`)):"contains"===c.op?(b.push((c.value||[]).map(h)),a.push(`${c.column} @> $${b.length}`)):"in"===c.op&&(c.value&&0!==c.value.length?(b.push((c.value||[]).map(h)),a.push(`${c.column} = ANY($${b.length})`)):a.push("1=0"))}}async executeSelect(){try{let{columns:a,includeProjectRepos:b}=j(this.selectColumns),c=[],d=[];this.buildWhere(d,c);let e=`SELECT ${a.join(", ")} FROM ${this.table}`;if(d.length>0&&(e+=` WHERE ${d.join(" AND ")}`),this.orderSpecs.length>0){let a=this.orderSpecs.map(a=>{let b=!1===a.ascending?"DESC":"ASC",c="";return!0===a.nullsFirst&&(c=" NULLS FIRST"),!1===a.nullsFirst&&(c=" NULLS LAST"),`${a.column} ${b}${c}`}).join(", ");e+=` ORDER BY ${a}`}"number"==typeof this.limitValue&&(c.push(this.limitValue),e+=` LIMIT $${c.length}`);let f=(await l.query(e,c)).rows;if(b&&"projects"===this.table&&f.length>0){let a=f.map(a=>a.id).filter(Boolean);if(a.length>0){let b=await l.query("SELECT * FROM project_repos WHERE project_id = ANY($1)",[a]),c=new Map;for(let a of b.rows){let b=c.get(a.project_id)||[];b.push(a),c.set(a.project_id,b)}f=f.map(a=>({...a,project_repos:c.get(a.id)||[]}))}}if("single"===this.singleMode){if(0===f.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:f[0],error:null}}if("maybeSingle"===this.singleMode)return{data:f[0]||null,error:null};return{data:f,error:null}}catch(a){return{data:null,error:a}}}async executeInsertOrUpsert(){try{let a=Array.isArray(this.payload)?this.payload:[this.payload];if(!a.length)return{data:[],error:null};let b=Array.from(a.reduce((a,b)=>{for(let c of Object.keys(b||{}))a.add(c);return a},new Set)),c=[],d=a.map(a=>{let d=b.map(b=>(c.push(i(b,a[b])),`$${c.length}`));return`(${d.join(", ")})`}),e=`INSERT INTO ${this.table} (${b.join(", ")}) VALUES ${d.join(", ")}`;if("upsert"===this.operation){let a=this.upsertOptions?.onConflict||"",c=String(a).split(",").map(a=>a.trim()).filter(Boolean);if(c.length>0)if(this.upsertOptions?.ignoreDuplicates)e+=` ON CONFLICT (${c.join(", ")}) DO NOTHING`;else{let a=b.filter(a=>!c.includes(a)).map(a=>`${a} = EXCLUDED.${a}`);a.length>0?e+=` ON CONFLICT (${c.join(", ")}) DO UPDATE SET ${a.join(", ")}`:e+=` ON CONFLICT (${c.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:a}=j(this.returningColumns);e+=` RETURNING ${a.join(", ")}`}let f=await l.query(e,c),g=this.returningColumns?f.rows:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:g&&g[0]||null,error:null};return{data:g,error:null}}catch(a){return{data:null,error:a}}}async executeUpdateOrDelete(){try{let a=[],b=[];this.buildWhere(b,a);let c="";if("update"===this.operation){let b=Object.keys(this.payload||{}).map(b=>(a.push(i(b,this.payload[b])),`${b} = $${a.length}`));c=`UPDATE ${this.table} SET ${b.join(", ")}`}else c=`DELETE FROM ${this.table}`;if(b.length>0&&(c+=` WHERE ${b.join(" AND ")}`),this.returningColumns){let{columns:a}=j(this.returningColumns);c+=` RETURNING ${a.join(", ")}`}let d=await l.query(c,a),e=this.returningColumns?d.rows:null;if("single"===this.singleMode){if(!e||0===e.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:e[0],error:null}}if("maybeSingle"===this.singleMode)return{data:e?.[0]||null,error:null};return{data:e,error:null}}catch(a){return{data:null,error:a}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}function k(){return{from:a=>new n(a),auth:{getUser:async()=>({data:{user:{id:f.g.id,email:f.g.email,user_metadata:{name:f.g.name,full_name:f.g.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:f.g.id,email:f.g.email}},error:null})},async rpc(a,b){if("check_rate_limit"!==a)return{data:null,error:{message:`Unsupported rpc: ${a}`}};let c=b.p_user_id,d=b.p_endpoint,e=Number(b.p_limit||60),f=Number(b.p_window_seconds||60),g=new Date,h=new Date(Math.floor(g.getTime()/(1e3*f))*f*1e3),i=`
2
2
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
3
3
  VALUES ($1, $2, $3, 1)
4
4
  ON CONFLICT (user_id, endpoint, window_start)