@mndrk/agx 1.4.55 → 1.4.59

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 (211) hide show
  1. package/README.md +3 -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 +78 -71
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +9 -8
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +12 -12
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +9 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +9 -3
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +17 -16
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route.js +1 -1
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js +4 -0
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js.nft.json +1 -0
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -0
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +2 -2
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +1 -1
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route.js +1 -1
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route.js +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route.js +1 -1
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +12 -6
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +21 -20
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +3 -3
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +21 -20
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +25 -24
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +9 -3
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +21 -20
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +9 -3
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +3 -3
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js +9 -3
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +3 -3
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +21 -20
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +9 -3
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +21 -20
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +9 -8
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +8 -8
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6158.js +19 -0
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/instrumentation.js +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware.js +1 -1
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages-manifest.json +1 -1
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5608-674cd57e975c9b36.js +1 -0
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-f4cb4820efca03a1.js +1 -0
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-13be4cfc17a5f679.js +1 -0
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-13be4cfc17a5f679.js +1 -0
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-13be4cfc17a5f679.js +1 -0
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-13be4cfc17a5f679.js +1 -0
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-13be4cfc17a5f679.js +1 -0
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-13be4cfc17a5f679.js +1 -0
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-13be4cfc17a5f679.js +1 -0
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-13be4cfc17a5f679.js +1 -0
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-13be4cfc17a5f679.js +1 -0
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-13be4cfc17a5f679.js +1 -0
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-13be4cfc17a5f679.js +1 -0
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-13be4cfc17a5f679.js +1 -0
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-13be4cfc17a5f679.js +1 -0
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-13be4cfc17a5f679.js +1 -0
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-13be4cfc17a5f679.js +1 -0
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-13be4cfc17a5f679.js +1 -0
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-13be4cfc17a5f679.js +1 -0
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-13be4cfc17a5f679.js +1 -0
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-13be4cfc17a5f679.js +1 -0
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-13be4cfc17a5f679.js +1 -0
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-13be4cfc17a5f679.js +1 -0
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-13be4cfc17a5f679.js +1 -0
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-13be4cfc17a5f679.js +1 -0
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-13be4cfc17a5f679.js +1 -0
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-13be4cfc17a5f679.js +1 -0
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-13be4cfc17a5f679.js +1 -0
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-13be4cfc17a5f679.js +1 -0
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-13be4cfc17a5f679.js +1 -0
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-13be4cfc17a5f679.js +1 -0
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-13be4cfc17a5f679.js +1 -0
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-13be4cfc17a5f679.js +1 -0
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-13be4cfc17a5f679.js +1 -0
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-13be4cfc17a5f679.js +1 -0
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-13be4cfc17a5f679.js +1 -0
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-13be4cfc17a5f679.js +1 -0
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-13be4cfc17a5f679.js +1 -0
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-8d1b32d4a1b98d8f.js → page-903c045ac7fbfd1c.js} +1 -1
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/{page-f12cc2e8800728f7.js → page-ea6ccecbfa743b53.js} +1 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-6b46da9e6091abb3.js +1 -0
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/{page-8465be2213d5814e.js → page-7357b68f3783a0b4.js} +1 -1
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-ec17b64371f48524.js +1 -0
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-6c545e9e5f5f66bc.js +1 -0
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/ea93fda1b0bdd3b9.css +1 -0
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +93 -1
  162. package/lib/cli/cloud/prompts.js +6 -2
  163. package/lib/cli/runCli.js +154 -36
  164. package/lib/cli/skillText.js +1 -1
  165. package/lib/cli/taskStatusService.js +183 -0
  166. package/package.json +1 -1
  167. package/templates/stack/postgres/init/001_agx_board_schema.sql +15 -0
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5519.js +0 -6
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-1475b21ebc625376.js +0 -1
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9719-26e3b61c21dd9194.js +0 -1
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-99c56d5659a15bdb.js +0 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-99c56d5659a15bdb.js +0 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-99c56d5659a15bdb.js +0 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-99c56d5659a15bdb.js +0 -1
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-99c56d5659a15bdb.js +0 -1
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-99c56d5659a15bdb.js +0 -1
  177. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-99c56d5659a15bdb.js +0 -1
  178. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-99c56d5659a15bdb.js +0 -1
  179. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-99c56d5659a15bdb.js +0 -1
  180. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-99c56d5659a15bdb.js +0 -1
  181. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-99c56d5659a15bdb.js +0 -1
  182. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-99c56d5659a15bdb.js +0 -1
  183. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-99c56d5659a15bdb.js +0 -1
  184. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-99c56d5659a15bdb.js +0 -1
  185. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-99c56d5659a15bdb.js +0 -1
  186. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-99c56d5659a15bdb.js +0 -1
  187. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-99c56d5659a15bdb.js +0 -1
  188. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-99c56d5659a15bdb.js +0 -1
  189. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-99c56d5659a15bdb.js +0 -1
  190. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-99c56d5659a15bdb.js +0 -1
  191. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-99c56d5659a15bdb.js +0 -1
  192. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-99c56d5659a15bdb.js +0 -1
  193. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-99c56d5659a15bdb.js +0 -1
  194. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-99c56d5659a15bdb.js +0 -1
  195. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-99c56d5659a15bdb.js +0 -1
  196. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-99c56d5659a15bdb.js +0 -1
  197. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-99c56d5659a15bdb.js +0 -1
  198. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-99c56d5659a15bdb.js +0 -1
  199. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-99c56d5659a15bdb.js +0 -1
  200. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-99c56d5659a15bdb.js +0 -1
  201. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-99c56d5659a15bdb.js +0 -1
  202. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-99c56d5659a15bdb.js +0 -1
  203. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-99c56d5659a15bdb.js +0 -1
  204. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-99c56d5659a15bdb.js +0 -1
  205. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-99c56d5659a15bdb.js +0 -1
  206. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-449a81ecf8041b29.js +0 -1
  207. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-5813cf2efcd8d555.js +0 -1
  208. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-42969463f06ac3e8.js +0 -1
  209. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/6873fedf803c523e.css +0 -1
  210. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{nwJhRz_Iis8sU5igg53Oe → 24myOUbvbiDvyX6evcbZU}/_buildManifest.js +0 -0
  211. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{nwJhRz_Iis8sU5igg53Oe → 24myOUbvbiDvyX6evcbZU}/_ssgManifest.js +0 -0
@@ -1,21 +1,22 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[3396,["7177","static/chunks/app/layout-449a81ecf8041b29.js"],"GoogleAnalytics"]
3
- 3:I[4647,["7177","static/chunks/app/layout-449a81ecf8041b29.js"],"AuthProvider"]
4
- 4:I[9766,[],""]
5
- 5:I[8924,[],""]
6
- 6:I[1959,[],"ClientPageRoot"]
7
- 7:I[2802,["2619","static/chunks/2619-3c9e02e22d10480a.js","4662","static/chunks/app/settings/page-749ebaf650848f08.js"],"default"]
8
- a:I[4431,[],"OutletBoundary"]
9
- c:I[5278,[],"AsyncMetadataOutlet"]
10
- e:I[4431,[],"ViewportBoundary"]
11
- 10:I[4431,[],"MetadataBoundary"]
12
- 11:"$Sreact.suspense"
13
- 13:I[7150,[],""]
14
- :HL["/_next/static/css/6873fedf803c523e.css","style"]
15
- 0:{"P":null,"b":"nwJhRz_Iis8sU5igg53Oe","p":"","c":["","settings"],"i":false,"f":[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6873fedf803c523e.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":[["$","head",null,{"children":["$","$L2",null,{}]}],["$","body",null,{"className":"antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]","children":[["$","div",null,{"className":"fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"}],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","searchParams":{},"params":{},"promises":["$@8","$@9"]}],null,["$","$La",null,{"children":["$Lb",["$","$Lc",null,{"promise":"$@d"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Le",null,{"children":"$Lf"}],null],["$","$L10",null,{"children":["$","div",null,{"hidden":true,"children":["$","$11",null,{"fallback":null,"children":"$L12"}]}]}]]}],false]],"m":"$undefined","G":["$13",[]],"s":false,"S":true}
16
- 8:{}
17
- 9:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
18
- f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
19
- b:null
20
- d:{"metadata":[["$","title","0",{"children":"AGX Board - Agent Task Orchestration"}],["$","meta","1",{"name":"description","content":"Orchestrate and manage AI agent tasks on AGX Board"}]],"error":null,"digest":"$undefined"}
21
- 12:"$d:metadata"
2
+ 2:I[4647,["7177","static/chunks/app/layout-6b46da9e6091abb3.js"],"AuthProvider"]
3
+ 3:I[9766,[],""]
4
+ 4:I[8924,[],""]
5
+ 5:I[6285,["7177","static/chunks/app/layout-6b46da9e6091abb3.js"],"GoogleAnalytics"]
6
+ 6:I[7950,["7177","static/chunks/app/layout-6b46da9e6091abb3.js"],"PostHogAnalytics"]
7
+ 7:I[1959,[],"ClientPageRoot"]
8
+ 8:I[2802,["2619","static/chunks/2619-3c9e02e22d10480a.js","4662","static/chunks/app/settings/page-749ebaf650848f08.js"],"default"]
9
+ b:I[4431,[],"OutletBoundary"]
10
+ d:I[5278,[],"AsyncMetadataOutlet"]
11
+ f:I[4431,[],"ViewportBoundary"]
12
+ 11:I[4431,[],"MetadataBoundary"]
13
+ 12:"$Sreact.suspense"
14
+ 14:I[7150,[],""]
15
+ :HL["/_next/static/css/ea93fda1b0bdd3b9.css","style"]
16
+ 0:{"P":null,"b":"24myOUbvbiDvyX6evcbZU","p":"","c":["","settings"],"i":false,"f":[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ea93fda1b0bdd3b9.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]","children":[["$","div",null,{"className":"fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"}],["$","$L2",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L5",null,{}],["$","$L6",null,{}]]}]}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],null],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
17
+ 9:{}
18
+ a:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
19
+ 10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
+ c:null
21
+ e:{"metadata":[["$","title","0",{"children":"AGX Board - Agent Task Orchestration"}],["$","meta","1",{"name":"description","content":"Orchestrate and manage AI agent tasks on AGX Board"}]],"error":null,"digest":"$undefined"}
22
+ 13:"$e:metadata"
@@ -1,43 +1,44 @@
1
1
  {
2
+ "/_not-found/page": "app/_not-found/page.js",
2
3
  "/api/audit/route": "app/api/audit/route.js",
3
4
  "/api/auth/[...nextauth]/route": "app/api/auth/[...nextauth]/route.js",
4
5
  "/api/auth/daemon-secret/route": "app/api/auth/daemon-secret/route.js",
5
6
  "/api/auth/device/code/route": "app/api/auth/device/code/route.js",
6
7
  "/api/auth/device/token/route": "app/api/auth/device/token/route.js",
7
8
  "/api/auth/refresh/route": "app/api/auth/refresh/route.js",
8
- "/api/auth/status/route": "app/api/auth/status/route.js",
9
9
  "/api/domains/[id]/route": "app/api/domains/[id]/route.js",
10
+ "/api/auth/status/route": "app/api/auth/status/route.js",
10
11
  "/api/domains/route": "app/api/domains/route.js",
11
12
  "/api/health/route": "app/api/health/route.js",
12
13
  "/api/learnings/route": "app/api/learnings/route.js",
13
14
  "/api/orchestrator/tasks/[taskId]/cancel/route": "app/api/orchestrator/tasks/[taskId]/cancel/route.js",
15
+ "/api/orchestrator/tasks/[taskId]/start/route": "app/api/orchestrator/tasks/[taskId]/start/route.js",
14
16
  "/api/orchestrator/tasks/[taskId]/signal/route": "app/api/orchestrator/tasks/[taskId]/signal/route.js",
15
17
  "/api/orchestrator/tasks/[taskId]/status/route": "app/api/orchestrator/tasks/[taskId]/status/route.js",
16
- "/api/orchestrator/tasks/[taskId]/start/route": "app/api/orchestrator/tasks/[taskId]/start/route.js",
17
18
  "/api/projects/[id]/route": "app/api/projects/[id]/route.js",
19
+ "/api/projects/route": "app/api/projects/route.js",
18
20
  "/api/providers/route": "app/api/providers/route.js",
19
21
  "/api/queue/complete/route": "app/api/queue/complete/route.js",
20
- "/api/projects/route": "app/api/projects/route.js",
21
22
  "/api/queue/route": "app/api/queue/route.js",
22
23
  "/api/stage-prompts/route": "app/api/stage-prompts/route.js",
23
24
  "/api/tasks/[id]/comments/[commentId]/route": "app/api/tasks/[id]/comments/[commentId]/route.js",
24
25
  "/api/tasks/[id]/heartbeat/route": "app/api/tasks/[id]/heartbeat/route.js",
25
26
  "/api/tasks/[id]/comments/route": "app/api/tasks/[id]/comments/route.js",
26
- "/api/tasks/[id]/logs/route": "app/api/tasks/[id]/logs/route.js",
27
27
  "/api/tasks/[id]/history/route": "app/api/tasks/[id]/history/route.js",
28
+ "/api/tasks/[id]/logs/route": "app/api/tasks/[id]/logs/route.js",
29
+ "/api/tasks/[id]/restart-stage/route": "app/api/tasks/[id]/restart-stage/route.js",
28
30
  "/api/tasks/[id]/route": "app/api/tasks/[id]/route.js",
29
31
  "/api/tasks/route": "app/api/tasks/route.js",
30
- "/api/workflows/[id]/nodes/route": "app/api/workflows/[id]/nodes/route.js",
31
32
  "/api/user-settings/route": "app/api/user-settings/route.js",
33
+ "/api/workflows/[id]/nodes/route": "app/api/workflows/[id]/nodes/route.js",
34
+ "/auth/callback/route": "app/auth/callback/route.js",
32
35
  "/api/workflows/[id]/route": "app/api/workflows/[id]/route.js",
33
36
  "/api/workflows/route": "app/api/workflows/route.js",
34
- "/auth/callback/route": "app/auth/callback/route.js",
35
37
  "/api/logs/stream/route": "app/api/logs/stream/route.js",
36
38
  "/api/tasks/stream/route": "app/api/tasks/stream/route.js",
37
- "/_not-found/page": "app/_not-found/page.js",
38
39
  "/auth/device/page": "app/auth/device/page.js",
39
- "/dashboard/page": "app/dashboard/page.js",
40
40
  "/login/page": "app/login/page.js",
41
+ "/dashboard/page": "app/dashboard/page.js",
41
42
  "/page": "app/page.js",
42
43
  "/projects/page": "app/projects/page.js",
43
44
  "/settings/page": "app/settings/page.js",
@@ -1,17 +1,17 @@
1
- "use strict";exports.id=3009,exports.ids=[3009],exports.modules={19873:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({tasks:a,onTaskClick:b,onStop:c,onRetry:f,cancellingTaskId:g}){let h=(0,e.useMemo)(()=>a.filter(a=>"in_progress"===a.status),[a]),[i,j]=(0,e.useState)({});return 0===h.length?null:(0,d.jsx)("div",{className:"w-full bg-[var(--card-bg)] border-b border-[var(--border)] mb-6 animate-fade-in-down",children:(0,d.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar",children:(0,d.jsxs)("div",{className:"flex items-center gap-4 p-4 min-w-max",children:[(0,d.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,d.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[h.length," Active"]})]}),(0,d.jsx)("div",{className:"flex items-center gap-3",children:h.map(a=>{let e=a.id===g;return(0,d.jsxs)("div",{onClick:()=>b?.(a),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-[280px]",children:[(0,d.jsx)("div",{className:"w-8 h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-xs font-bold border border-[var(--border)] shrink-0",children:a.provider?a.provider.substring(0,2).toUpperCase():"AG"}),(0,d.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,d.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[a.provider||"Agent"," ",a.model?`• ${a.model}`:""]}),(0,d.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:i[a.id]||"0m"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:a.title||a.content.substring(0,30)}),(0,d.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:`${40*Math.random()+30}%`}})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity pl-2 border-l border-[var(--border)]",children:[(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),e||c?.(a.id)},disabled:e,className:`p-1 rounded transition-all ${e?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"}`,title:e?"Stopping...":"Stop Task",children:e?(0,d.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,d.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,d.jsx)("path",{d:"M3 3v5h5"}),(0,d.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,d.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},a.id)})})]})})})}},32273:(a,b,c)=>{c.d(b,{A:()=>n});var d=c(21124),e=c(38301),f=c(10366),g=c(99615),h=c(22023);let i={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function j({task:a,onClick:b}){let{attributes:c,listeners:e,setNodeRef:f,transform:j,transition:k,isDragging:l}=(0,g.gl)({id:a.id}),m={transform:h.Ks.Transform.toString(j),transition:k},n=i[a.status||"queued"];return(0,d.jsxs)("div",{ref:f,...c,...e,onClick:b,className:`
1
+ "use strict";exports.id=3009,exports.ids=[3009],exports.modules={19873:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({tasks:a,onTaskClick:b,onStop:c,onRetry:f,cancellingTaskId:g}){let h=(0,e.useMemo)(()=>a.filter(a=>"in_progress"===a.status),[a]),[i,j]=(0,e.useState)({});return 0===h.length?null:(0,d.jsx)("div",{className:"w-full bg-[var(--card-bg)] border-b border-[var(--border)] mb-6 animate-fade-in-down",children:(0,d.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar",children:(0,d.jsxs)("div",{className:"flex items-center gap-4 p-4 min-w-max",children:[(0,d.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,d.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,d.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[h.length," Active"]})]}),(0,d.jsx)("div",{className:"flex items-center gap-3",children:h.map(a=>{let e=a.id===g;return(0,d.jsxs)("div",{onClick:()=>b?.(a),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-[280px]",children:[(0,d.jsx)("div",{className:"w-8 h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-xs font-bold border border-[var(--border)] shrink-0",children:a.provider?a.provider.substring(0,2).toUpperCase():"AG"}),(0,d.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,d.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[a.provider||"Agent"," ",a.model?`• ${a.model}`:""]}),(0,d.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:i[a.id]||"0m"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:a.title||a.content.substring(0,30)}),(0,d.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:`${40*Math.random()+30}%`}})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity pl-2 border-l border-[var(--border)]",children:[(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),e||c?.(a.id)},disabled:e,className:`p-1 rounded transition-all ${e?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"}`,title:e?"Stopping...":"Stop Task",children:e?(0,d.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,d.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,d.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,d.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart",children:(0,d.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,d.jsx)("path",{d:"M3 3v5h5"}),(0,d.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,d.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},a.id)})})]})})})}},32273:(a,b,c)=>{c.d(b,{A:()=>o});var d=c(21124),e=c(38301),f=c(10366),g=c(99615),h=c(22023),i=c(69816);let j={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function k({task:a,onClick:b,onStatusChange:c}){let{attributes:e,listeners:f,setNodeRef:k,transform:l,transition:m,isDragging:n}=(0,g.gl)({id:a.id}),o={transform:h.Ks.Transform.toString(l),transition:m};return j[a.status||"queued"],(0,d.jsxs)("div",{ref:k,...e,...f,onClick:b,className:`
2
2
  group relative flex items-center gap-2 p-1.5 rounded-md
3
3
  hover:bg-[var(--item-hover-bg)] transition-all duration-150 cursor-default
4
4
  focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
5
- ${l?"opacity-50 bg-[var(--item-hover-bg)]":""}
6
- `,style:{transform:m.transform,transition:m.transition,touchAction:"none"},children:[(0,d.jsx)("div",{className:"w-2 h-2 rounded-full flex-shrink-0 cursor-grab active:cursor-grabbing hover:scale-125 transition-transform",style:{backgroundColor:n.textColor}}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex items-center justify-between gap-3",children:[(0,d.jsx)("h4",{className:`text-sm text-[var(--foreground)] truncate leading-tight
5
+ ${n?"opacity-50 bg-[var(--item-hover-bg)]":""}
6
+ `,style:{transform:o.transform,transition:o.transition,touchAction:"none"},children:[(0,d.jsx)(i.A,{status:a.status||"queued",onStatusChange:c}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex items-center justify-between gap-3",children:[(0,d.jsx)("h4",{className:`text-sm text-[var(--foreground)] truncate leading-tight
7
7
  ${"completed"===a.status?"text-[var(--muted-foreground)] line-through":""}
8
- `,children:a.title||"Untitled Task"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[void 0!==a.priority&&(0,d.jsxs)("span",{className:`text-[10px] font-mono ${0===a.priority?"text-red-500 font-bold":"text-[var(--muted-foreground)]"}`,children:["P",a.priority]}),(0,d.jsx)("button",{className:"p-0.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] rounded",children:(0,d.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,d.jsx)("path",{d:"M8.49999 4.10001V8.49999H12.9V9.49999H8.49999V13.9H7.49999V9.49999H3.1V8.49999H7.49999V4.10001H8.49999Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})})})]})]})]})}let k={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function l({task:a}){let b=k[a.status||"queued"];return(0,d.jsxs)("div",{className:"w-72 p-3 bg-[var(--background)] rounded-lg border-l-[3px] shadow-2xl cursor-grabbing ring-2 ring-[var(--primary)] ring-offset-2 ring-offset-[var(--background)] rotate-2 scale-105",style:{borderLeftColor:b.borderColor},children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==a.priority&&(0,d.jsxs)("span",{className:"text-[10px] font-mono font-semibold text-[var(--muted-foreground)] bg-[var(--muted)] px-1.5 py-0.5 rounded",children:["P",a.priority]})}),a.project&&(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--accent-muted)] text-[var(--accent)] rounded-full font-medium truncate max-w-[100px]",children:a.project})]}),(0,d.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:a.title||"Untitled"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[a.engine&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{children:"\uD83E\uDD16"}),(0,d.jsx)("span",{className:"capitalize",children:a.engine})]}),a.status&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:b.bgColor,color:b.textColor},children:a.status.replace("_"," ")})]})]})}var m=c(88885);function n({tasks:a,onTasksChange:b,onSelectTask:c,onTaskUpdate:h,onAddTask:i,stages:j,stageConfig:k,isValidTransition:n,isCreatingTask:p,creatingStage:q}){let r=j||m.Tw,s=k||m.ls,t=n||((a,b)=>{if(a===b)return!0;let c=r.indexOf(a),d=r.indexOf(b);return d<c||d===c+1}),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(a),y=(0,e.useMemo)(()=>{let a={};for(let b of r)a[b]=w.filter(a=>a.stage===b).sort((a,b)=>(a.priority||0)-(b.priority||0));return a},[w,r]),z=(0,f.FR)((0,f.MS)(f.AN,{activationConstraint:{distance:8}}));async function A(c){let{active:d,over:e}=c;if(v(null),!e)return void x(a);let f=d.id,i=e.id,j=w.find(a=>a.id===f);if(!j)return;let k=j.stage,l=j.priority||0;if(r.includes(i)){let a=y[k=i];l=a.length>0?Math.max(...a.map(a=>a.priority||0))+1:0}else{let a=w.find(a=>a.id===i);if(a){k=a.stage;let c=w.filter(a=>a.stage===k),d=c.findIndex(a=>a.id===f),e=c.findIndex(a=>a.id===i);if(-1!==d&&-1!==e&&d!==e){let a=(0,g.be)(c,d,e),f=w.map(b=>{let c=a.findIndex(a=>a.id===b.id);return -1!==c?{...b,priority:c}:b});x(f),b?.(f)}l=a.priority||0}}let m=a.find(a=>a.id===f);if(m&&!t(m.stage||"",k))return void x(a);if(h&&(j.stage!==k||j.priority!==l))try{await h(f,{stage:k,priority:l,status:"done"===k?"completed":"ideation"===k?"queued":"in_progress"}),b?.(w)}catch(b){console.error("Failed to update task:",b),x(a)}}return(0,d.jsxs)(f.Mp,{sensors:z,collisionDetection:f.y$,onDragStart:function(a){let b=w.find(b=>b.id===a.active.id);b&&v(b)},onDragOver:function(a){let b,{active:c,over:d}=a;if(!d)return;let e=c.id,f=d.id,g=w.find(a=>a.id===e);if(g){if(r.includes(f))b=f;else{let a=w.find(a=>a.id===f);if(!a)return;b=a.stage}if(g.stage!==b){if(!t(g.stage||"",b))return;x(a=>a.map(a=>a.id===e?{...a,stage:b}:a))}}},onDragEnd:A,children:[(0,d.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:r.map((a,b)=>(0,d.jsx)(o,{stage:a,tasks:y[a]||[],onSelectTask:c,index:b,onAddTask:i,config:s[a]||{icon:"\uD83D\uDCCC",label:a,color:"var(--primary)"},isCreating:!!(p&&q===a)},a))}),(0,d.jsx)(f.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:u?(0,d.jsx)(l,{task:u}):null})]})}function o({stage:a,tasks:b,onSelectTask:c,index:e,onAddTask:h,config:i,isCreating:k=!1}){let{setNodeRef:l,isOver:m}=(0,f.zM)({id:a}),n=!h||k;return(0,d.jsxs)("div",{ref:l,id:a,className:`
8
+ `,children:a.title||"Untitled Task"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity",children:[void 0!==a.priority&&(0,d.jsxs)("span",{className:`text-[10px] font-mono ${0===a.priority?"text-red-500 font-bold":"text-[var(--muted-foreground)]"}`,children:["P",a.priority]}),(0,d.jsx)("button",{className:"p-0.5 text-[var(--muted-foreground)] hover:text-[var(--foreground)] rounded",children:(0,d.jsx)("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,d.jsx)("path",{d:"M8.49999 4.10001V8.49999H12.9V9.49999H8.49999V13.9H7.49999V9.49999H3.1V8.49999H7.49999V4.10001H8.49999Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})})})]})]})]})}let l={queued:{borderColor:"var(--status-queued)",bgColor:"var(--status-queued-bg)",textColor:"var(--status-queued)"},in_progress:{borderColor:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)",textColor:"var(--status-in-progress)"},blocked:{borderColor:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)",textColor:"var(--status-blocked)"},completed:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"},failed:{borderColor:"var(--status-failed)",bgColor:"var(--status-failed-bg)",textColor:"var(--status-failed)"},done:{borderColor:"var(--status-completed)",bgColor:"var(--status-completed-bg)",textColor:"var(--status-completed)"}};function m({task:a}){let b=l[a.status||"queued"];return(0,d.jsxs)("div",{className:"w-72 p-3 bg-[var(--background)] rounded-lg border-l-[3px] shadow-2xl cursor-grabbing ring-2 ring-[var(--primary)] ring-offset-2 ring-offset-[var(--background)] rotate-2 scale-105",style:{borderLeftColor:b.borderColor},children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-1.5",children:[(0,d.jsx)("div",{className:"flex items-center gap-1.5",children:void 0!==a.priority&&(0,d.jsxs)("span",{className:"text-[10px] font-mono font-semibold text-[var(--muted-foreground)] bg-[var(--muted)] px-1.5 py-0.5 rounded",children:["P",a.priority]})}),a.project&&(0,d.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--accent-muted)] text-[var(--accent)] rounded-full font-medium truncate max-w-[100px]",children:a.project})]}),(0,d.jsx)("h4",{className:"text-sm font-medium line-clamp-2 text-[var(--primary)] leading-snug",children:a.title||"Untitled"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[10px] text-[var(--muted-foreground)]",children:[a.engine&&(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("span",{children:"\uD83E\uDD16"}),(0,d.jsx)("span",{className:"capitalize",children:a.engine})]}),a.status&&(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded font-medium",style:{background:b.bgColor,color:b.textColor},children:a.status.replace("_"," ")})]})]})}var n=c(88885);function o({tasks:a,onTasksChange:b,onSelectTask:c,onTaskUpdate:h,onAddTask:i,stages:j,stageConfig:k,isValidTransition:l,isCreatingTask:o,creatingStage:q}){let r=j||n.Tw,s=k||n.ls,t=l||((a,b)=>{if(a===b)return!0;let c=r.indexOf(a),d=r.indexOf(b);return d<c||d===c+1}),[u,v]=(0,e.useState)(null),[w,x]=(0,e.useState)(a),y=(0,e.useMemo)(()=>{let a={};for(let b of r)a[b]=w.filter(a=>a.stage===b).sort((a,b)=>(a.priority||0)-(b.priority||0));return a},[w,r]),z=(0,f.FR)((0,f.MS)(f.AN,{activationConstraint:{distance:8}}));async function A(c){let{active:d,over:e}=c;if(v(null),!e)return void x(a);let f=d.id,i=e.id,j=w.find(a=>a.id===f);if(!j)return;let k=j.stage,l=j.priority||0;if(r.includes(i)){let a=y[k=i];l=a.length>0?Math.max(...a.map(a=>a.priority||0))+1:0}else{let a=w.find(a=>a.id===i);if(a){k=a.stage;let c=w.filter(a=>a.stage===k),d=c.findIndex(a=>a.id===f),e=c.findIndex(a=>a.id===i);if(-1!==d&&-1!==e&&d!==e){let a=(0,g.be)(c,d,e),f=w.map(b=>{let c=a.findIndex(a=>a.id===b.id);return -1!==c?{...b,priority:c}:b});x(f),b?.(f)}l=a.priority||0}}let m=a.find(a=>a.id===f);if(m&&!t(m.stage||"",k))return void x(a);if(h&&(j.stage!==k||j.priority!==l))try{await h(f,{stage:k,priority:l,status:"done"===k?"completed":"ideation"===k?"queued":"in_progress"}),b?.(w)}catch(b){console.error("Failed to update task:",b),x(a)}}return(0,d.jsxs)(f.Mp,{sensors:z,collisionDetection:f.y$,onDragStart:function(a){let b=w.find(b=>b.id===a.active.id);b&&v(b)},onDragOver:function(a){let b,{active:c,over:d}=a;if(!d)return;let e=c.id,f=d.id,g=w.find(a=>a.id===e);if(g){if(r.includes(f))b=f;else{let a=w.find(a=>a.id===f);if(!a)return;b=a.stage}if(g.stage!==b){if(!t(g.stage||"",b))return;x(a=>a.map(a=>a.id===e?{...a,stage:b}:a))}}},onDragEnd:A,children:[(0,d.jsx)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-4 scrollbar-thin h-full items-stretch",children:r.map((a,b)=>(0,d.jsx)(p,{stage:a,tasks:y[a]||[],onSelectTask:c,onTaskUpdate:h,index:b,onAddTask:i,config:s[a]||{icon:"\uD83D\uDCCC",label:a,color:"var(--primary)"},isCreating:!!(o&&q===a)},a))}),(0,d.jsx)(f.Hd,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:u?(0,d.jsx)(m,{task:u}):null})]})}function p({stage:a,tasks:b,onSelectTask:c,onTaskUpdate:e,index:h,onAddTask:i,config:j,isCreating:l=!1}){let{setNodeRef:m,isOver:n}=(0,f.zM)({id:a}),o=!i||l;return(0,d.jsxs)("div",{ref:m,id:a,className:`
9
9
  kanban-column flex-shrink-0 w-80
10
10
  flex flex-col h-full max-h-full
11
11
  bg-[var(--column-bg)] rounded-xl border border-[var(--border)]
12
12
  transition-colors duration-200
13
- ${m?"ring-2 ring-[var(--primary)] ring-opacity-50 bg-[var(--primary-muted)]":""}
14
- `,style:{animationDelay:`${50*e}ms`},children:[(0,d.jsxs)("div",{className:"p-3 flex items-center justify-between border-b border-[var(--border)] bg-[var(--column-header-bg)] rounded-t-xl sticky top-0 z-10",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-semibold text-sm text-[var(--foreground)]",children:i.label}),(0,d.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-white border border-[var(--border)] text-xs font-medium text-[var(--muted-foreground)] tabular-nums shadow-sm",children:b.length})]}),(0,d.jsx)("button",{onClick:()=>h?.(a),disabled:n,className:`
13
+ ${n?"ring-2 ring-[var(--primary)] ring-opacity-50 bg-[var(--primary-muted)]":""}
14
+ `,style:{animationDelay:`${50*h}ms`},children:[(0,d.jsxs)("div",{className:"p-3 flex items-center justify-between border-b border-[var(--border)] bg-[var(--column-header-bg)] rounded-t-xl sticky top-0 z-10",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"font-semibold text-sm text-[var(--foreground)]",children:j.label}),(0,d.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-white border border-[var(--border)] text-xs font-medium text-[var(--muted-foreground)] tabular-nums shadow-sm",children:b.length})]}),(0,d.jsx)("button",{onClick:()=>i?.(a),disabled:o,className:`
15
15
  w-8 h-8 rounded-lg flex items-center justify-center text-lg leading-none transition-all
16
- ${n?"opacity-40 cursor-not-allowed text-[var(--muted-foreground)]":"hover:bg-[var(--primary)] hover:text-white hover:shadow-md text-[var(--muted-foreground)] active:scale-95"}
17
- `,title:`Add task to ${i.label}`,children:k?(0,d.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--muted-foreground)] border-t-[var(--primary)] rounded-full"}):"+"})]}),(0,d.jsx)(g.gB,{items:b.map(a=>a.id),strategy:g._G,children:(0,d.jsx)("div",{className:"flex-1 p-2 overflow-y-auto scrollbar-thin space-y-2.5",children:0===b.length?(0,d.jsxs)("div",{className:"h-full min-h-[120px] flex flex-col items-center justify-center border-2 border-dashed border-[var(--border)] rounded-lg m-1 opacity-60 hover:opacity-100 transition-opacity bg-[var(--background)]",children:[(0,d.jsx)("span",{className:"text-2xl mb-2 opacity-50 grayscale",children:i.icon}),(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:"No tasks"})]}):b.map((a,b)=>(0,d.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${30*b}ms`},children:(0,d.jsx)(j,{task:a,onClick:()=>c?.(a)})},a.id))})})]})}}};
16
+ ${o?"opacity-40 cursor-not-allowed text-[var(--muted-foreground)]":"hover:bg-[var(--primary)] hover:text-white hover:shadow-md text-[var(--muted-foreground)] active:scale-95"}
17
+ `,title:`Add task to ${j.label}`,children:l?(0,d.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--muted-foreground)] border-t-[var(--primary)] rounded-full"}):"+"})]}),(0,d.jsx)(g.gB,{items:b.map(a=>a.id),strategy:g._G,children:(0,d.jsx)("div",{className:"flex-1 p-2 overflow-y-auto scrollbar-thin space-y-2.5",children:0===b.length?(0,d.jsxs)("div",{className:"h-full min-h-[120px] flex flex-col items-center justify-center border-2 border-dashed border-[var(--border)] rounded-lg m-1 opacity-60 hover:opacity-100 transition-opacity bg-[var(--background)]",children:[(0,d.jsx)("span",{className:"text-2xl mb-2 opacity-50 grayscale",children:j.icon}),(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:"No tasks"})]}):b.map((a,b)=>(0,d.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${30*b}ms`},children:(0,d.jsx)(k,{task:a,onClick:()=>c?.(a),onStatusChange:e?b=>e(a.id,{status:b}):void 0})},a.id))})})]})}}};
@@ -0,0 +1,19 @@
1
+ exports.id=6158,exports.ids=[6158],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")},12482:(a,b,c)=>{Promise.resolve().then(c.bind(c,75747)),Promise.resolve().then(c.bind(c,64769)),Promise.resolve().then(c.bind(c,30890))},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);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",className:"dark",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)("div",{className:"fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"}),(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(){}}}},36937:(a,b,c)=>{"use strict";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;a.realtime;let[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)(!0),[j,k]=(0,d.useState)(null),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),p=(0,d.useCallback)(async()=>{try{let a=new URLSearchParams;b&&a.set("project",b),c&&a.set("status",c);let d=await fetch(`/api/tasks?${a.toString()}`);if(!d.ok)throw Error("Failed to fetch tasks");let e=await d.json();g(e.tasks||[]),k(null)}catch(a){k(a instanceof Error?a:Error("Unknown error"))}finally{i(!1)}},[b,c]),q=(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();return g(a=>a.some(a=>a.id===d.id)?a:[d,...a]),d},[a.realtime]),r=(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 g(b=>b.map(b=>b.id===a?{...b,...d}:b)),d},[a.realtime]),s=(0,d.useCallback)(async a=>{if(!(await fetch(`/api/tasks/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");g(b=>b.filter(b=>b.id!==a))},[a.realtime]),t=(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 g(b=>b.map(b=>b.id===a.taskId?{...b,...c}:b)),c},[a.realtime]);return{tasks:f,isLoading:h,error:j,cancellingTaskId:l,isCancelling:!!l,cancelError:n,refetch:p,createTask:q,updateTask:r,deleteTask:s,completeTaskStage:t,cancelWorkflow:(0,d.useCallback)(async a=>{m(a.taskId),o(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 o(a),a}finally{m(null)}},[]),fetchTask:(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 c?.task},[])}}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)},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")},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))},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
+ `}})]})}},69816:(a,b,c)=>{"use strict";c.d(b,{A:()=>h});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
13
+ hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
14
+ ${b?"cursor-pointer":"cursor-default"}
15
+ ${o?"animate-pulse":""}
16
+ `,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=>(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
17
+ hover:bg-[var(--item-hover-bg)]
18
+ ${c.value===a?"font-semibold":""}
19
+ `,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:c.value===a?c.color:void 0},children:c.label})]},c.value))}),document.body)]})}},72314:(a,b,c)=>{Promise.resolve().then(c.bind(c,43185)),Promise.resolve().then(c.bind(c,18353)),Promise.resolve().then(c.bind(c,988))},75747:(a,b,c)=>{"use strict";c.d(b,{A:()=>i,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})}function i(){return(0,e.useContext)(g)}},82704:()=>{},82997:(a,b,c)=>{"use strict";c.d(b,{Y:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)([]),[c,e]=(0,d.useState)(!1),[f,g]=(0,d.useState)(null),h=(0,d.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let c=await a.json();b(c.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]),i=(0,d.useCallback)(async a=>{let c=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to create project");let d=(await c.json()).project;return b(a=>[d,...a]),d},[]);return{projects:a,isLoading:c,error:f,refetch:h,createProject:i,updateProject:(0,d.useCallback)(async(a,c)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return b(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,d.useCallback)(async a=>{let c=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!c.ok)throw Error((await c.json().catch(()=>({}))).error||"Failed to delete project");b(b=>b.filter(b=>b.id!==a))},[])}}}};
@@ -13,4 +13,4 @@ args: ${j}`:"")+(b.duration_ms?`
13
13
  duration_ms: ${b.duration_ms}`:"")+k+l;await (0,g.$K)({taskId:a,content:m,logType:"system"})}async function o(a,b,c){console.log(`[processor] Cancelling task ${a}: ${c||"No reason"}`),await (0,g._N)({taskId:a,reason:c,userId:b})}[e,f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},74084:(a,b,c)=>{c.d(b,{e:()=>d});function d(a,b){return`---
14
14
  ${Object.entries(a).map(([a,b])=>`${a}: ${null==b?"":String(b)}`).join("\n")}
15
15
  ---
16
- ${b}`}},96340:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$K:()=>l,RM:()=>k,Sz:()=>i,_N:()=>n,kN:()=>m,rX:()=>j});var e=c(99146),f=c(16824),g=c(74084),h=a([e,f]);async function i(a){let b=(0,f.x)();await b.from("tasks").update({stage:a.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}async function j(a){let b=(0,f.x)(),{data:c}=await b.from("tasks").select("stage_decisions").eq("id",a.taskId).eq("user_id",a.userId).single(),d={...c?.stage_decisions&&"object"==typeof c.stage_decisions?c.stage_decisions:{},[a.stage]:{decision:a.decision.decision,rationale:a.decision.explanation,final_result:a.decision.final_result,decided_at:new Date().toISOString()}},{error:e}=await b.from("tasks").update({stage_decisions:d,updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId);if(e&&!function(a){if(!a||"object"!=typeof a)return!1;let b="code"in a?String(a.code):"",c="message"in a?String(a.message).toLowerCase():"";return("PGRST204"===b||"42703"===b)&&c.includes("stage_decisions")}(e))throw e}async function k(a){let b=await (0,e.gg)(a.taskId,a.userId);if(!b)throw Error(`Task ${a.taskId} not found`);let{frontmatter:c,body:d}=(0,e.yv)(b.content);c.stage=a.nextStage,c.status=a.nextStatus,a.error?c.error=a.error:"error"in c&&delete c.error;let h=(0,g.e)(c,d);await (0,e.lC)(a.taskId,h,a.userId);let i=(0,f.x)();await i.from("tasks").update({stage:a.nextStage,status:a.nextStatus,retry_count:a.retryCount,error:a.error,updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId),"completed"===a.nextStatus&&await i.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}async function l(a){await (0,e.Jg)(a.taskId,a.content,a.logType)}async function m(a){await (0,e.WH)(a.taskId,a.content,a.authorType||"agent")}async function n(a){let b=await (0,e.gg)(a.taskId,a.userId);if(!b)return;let{frontmatter:c,body:d}=(0,e.yv)(b.content);c.status="failed",c.error=a.reason||"Cancelled";let h=(0,g.e)(c,d);await (0,e.lC)(a.taskId,h,a.userId),await (0,e.Jg)(a.taskId,a.reason||"Task cancelled","error");let i=(0,f.x)();await i.from("tasks").update({status:"failed",error:a.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},99146:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jg:()=>n,QA:()=>m,WH:()=>o,fs:()=>k,gg:()=>i,lC:()=>j,op:()=>l,yv:()=>h});var e=c(16824),f=a([e]);function g(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}'`)}function h(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();"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 i(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 j(a,b,c,d){let f=(0,e.x)(),{frontmatter:g,body:i}=h(b),j="boolean"==typeof g.swarm?g.swarm:void 0,k=function(a){let{body:b}=h(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}(b),l="string"==typeof g.project_id?g.project_id:void 0,m=Object.prototype.hasOwnProperty.call(g,"provider"),n=Object.prototype.hasOwnProperty.call(g,"model"),o=Object.prototype.hasOwnProperty.call(g,"workflow_id"),p={content:b,description:i,title:k,status:g.status,stage:g.stage,project:g.project,...void 0!==l?{project_id:l}:{},workflow_id:o?g.workflow_id:void 0,priority:g.priority,engine:g.engine,provider:m?g.provider:null,model:n?g.model:null,swarm:j,swarm_models:d?.swarmModels??void 0,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(p).forEach(a=>{void 0===p[a]&&delete p[a]});let q=f.from("tasks").update({...p,version:f.rpc("increment_version")}).eq("id",a);c&&(q=q.eq("user_id",c)),d?.expectedVersion!==void 0&&(q=q.eq("version",d.expectedVersion));let{data:r,error:s}=await f.from("tasks").update({...p}).eq("id",a).select().single();if(s&&"42703"===s.code){let{description:b,swarm_models:d,swarm:e,workflow_id:g,current_plan:h,open_blockers:i,next_action:j,version:k,...l}=p,m=f.from("tasks").update(l).eq("id",a);c&&(m=m.eq("user_id",c)),{data:r,error:s}=await m.select().single()}if(s)throw s;return r}async function k(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(g(d,"workflow_nodes"))return[];throw d}return c||[]}async function l(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("workflow_nodes").select("*").eq("workflow_id",a).eq("name",b).maybeSingle();if(f){if(g(f,"workflow_nodes"))return null;throw f}return d}async function m(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("workflow_transitions").select("*").eq("workflow_id",a).eq("from_node_id",b).order("priority",{ascending:!0});if(f){if(g(f,"workflow_transitions"))return[];throw f}return d||[]}async function n(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}async function o(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}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})}};
16
+ ${b}`}},96340:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$K:()=>l,RM:()=>k,Sz:()=>i,_N:()=>n,kN:()=>m,rX:()=>j});var e=c(99146),f=c(16824),g=c(74084),h=a([e,f]);async function i(a){let b=(0,f.x)();await b.from("tasks").update({stage:a.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}async function j(a){let b=(0,f.x)(),{data:c}=await b.from("tasks").select("stage_decisions").eq("id",a.taskId).eq("user_id",a.userId).single(),d={...c?.stage_decisions&&"object"==typeof c.stage_decisions?c.stage_decisions:{},[a.stage]:{decision:a.decision.decision,rationale:a.decision.explanation,final_result:a.decision.final_result,decided_at:new Date().toISOString()}},{error:e}=await b.from("tasks").update({stage_decisions:d,updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId);if(e&&!function(a){if(!a||"object"!=typeof a)return!1;let b="code"in a?String(a.code):"",c="message"in a?String(a.message).toLowerCase():"";return("PGRST204"===b||"42703"===b)&&c.includes("stage_decisions")}(e))throw e}async function k(a){let b=await (0,e.gg)(a.taskId,a.userId);if(!b)throw Error(`Task ${a.taskId} not found`);let{frontmatter:c,body:d}=(0,e.yv)(b.content);c.stage=a.nextStage,c.status=a.nextStatus,a.error?c.error=a.error:"error"in c&&delete c.error;let h=(0,g.e)(c,d);await (0,e.lC)(a.taskId,h,a.userId);let i=(0,f.x)();await i.from("tasks").update({stage:a.nextStage,status:a.nextStatus,retry_count:a.retryCount,error:a.error,updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId),"completed"===a.nextStatus&&await i.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}async function l(a){await (0,e.Jg)(a.taskId,a.content,a.logType)}async function m(a){await (0,e.WH)(a.taskId,a.content,a.authorType||"agent")}async function n(a){let b=await (0,e.gg)(a.taskId,a.userId);if(!b)return;let{frontmatter:c,body:d}=(0,e.yv)(b.content);c.status="failed",c.error=a.reason||"Cancelled";let h=(0,g.e)(c,d);await (0,e.lC)(a.taskId,h,a.userId),await (0,e.Jg)(a.taskId,a.reason||"Task cancelled","error");let i=(0,f.x)();await i.from("tasks").update({status:"failed",error:a.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",a.taskId).eq("user_id",a.userId)}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},99146:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jg:()=>r,QA:()=>q,WH:()=>s,fs:()=>o,gg:()=>m,lC:()=>n,op:()=>p,yv:()=>j});var e=c(16824);c(55511);var f=a([e]);function g(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}'`)}function h(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 i(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=h(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function j(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]=h(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 k(a,b,c){if(!a||!b?.length)return;let d=c??(0,e.x)(),f=new Set,g=[...b];for(;g.length;){let b=g.pop();if(!b)continue;if(b===a)throw Error("Circular dependency detected");if(f.has(b))continue;f.add(b);let{data:c,error:e}=await d.from("tasks").select("depends_on").eq("id",b).maybeSingle();if(e){if("PGRST116"===e.code||"42703"===e.code)continue;throw e}if(c)for(let a of Array.isArray(c.depends_on)?c.depends_on:[])a&&!f.has(a)&&g.push(a)}}async function l(a,b){let c=a.depends_on;if(!c||0===c.length)return;let d=(0,e.x)(),{data:f,error:g}=await d.from("tasks").select("id, status").in("id",c);if(g)return;let h=f?.every(a=>"completed"===a.status)??!1;if(h||"blocked"===a.status){if(h&&"blocked"===a.status){let c=d.from("tasks").update({status:"queued"}).eq("id",a.id);b&&(c=c.eq("user_id",b)),await c}}else{let c=d.from("tasks").update({status:"blocked"}).eq("id",a.id);b&&(c=c.eq("user_id",b)),await c}}async function m(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 n(a,b,c,d){let f=(0,e.x)(),{frontmatter:g,body:h}=j(b),n="boolean"==typeof g.swarm?g.swarm:void 0,o=function(a){let{body:b}=j(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}(b),p="string"==typeof g.project_id?g.project_id:void 0,q=Object.prototype.hasOwnProperty.call(g,"provider"),r=Object.prototype.hasOwnProperty.call(g,"model"),s=Object.prototype.hasOwnProperty.call(g,"workflow_id"),t=Object.prototype.hasOwnProperty.call(g,"depends_on"),u=i(g.depends_on),v=i(d?.dependsOn),w=d?.dependsOn!==void 0||t,x=d?.dependsOn!==void 0?v:u,y={content:b,description:h,title:o,status:g.status,stage:g.stage,project:g.project,...void 0!==p?{project_id:p}:{},workflow_id:s?g.workflow_id:void 0,priority:g.priority,engine:g.engine,provider:q?g.provider:null,model:r?g.model:null,swarm:n,swarm_models:d?.swarmModels??void 0,...w?{depends_on:x.length?x: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(y).forEach(a=>{void 0===y[a]&&delete y[a]}),w&&await k(a,x,f);let z=f.from("tasks").update({...y,version:f.rpc("increment_version")}).eq("id",a);c&&(z=z.eq("user_id",c)),d?.expectedVersion!==void 0&&(z=z.eq("version",d.expectedVersion));let{data:A,error:B}=await f.from("tasks").update({...y}).eq("id",a).select().single();if(B&&"42703"===B.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}=y,n=f.from("tasks").update(m).eq("id",a);c&&(n=n.eq("user_id",c)),{data:A,error:B}=await n.select().single()}if(B)throw B;if(!A)throw Error("Failed to create task");return await l(A,c),await m(A.id,c)||A}async function o(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(g(d,"workflow_nodes"))return[];throw d}return c||[]}async function p(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("workflow_nodes").select("*").eq("workflow_id",a).eq("name",b).maybeSingle();if(f){if(g(f,"workflow_nodes"))return null;throw f}return d}async function q(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("workflow_transitions").select("*").eq("workflow_id",a).eq("from_node_id",b).order("priority",{ascending:!0});if(f){if(g(f,"workflow_transitions"))return[];throw f}return d||[]}async function r(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}async function s(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}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- "use strict";exports.id=7143,exports.ids=[7143],exports.modules={27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>R,Cp:()=>L,Fw:()=>A,IB:()=>j,JQ:()=>x,Jg:()=>O,OH:()=>X,UT:()=>t,WH:()=>Q,ZG:()=>W,_f:()=>V,a4:()=>P,bg:()=>F,co:()=>y,et:()=>Y,g1:()=>U,gA:()=>C,gg:()=>r,h_:()=>h,iN:()=>T,k9:()=>i,lC:()=>u,mc:()=>s,mk:()=>M,oe:()=>S,ou:()=>_,pW:()=>N,rV:()=>z,tB:()=>$,updateWorkflow:()=>H,updateWorkflowNodes:()=>J,vq:()=>w,vr:()=>D,x1:()=>q,xw:()=>v,xx:()=>E,yv:()=>o});var e=c(79965),f=a([e]);function g(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 h(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(g(d,"user_settings"))return null;throw d}return c||null}async function i(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 h(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 i={user_id:a,default_provider:b.default_provider??g?.default_provider??null,models:b.models??g?.models??{},provenance:b.provenance,changed_at:f},j=(0,e.x)(),{error:k}=await j.from("user_settings").upsert(i,{onConflict:"user_id"});if(k)throw k;let l=await h(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function j(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||"unspecified",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 k(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function l(a,b){let c=k(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=`${k(a)}-${f}`.slice(0,48)}return`${k(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function m(a,b,c,d){let e=k(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=`${k(a)}-${i}`.slice(0,48)}return`${k(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function n(a){return a??(0,e.x)()}function o(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();"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]}}function p(a){let{body:b}=o(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}async function q(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});a&&(c=c.eq("user_id",a)),b?.project&&(c=c.eq("project",b.project)),b?.status&&(c=c.eq("status",b.status));let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function r(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 s(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 t(a,b,c){let d=(0,e.x)(),{frontmatter:f,body:g}=o(a),h="boolean"==typeof f.swarm?f.swarm:void 0,i=p(a),j=String(f.slug||i||"task"),k=await l(j,d),m="string"==typeof f.project_id?f.project_id:void 0,n="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,s="string"==typeof f.engine?f.engine:null,t="ai"===f.created_by?"ai":"user",u={content:a,description:g,title:i,slug:k,status:f.status||"queued",stage:f.stage,project:f.project,...void 0!==m?{project_id:m}:{},...void 0!==n?{workflow_id:n}:{},priority:f.priority,engine:s,provider:q,model:r,swarm:h,swarm_models:c?.swarmModels??null,created_by:t,user_id:b,current_plan:c?.currentPlan||null,open_blockers:c?.openBlockers||[],next_action:c?.nextAction||null,version:1},{data:v,error:w}=await d.from("tasks").insert(u).select().single();if(w&&"42703"===w.code){let{description:a,swarm_models:b,swarm:c,workflow_id:e,current_plan:f,open_blockers:g,next_action:h,version:i,...j}=u;({data:v,error:w}=await d.from("tasks").insert(j).select().single())}if(w)throw w;return v}async function u(a,b,c,d){let f=(0,e.x)(),{frontmatter:g,body:h}=o(b),i="boolean"==typeof g.swarm?g.swarm:void 0,j=p(b),k="string"==typeof g.project_id?g.project_id:void 0,l=Object.prototype.hasOwnProperty.call(g,"provider"),m=Object.prototype.hasOwnProperty.call(g,"model"),n=Object.prototype.hasOwnProperty.call(g,"workflow_id"),q={content:b,description:h,title:j,status:g.status,stage:g.stage,project:g.project,...void 0!==k?{project_id:k}:{},workflow_id:n?g.workflow_id:void 0,priority:g.priority,engine:g.engine,provider:l?g.provider:null,model:m?g.model:null,swarm:i,swarm_models:d?.swarmModels??void 0,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(q).forEach(a=>{void 0===q[a]&&delete q[a]});let r=f.from("tasks").update({...q,version:f.rpc("increment_version")}).eq("id",a);c&&(r=r.eq("user_id",c)),d?.expectedVersion!==void 0&&(r=r.eq("version",d.expectedVersion));let{data:s,error:t}=await f.from("tasks").update({...q}).eq("id",a).select().single();if(t&&"42703"===t.code){let{description:b,swarm_models:d,swarm:e,workflow_id:g,current_plan:h,open_blockers:i,next_action:j,version:k,...l}=q,m=f.from("tasks").update(l).eq("id",a);c&&(m=m.eq("user_id",c)),{data:s,error:t}=await m.select().single()}if(t)throw t;return s}async function v(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 w(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 x(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(g(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function y(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(g(f,"projects"))return null;throw f}return d||null}async function z(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(g(d,"project_repos"))return[];throw d}return c||[]}e=(f.then?(await f)():f)[0];let Z=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function A(a,b){let c=(0,e.x)(),d=Z.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 h=await f.maybeSingle();if(h.error){if(g(h.error,"projects"))return null;throw h.error}let i=h.data;if(!i)return null;let j=await z(i.id);return{...i,repos:j}}async function B(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(g(f,"project_repos"))return[];throw f}return e||[]}async function C(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=n(c),e=b.name.trim()||"project",f=await m(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 B(h.id,b.repos??[],d);return{...h,repos:j}}async function D(a,b,c,d){let e=n(d),f=Z.test(a),h=a;if(!f){let c=await y(a,b);if(!c)return null;h=c.id}let i={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");i.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(i.slug=a)}if(void 0!==c.description&&(i.description=c.description),void 0!==c.metadata&&(i.metadata=c.metadata),void 0!==c.ci_cd_info&&(i.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(i.workflow_id=c.workflow_id),Object.keys(i).length){let{error:a}=await e.from("projects").update(i).eq("id",h).eq("user_id",b);if(a)throw a}if(c.repos){let{error:a}=await e.from("project_repos").delete().eq("project_id",h);if(a&&!g(a,"project_repos"))throw a;await B(h,c.repos,e)}return A(h,b)}async function E(a,b,c){let d=n(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function F(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(g(d,"workflows"))return[];throw d}return c||[]}async function G(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(g(f,"workflows"))return null;throw f}return d}async function H(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 I(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(g(d,"workflow_nodes"))return[];throw d}return c||[]}async function J(a,b,c){let d=(0,e.x)();if(!await G(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})),I(a)}async function K(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(g(d,"workflow_transitions"))return[];throw d}return c||[]}async function L(a,b){let c=await G(a,b);if(!c)return null;let[d,e]=await Promise.all([I(a),K(a)]);return{...c,nodes:d,transitions:e}}function M(){return"00000000-0000-0000-0000-000000000001"}async function N(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 O(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}async function P(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 Q(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 R(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 S(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 T(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 U(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 $={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}},_="00000000-0000-0000-0000-000000000001";async function V(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 W(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 X(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 Y(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)}})}};
1
+ "use strict";exports.id=7143,exports.ids=[7143],exports.modules={27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>W,Cp:()=>Q,Fw:()=>F,IB:()=>k,JQ:()=>C,Jg:()=>T,OH:()=>aa,UT:()=>y,WH:()=>V,ZG:()=>_,_f:()=>$,a4:()=>U,bg:()=>K,co:()=>D,et:()=>ab,g1:()=>Z,gA:()=>H,gg:()=>w,h_:()=>i,iN:()=>Y,k9:()=>j,lC:()=>z,mc:()=>x,mk:()=>R,oe:()=>X,ou:()=>ae,pW:()=>S,rV:()=>E,tB:()=>ad,updateWorkflow:()=>M,updateWorkflowNodes:()=>O,vq:()=>B,vr:()=>I,x1:()=>v,xw:()=>A,xx:()=>J,yv:()=>r});var e=c(79965),f=c(55511),g=a([e]);function h(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 i(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(h(d,"user_settings"))return null;throw d}return c||null}async function j(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 i(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},j=(0,e.x)(),{error:k}=await j.from("user_settings").upsert(h,{onConflict:"user_id"});if(k)throw k;let l=await i(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function k(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 l(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function m(a,b){let c=l(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=`${l(a)}-${f}`.slice(0,48)}return`${l(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function n(a,b,c,d){let e=l(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=`${l(a)}-${i}`.slice(0,48)}return`${l(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function o(a){return a??(0,e.x)()}function p(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 q(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=p(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function r(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]=p(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 s(a,b,c){if(!a||!b?.length)return;let d=o(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 t(a){let{body:b}=r(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}async function u(a,b){let c=a.depends_on;if(!c||0===c.length)return;let d=(0,e.x)(),{data:f,error:g}=await d.from("tasks").select("id, status").in("id",c);if(g)return;let h=f?.every(a=>"completed"===a.status)??!1;if(h||"blocked"===a.status){if(h&&"blocked"===a.status){let c=d.from("tasks").update({status:"queued"}).eq("id",a.id);b&&(c=c.eq("user_id",b)),await c}}else{let c=d.from("tasks").update({status:"blocked"}).eq("id",a.id);b&&(c=c.eq("user_id",b)),await c}}async function v(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});a&&(c=c.eq("user_id",a)),b?.project&&(c=c.eq("project",b.project)),b?.status&&(c=c.eq("status",b.status));let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function w(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 x(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 y(a,b,c){let d=(0,e.x)(),{frontmatter:g,body:h}=r(a),i="boolean"==typeof g.swarm?g.swarm:void 0,j=t(a),k=String(g.slug||j||"task"),l=await m(k,d),n="string"==typeof g.project_id?g.project_id:void 0,o="string"==typeof g.workflow_id?g.workflow_id:void 0;/^---\n/.test(a);let p="string"==typeof g.provider?g.provider:null,v="string"==typeof g.model?g.model:null,x="string"==typeof g.engine?g.engine:null,y="ai"===g.created_by?"ai":"user",z=q(g.depends_on),A=q(c?.dependsOn),B=A.length>0?A:z,C={id:(0,f.randomUUID)(),content:a,description:h,title:j,slug:l,status:g.status||"queued",stage:g.stage,project:g.project,...void 0!==n?{project_id:n}:{},...void 0!==o?{workflow_id:o}:{},priority:g.priority,engine:x,provider:p,model:v,swarm:i,swarm_models:c?.swarmModels??null,depends_on:B.length?B:null,created_by:y,user_id:b,current_plan:c?.currentPlan||null,open_blockers:c?.openBlockers||[],next_action:c?.nextAction||null,version:1};await s(C.id,B,d);let{data:D,error:E}=await d.from("tasks").insert(C).select().single();if(E&&"42703"===E.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}=C;({data:D,error:E}=await d.from("tasks").insert(k).select().single())}if(E)throw E;if(!D)throw Error("Failed to create task");return await u(D,b),await w(D.id,b)||D}async function z(a,b,c,d){let f=(0,e.x)(),{frontmatter:g,body:h}=r(b),i="boolean"==typeof g.swarm?g.swarm:void 0,j=t(b),k="string"==typeof g.project_id?g.project_id:void 0,l=Object.prototype.hasOwnProperty.call(g,"provider"),m=Object.prototype.hasOwnProperty.call(g,"model"),n=Object.prototype.hasOwnProperty.call(g,"workflow_id"),o=Object.prototype.hasOwnProperty.call(g,"depends_on"),p=q(g.depends_on),v=q(d?.dependsOn),x=d?.dependsOn!==void 0||o,y=d?.dependsOn!==void 0?v:p,z={content:b,description:h,title:j,status:g.status,stage:g.stage,project:g.project,...void 0!==k?{project_id:k}:{},workflow_id:n?g.workflow_id:void 0,priority:g.priority,engine:g.engine,provider:l?g.provider:null,model:m?g.model:null,swarm:i,swarm_models:d?.swarmModels??void 0,...x?{depends_on:y.length?y: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(z).forEach(a=>{void 0===z[a]&&delete z[a]}),x&&await s(a,y,f);let A=f.from("tasks").update({...z,version:f.rpc("increment_version")}).eq("id",a);c&&(A=A.eq("user_id",c)),d?.expectedVersion!==void 0&&(A=A.eq("version",d.expectedVersion));let{data:B,error:C}=await f.from("tasks").update({...z}).eq("id",a).select().single();if(C&&"42703"===C.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}=z,n=f.from("tasks").update(m).eq("id",a);c&&(n=n.eq("user_id",c)),{data:B,error:C}=await n.select().single()}if(C)throw C;if(!B)throw Error("Failed to create task");return await u(B,c),await w(B.id,c)||B}async function A(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 B(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 C(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(h(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function D(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(h(f,"projects"))return null;throw f}return d||null}async function E(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(h(d,"project_repos"))return[];throw d}return c||[]}e=(g.then?(await g)():g)[0];let ac=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function F(a,b){let c=(0,e.x)(),d=ac.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(h(g.error,"projects"))return null;throw g.error}let i=g.data;if(!i)return null;let j=await E(i.id);return{...i,repos:j}}async function G(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(h(f,"project_repos"))return[];throw f}return e||[]}async function H(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=o(c),e=b.name.trim()||"project",f=await n(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 G(h.id,b.repos??[],d);return{...h,repos:j}}async function I(a,b,c,d){let e=o(d),f=ac.test(a),g=a;if(!f){let c=await D(a,b);if(!c)return null;g=c.id}let i={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");i.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(i.slug=a)}if(void 0!==c.description&&(i.description=c.description),void 0!==c.metadata&&(i.metadata=c.metadata),void 0!==c.ci_cd_info&&(i.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(i.workflow_id=c.workflow_id),Object.keys(i).length){let{error:a}=await e.from("projects").update(i).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&&!h(a,"project_repos"))throw a;await G(g,c.repos,e)}return F(g,b)}async function J(a,b,c){let d=o(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function K(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(h(d,"workflows"))return[];throw d}return c||[]}async function L(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(h(f,"workflows"))return null;throw f}return d}async function M(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 N(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(h(d,"workflow_nodes"))return[];throw d}return c||[]}async function O(a,b,c){let d=(0,e.x)();if(!await L(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})),N(a)}async function P(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(h(d,"workflow_transitions"))return[];throw d}return c||[]}async function Q(a,b){let c=await L(a,b);if(!c)return null;let[d,e]=await Promise.all([N(a),P(a)]);return{...c,nodes:d,transitions:e}}function R(){return"00000000-0000-0000-0000-000000000001"}async function S(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 T(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}async function U(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 V(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 W(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 X(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 Y(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 Z(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 ad={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}},ae="00000000-0000-0000-0000-000000000001";async function $(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 _(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 aa(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 ab(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)}})}};
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={29021:a=>{a.exports=require("fs")},34589:a=>{a.exports=require("node:assert")},52586:(a,b,c)=>{async function d(){{let{getBoss:a,QUEUE_NAMES:b}=await c.e(7699).then(c.bind(c,17699)),{taskProcessor:d}=await c.e(6317).then(c.bind(c,46317)),e=await a();await e.work(b.TASK_PROCESS,{batchSize:5},d),console.log("[worker] pg-boss worker started (embedded)")}}c.r(b),c.d(b,{register:()=>d})},58500:a=>{a.exports=require("node:timers/promises")},64939:a=>{a.exports=import("pg")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79748:a=>{a.exports=require("fs/promises")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=52586);module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={29021:a=>{a.exports=require("fs")},34589:a=>{a.exports=require("node:assert")},52586:(a,b,c)=>{async function d(){{let{getBoss:a,QUEUE_NAMES:b}=await c.e(7699).then(c.bind(c,17699)),{taskProcessor:d}=await c.e(6317).then(c.bind(c,46317)),e=await a();await e.work(b.TASK_PROCESS,{batchSize:5},d),console.log("[worker] pg-boss worker started (embedded)")}}c.r(b),c.d(b,{register:()=>d})},55511:a=>{a.exports=require("crypto")},58500:a=>{a.exports=require("node:timers/promises")},64939:a=>{a.exports=import("pg")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79748:a=>{a.exports=require("fs/promises")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=52586);module.exports=c})();
@@ -18,11 +18,11 @@
18
18
  "wasm": [],
19
19
  "assets": [],
20
20
  "env": {
21
- "__NEXT_BUILD_ID": "nwJhRz_Iis8sU5igg53Oe",
22
- "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "kREqkIDTYhDe6ue2FNSTLGoGTAoDVOGS1PPP6XHyG7Y=",
23
- "__NEXT_PREVIEW_MODE_ID": "50cc9744a064ec765341fb004c1e57f0",
24
- "__NEXT_PREVIEW_MODE_SIGNING_KEY": "4a9d604d7178f19f6308beb9946fe0d3a3312db195724a3b4d6179ae5f0ea0ed",
25
- "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "89de5277d25269af6838b281000299df8397ff0533882ae16f6852e66a5c1f0b"
21
+ "__NEXT_BUILD_ID": "24myOUbvbiDvyX6evcbZU",
22
+ "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "l5q9wyuZwv1Durk0212F0tnUikAOZQFjo4PhzFA8/T4=",
23
+ "__NEXT_PREVIEW_MODE_ID": "0d74dfc41fca5a3820a2e211224442e0",
24
+ "__NEXT_PREVIEW_MODE_SIGNING_KEY": "29cead47c58463aa80fab296147574951bcef4aa892793bd78cdd7b9cd4284db",
25
+ "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "a76193d7668e784072b321be0342168e36b0b1cfc6ae84b0f5482f743914f14a"
26
26
  }
27
27
  }
28
28
  },