@mndrk/agx 1.4.61 → 1.4.62

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 (176) hide show
  1. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +80 -73
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +10 -9
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +15 -15
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +8 -0
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route_client-reference-manifest.js +1 -1
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route_client-reference-manifest.js +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js +11 -0
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -0
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route_client-reference-manifest.js +1 -0
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +3 -3
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +2 -2
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +2 -2
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +2 -2
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +1 -1
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +1 -1
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +2 -2
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +2 -2
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +10 -9
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +3 -3
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{4269.js → 8666.js} +2 -2
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +1 -0
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{3424-b2ffdccf784b0ce5.js → 8960-720130c8c9bf5b1c.js} +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/{auth/daemon-secret/route-04c3c3cacd67004b.js → audit/route-bee7977512f30f17.js} +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/{device/code/route-04c3c3cacd67004b.js → [...nextauth]/route-bee7977512f30f17.js} +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/{audit/route-04c3c3cacd67004b.js → auth/daemon-secret/route-bee7977512f30f17.js} +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/{[...nextauth]/route-04c3c3cacd67004b.js → device/code/route-bee7977512f30f17.js} +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-bee7977512f30f17.js +1 -0
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-bee7977512f30f17.js +1 -0
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-bee7977512f30f17.js +1 -0
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-bee7977512f30f17.js +1 -0
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-bee7977512f30f17.js +1 -0
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-bee7977512f30f17.js +1 -0
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-bee7977512f30f17.js +1 -0
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-bee7977512f30f17.js +1 -0
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-bee7977512f30f17.js +1 -0
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-bee7977512f30f17.js +1 -0
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-bee7977512f30f17.js +1 -0
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-bee7977512f30f17.js +1 -0
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-bee7977512f30f17.js +1 -0
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-bee7977512f30f17.js +1 -0
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-bee7977512f30f17.js +1 -0
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-bee7977512f30f17.js +1 -0
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-bee7977512f30f17.js +1 -0
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-bee7977512f30f17.js +1 -0
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-bee7977512f30f17.js +1 -0
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-bee7977512f30f17.js +1 -0
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-bee7977512f30f17.js +1 -0
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-bee7977512f30f17.js +1 -0
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-bee7977512f30f17.js +1 -0
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-bee7977512f30f17.js +1 -0
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-bee7977512f30f17.js +1 -0
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-bee7977512f30f17.js +1 -0
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-bee7977512f30f17.js +1 -0
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-bee7977512f30f17.js +1 -0
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-bee7977512f30f17.js +1 -0
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-bee7977512f30f17.js +1 -0
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-bee7977512f30f17.js +1 -0
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-bee7977512f30f17.js +1 -0
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-bee7977512f30f17.js +1 -0
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-bee7977512f30f17.js +1 -0
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-bee7977512f30f17.js +1 -0
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/{page-1c6069a7a4dd058d.js → page-39c6907dc645eb6f.js} +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/{page-445516e005034dd0.js → page-d35f0d29790d06ca.js} +1 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/{page-f1c8a838c838b996.js → page-d097a2c0e0fc17cf.js} +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/{page-c76247052ae5aa25.js → page-444e63f0464b1d40.js} +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +356 -9
  136. package/lib/cli/runCli.js +132 -25
  137. package/lib/commands/templates.js +83 -0
  138. package/lib/notifications/webhooks.js +123 -0
  139. package/lib/templates.js +123 -0
  140. package/package.json +3 -2
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-04c3c3cacd67004b.js +0 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-04c3c3cacd67004b.js +0 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-04c3c3cacd67004b.js +0 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-04c3c3cacd67004b.js +0 -1
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-04c3c3cacd67004b.js +0 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-04c3c3cacd67004b.js +0 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-04c3c3cacd67004b.js +0 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-04c3c3cacd67004b.js +0 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-04c3c3cacd67004b.js +0 -1
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-04c3c3cacd67004b.js +0 -1
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-04c3c3cacd67004b.js +0 -1
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-04c3c3cacd67004b.js +0 -1
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-04c3c3cacd67004b.js +0 -1
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-04c3c3cacd67004b.js +0 -1
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-04c3c3cacd67004b.js +0 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-04c3c3cacd67004b.js +0 -1
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-04c3c3cacd67004b.js +0 -1
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-04c3c3cacd67004b.js +0 -1
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-04c3c3cacd67004b.js +0 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-04c3c3cacd67004b.js +0 -1
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-04c3c3cacd67004b.js +0 -1
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-04c3c3cacd67004b.js +0 -1
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-04c3c3cacd67004b.js +0 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-04c3c3cacd67004b.js +0 -1
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-04c3c3cacd67004b.js +0 -1
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-04c3c3cacd67004b.js +0 -1
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-04c3c3cacd67004b.js +0 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-04c3c3cacd67004b.js +0 -1
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-04c3c3cacd67004b.js +0 -1
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-04c3c3cacd67004b.js +0 -1
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-04c3c3cacd67004b.js +0 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-04c3c3cacd67004b.js +0 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-04c3c3cacd67004b.js +0 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-04c3c3cacd67004b.js +0 -1
  175. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{x2zqTGbGGK8nA-dlhcQDx → _knBrbKtV87NnpUclVMJo}/_buildManifest.js +0 -0
  176. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{x2zqTGbGGK8nA-dlhcQDx → _knBrbKtV87NnpUclVMJo}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=7143,exports.ids=[7143],exports.modules={1236:(a,b,c)=>{c.d(b,{$N:()=>e,AT:()=>f});let d="Waiting on dependencies";function e(a){if(!a||0===a.length)return"";let b=a.slice(0,3).map(a=>`${a.title?a.title:a.slug?a.slug:a.id?a.id:"(unknown)"}${(a.status?` (${a.status})`:null)??""}`),c=`${d}: ${b.join(", ")}`;return a.length>3&&(c+=` +${a.length-3} more`),c}function f(a){return"string"==typeof a&&a.startsWith(d)}},27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>$,Cp:()=>R,Fw:()=>G,IB:()=>l,JQ:()=>D,Jg:()=>U,OH:()=>ae,UT:()=>z,VG:()=>X,WH:()=>Z,ZG:()=>ad,_f:()=>ac,a4:()=>Y,bg:()=>L,co:()=>E,et:()=>af,g1:()=>ab,gA:()=>I,gd:()=>W,gg:()=>x,h_:()=>j,iN:()=>aa,k9:()=>k,lC:()=>A,mc:()=>y,mk:()=>S,oe:()=>_,ou:()=>ai,pW:()=>T,rV:()=>F,tB:()=>ah,updateWorkflow:()=>N,updateWorkflowNodes:()=>P,vq:()=>C,vr:()=>J,x1:()=>w,xw:()=>B,xx:()=>K,yv:()=>s});var e=c(79965),f=c(1236),g=c(55511),h=a([e]);function i(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 j(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(i(d,"user_settings"))return null;throw d}return c||null}async function k(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 j(a);if(d&&g?.changed_at){let a=Date.parse(g.changed_at),b=Date.parse(f);if(Number.isFinite(a)&&Number.isFinite(b)&&b<=a)return{settings:g,updated:!1}}let h={user_id:a,default_provider:b.default_provider??g?.default_provider??null,models:b.models??g?.models??{},provenance:b.provenance,changed_at:f},i=(0,e.x)(),{error:k}=await i.from("user_settings").upsert(h,{onConflict:"user_id"});if(k)throw k;let l=await j(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function l(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 m(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function n(a,b){let c=m(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=`${m(a)}-${f}`.slice(0,48)}return`${m(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function o(a,b,c,d){let e=m(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=`${m(a)}-${i}`.slice(0,48)}return`${m(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function p(a){return a??(0,e.x)()}function q(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 r(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=q(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function s(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]=q(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 t(a,b,c){if(!a||!b?.length)return;let d=p(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 u(a){let{body:b}=s(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}async function v(a,b){let c=Array.isArray(a.depends_on)?a.depends_on:[];if(!c.length)return;let d=(0,e.x)(),{data:g,error:h}=await d.from("tasks").select("id, title, slug, status, stage").in("id",c);if(h)return;let i=(Array.isArray(g)?g:[]).filter(a=>"completed"!==(a?.status||""));if(i.length){let c=(0,f.$N)(i),e=d.from("tasks").update({status:"blocked",blocked_reason:c}).eq("id",a.id);b&&(e=e.eq("user_id",b));let{error:g}=await e;if(g&&"42703"!==g.code)throw g;return}if("blocked"===a.status&&(0,f.AT)(a.blocked_reason)){let c=d.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",a.id);b&&(c=c.eq("user_id",b));let{error:e}=await c;if(e&&"42703"!==e.code)throw e}}async function w(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 x(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 y(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 z(a,b,c){let d=(0,e.x)(),{frontmatter:f,body:h}=s(a),i="boolean"==typeof f.swarm?f.swarm:void 0,j=u(a),k=String(f.slug||j||"task"),l=await n(k,d),m="string"==typeof f.project_id?f.project_id:void 0,o="string"==typeof f.workflow_id?f.workflow_id:void 0;/^---\n/.test(a);let p="string"==typeof f.provider?f.provider:null,q="string"==typeof f.model?f.model:null,w="string"==typeof f.engine?f.engine:null,y="ai"===f.created_by?"ai":"user",z=r(f.depends_on),A=r(c?.dependsOn),B=A.length>0?A:z,C={id:(0,g.randomUUID)(),content:a,description:h,title:j,slug:l,status:f.status||"queued",stage:f.stage,project:f.project,...void 0!==m?{project_id:m}:{},...void 0!==o?{workflow_id:o}:{},priority:f.priority,engine:w,provider:p,model:q,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 t(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 v(D,b),await x(D.id,b)||D}async function A(a,b,c,d){let f=(0,e.x)(),{frontmatter:g,body:h}=s(b),i="boolean"==typeof g.swarm?g.swarm:void 0,j=u(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=r(g.depends_on),q=r(d?.dependsOn),w=d?.dependsOn!==void 0||o,y=d?.dependsOn!==void 0?q: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,...w?{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]}),w&&await t(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 v(B,c),await x(B.id,c)||B}async function B(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 C(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 D(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(i(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function E(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(i(f,"projects"))return null;throw f}return d||null}async function F(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(i(d,"project_repos"))return[];throw d}return c||[]}e=(h.then?(await h)():h)[0];let ag=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function G(a,b){let c=(0,e.x)(),d=ag.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(i(g.error,"projects"))return null;throw g.error}let h=g.data;if(!h)return null;let j=await F(h.id);return{...h,repos:j}}async function H(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(i(f,"project_repos"))return[];throw f}return e||[]}async function I(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=p(c),e=b.name.trim()||"project",f=await o(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 H(h.id,b.repos??[],d);return{...h,repos:j}}async function J(a,b,c,d){let e=p(d),f=ag.test(a),g=a;if(!f){let c=await E(a,b);if(!c)return null;g=c.id}let h={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");h.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(h.slug=a)}if(void 0!==c.description&&(h.description=c.description),void 0!==c.metadata&&(h.metadata=c.metadata),void 0!==c.ci_cd_info&&(h.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(h.workflow_id=c.workflow_id),Object.keys(h).length){let{error:a}=await e.from("projects").update(h).eq("id",g).eq("user_id",b);if(a)throw a}if(c.repos){let{error:a}=await e.from("project_repos").delete().eq("project_id",g);if(a&&!i(a,"project_repos"))throw a;await H(g,c.repos,e)}return G(g,b)}async function K(a,b,c){let d=p(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function L(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(i(d,"workflows"))return[];throw d}return c||[]}async function M(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(i(f,"workflows"))return null;throw f}return d}async function N(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 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(i(d,"workflow_nodes"))return[];throw d}return c||[]}async function P(a,b,c){let d=(0,e.x)();if(!await M(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})),O(a)}async function Q(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(i(d,"workflow_transitions"))return[];throw d}return c||[]}async function R(a,b){let c=await M(a,b);if(!c)return null;let[d,e]=await Promise.all([O(a),Q(a)]);return{...c,nodes:d,transitions:e}}function S(){return"00000000-0000-0000-0000-000000000001"}async function T(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 U(a,b,c){let d=(0,e.x)(),{data:f,error:g}=await d.from("task_logs").insert({task_id:a,content:b,log_type:c}).select().single();if(g)throw g;return f}function V(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,Math.round(b)):0}async function W(a){let b=(0,e.x)(),c={task_id:a.taskId,stage:a.stage,provider:a.provider??null,model:a.model??null,input_tokens:V(a.inputTokens),output_tokens:V(a.outputTokens),estimated_cost:function(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,b):0}(a.estimatedCost)},{data:d,error:f}=await b.from("task_costs").insert(c).select().single();if(f)throw f;return d}async function X(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_costs").select("*").eq("task_id",a).order("created_at",{ascending:!0});if(d)throw d;return c||[]}async function Y(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 Z(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("task_comments").insert({task_id:a,content:b,author_type:c,author_id:d??null}).select().single();if(h)throw h;return g}async function $(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("task_comments").select("author_id, author_type").eq("id",a).single();if(f)throw f;if(!d)throw Error("Comment not found");if("user"!==d.author_type||d.author_id!==b)throw Error("Unauthorized");let{error:g}=await c.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",a).is("deleted_at",null);if(g)throw g}async function _(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 aa(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 ab(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 ah={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}},ai="00000000-0000-0000-0000-000000000001";async function ac(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 ad(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 ae(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 af(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={1236:(a,b,c)=>{c.d(b,{$N:()=>e,AT:()=>f});let d="Waiting on dependencies";function e(a){if(!a||0===a.length)return"";let b=a.slice(0,3).map(a=>`${a.title?a.title:a.slug?a.slug:a.id?a.id:"(unknown)"}${(a.status?` (${a.status})`:null)??""}`),c=`${d}: ${b.join(", ")}`;return a.length>3&&(c+=` +${a.length-3} more`),c}function f(a){return"string"==typeof a&&a.startsWith(d)}},27143:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Co:()=>_,Cp:()=>S,Fw:()=>H,IB:()=>m,JQ:()=>E,Jg:()=>V,OH:()=>af,UT:()=>A,VG:()=>Y,WH:()=>$,ZG:()=>ae,_f:()=>ad,a4:()=>Z,bg:()=>M,co:()=>F,et:()=>ag,g1:()=>ac,gA:()=>J,gd:()=>X,gg:()=>y,h_:()=>k,iN:()=>ab,k9:()=>l,lC:()=>B,mc:()=>z,mk:()=>T,oe:()=>aa,ou:()=>aj,pW:()=>U,rV:()=>G,tB:()=>ai,updateWorkflow:()=>O,updateWorkflowNodes:()=>Q,vq:()=>D,vr:()=>K,x1:()=>x,xw:()=>C,xx:()=>L,yv:()=>t});var e=c(79965),f=c(1236),g=c(55794),h=c(55511),i=a([e,g]);function j(a,b){if(!a)return!1;let c="string"==typeof a.message?a.message:"";return"42P01"===a.code||"PGRST205"===a.code||c.includes(`relation "${b}" does not exist`)||c.includes(`Could not find the table 'agx.${b}'`)||c.includes(`Could not find the table 'public.${b}'`)}async function k(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("user_settings").select("*").eq("user_id",a).maybeSingle();if(d){if(j(d,"user_settings"))return null;throw d}return c||null}async function l(a,b,c){let d=c?.onlyIfNewer!==!1,f=function(a){if("string"==typeof a){let b=Date.parse(a);if(Number.isFinite(b))return new Date(b).toISOString()}return new Date().toISOString()}(b.changed_at),g=await k(a);if(d&&g?.changed_at){let a=Date.parse(g.changed_at),b=Date.parse(f);if(Number.isFinite(a)&&Number.isFinite(b)&&b<=a)return{settings:g,updated:!1}}let h={user_id:a,default_provider:b.default_provider??g?.default_provider??null,models:b.models??g?.models??{},provenance:b.provenance,changed_at:f},i=(0,e.x)(),{error:j}=await i.from("user_settings").upsert(h,{onConflict:"user_id"});if(j)throw j;let l=await k(a);if(!l)throw Error("Failed to load user_settings after upsert");return{settings:l,updated:!0}}function m(a,b,c){let d=a=>"string"!=typeof a?null:a.trim()||null,e=d(c?.default_provider)||"gemini",f=d(a.provider)||d(b?.provider)||e,g=d(c?.models?.[f])||null,h=d(a.model)||d(b?.model)||g||null,i=a.swarm??b?.swarm??!1,j=a.swarm_models?.length?a.swarm_models:b?.swarm_models||[];return{provider:f,model:h,swarm:i,swarm_models:j}}function n(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function o(a,b){let c=n(a);for(let d=0;d<5;d++){let{data:d,error:e}=await b.from("tasks").select("id").eq("slug",c).limit(1);if(e)throw e;if(!d||0===d.length)return c;let f=Math.random().toString(36).slice(2,6);c=`${n(a)}-${f}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function p(a,b,c,d){let e=n(a);for(let f=0;f<5;f++){let f=c.from("projects").select("id").eq("slug",e).eq("user_id",b);d&&(f=f.neq("id",d));let{data:g,error:h}=await f.limit(1);if(h)throw h;if(!g||0===g.length)return e;let i=Math.random().toString(36).slice(2,6);e=`${n(a)}-${i}`.slice(0,48)}return`${n(a)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function q(a){return a??(0,e.x)()}function r(a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return a.map(a=>String(a||"").trim()).filter(Boolean)}catch{}return b.split(",").map(a=>a.trim()).filter(Boolean)}function s(a){let b;if(!a)return[];if(Array.isArray(a))b=a.map(a=>"string"==typeof a?a:null==a?"":String(a)).filter(Boolean);else{if("string"!=typeof a)return[];b=r(a)}return Array.from(new Set(b.map(a=>a.trim()).filter(Boolean)))}function t(a){let b=a.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!b)return{frontmatter:{},body:a};let c={};for(let a of b[1].split("\n")){let b=a.indexOf(":");if(b>0){let d=a.slice(0,b).trim(),e=a.slice(b+1).trim();if("depends_on"===d){c[d]=r(e);continue}"true"===e?c[d]=!0:"false"===e?c[d]=!1:/^\d+$/.test(e)?c[d]=parseInt(e):c[d]=e}}return{frontmatter:c,body:b[2]}}async function u(a,b,c){if(!a||!b?.length)return;let d=q(c),e=new Set,f=[...b];for(;f.length;){let b=f.pop();if(!b)continue;if(b===a)throw Error("Circular dependency detected");if(e.has(b))continue;e.add(b);let{data:c,error:g}=await d.from("tasks").select("depends_on").eq("id",b).maybeSingle();if(g){if("PGRST116"===g.code||"42703"===g.code)continue;throw g}if(c)for(let a of Array.isArray(c.depends_on)?c.depends_on:[])a&&!e.has(a)&&f.push(a)}}function v(a){let{body:b}=t(a),c=b.match(/^#\s+(.+)$/m);return c?c[1]:void 0}async function w(a,b){let c=Array.isArray(a.depends_on)?a.depends_on:[];if(!c.length)return;let d=(0,e.x)(),{data:g,error:h}=await d.from("tasks").select("id, title, slug, status, stage").in("id",c);if(h)return;let i=(Array.isArray(g)?g:[]).filter(a=>"completed"!==(a?.status||""));if(i.length){let c=(0,f.$N)(i),e=d.from("tasks").update({status:"blocked",blocked_reason:c}).eq("id",a.id);b&&(e=e.eq("user_id",b));let{error:g}=await e;if(g&&"42703"!==g.code)throw g;return}if("blocked"===a.status&&(0,f.AT)(a.blocked_reason)){let c=d.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",a.id);b&&(c=c.eq("user_id",b));let{error:e}=await c;if(e&&"42703"!==e.code)throw e}}async function x(a,b){console.log("getTasks called with userId:",a);let c=(0,e.x)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});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 y(a,b){let c=(0,e.x)().from("tasks").select("*").eq("id",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function z(a,b){let c=(0,e.x)().from("tasks").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.single();if(f){if("PGRST116"===f.code)return null;throw f}return d}async function A(a,b,c){let d=(0,e.x)(),{frontmatter:f,body:i}=t(a),j="boolean"==typeof f.swarm?f.swarm:void 0,k=v(a),l=String(f.slug||k||"task"),m=await o(l,d),n="string"==typeof f.project_id?f.project_id:void 0,p="string"==typeof f.workflow_id?f.workflow_id:void 0;/^---\n/.test(a);let q="string"==typeof f.provider?f.provider:null,r="string"==typeof f.model?f.model:null,x="string"==typeof f.engine?f.engine:null,z="ai"===f.created_by?"ai":"user",A=s(f.depends_on),B=s(c?.dependsOn),C=B.length>0?B:A,D={id:(0,h.randomUUID)(),content:a,description:i,title:k,slug:m,status:f.status||"queued",stage:f.stage,project:f.project,...void 0!==n?{project_id:n}:{},...void 0!==p?{workflow_id:p}:{},priority:f.priority,engine:x,provider:q,model:r,swarm:j,swarm_models:c?.swarmModels??null,depends_on:C.length?C:null,created_by:z,user_id:b,current_plan:c?.currentPlan||null,open_blockers:c?.openBlockers||[],next_action:c?.nextAction||null,version:1};await u(D.id,C,d);let{data:E,error:F}=await d.from("tasks").insert(D).select().single();if(F&&"42703"===F.code){let{description:a,swarm_models:b,swarm:c,workflow_id:e,current_plan:f,open_blockers:g,next_action:h,version:i,depends_on:j,...k}=D;({data:E,error:F}=await d.from("tasks").insert(k).select().single())}if(F)throw F;if(!E)throw Error("Failed to create task");await w(E,b);let G=await y(E.id,b)||E,H=b||G.user_id;if(H){let a=G.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(G.depends_on)?G.depends_on:[],project:G.project||null,projectId:G.project_id||null,workflowId:G.workflow_id||null,createdBy:G.created_by||null};(0,g.lD)({taskId:G.id,userId:H,eventType:"task.created",title:G.title||null,slug:G.slug||null,stage:G.stage||null,status:G.status||null,timestamp:a,details:b})}return G}async function B(a,b,c,d){let f=(0,e.x)(),{frontmatter:h,body:i}=t(b),j="boolean"==typeof h.swarm?h.swarm:void 0,k=v(b),l="string"==typeof h.project_id?h.project_id:void 0,m=Object.prototype.hasOwnProperty.call(h,"provider"),n=Object.prototype.hasOwnProperty.call(h,"model"),o=Object.prototype.hasOwnProperty.call(h,"workflow_id"),p=Object.prototype.hasOwnProperty.call(h,"depends_on"),q=s(h.depends_on),r=s(d?.dependsOn),x=d?.dependsOn!==void 0||p,z=d?.dependsOn!==void 0?r:q,A={content:b,description:i,title:k,status:h.status,stage:h.stage,project:h.project,...void 0!==l?{project_id:l}:{},workflow_id:o?h.workflow_id:void 0,priority:h.priority,engine:h.engine,provider:m?h.provider:null,model:n?h.model:null,swarm:j,swarm_models:d?.swarmModels??void 0,...x?{depends_on:z.length?z:null}:{},updated_at:new Date().toISOString(),current_plan:d?.currentPlan??void 0,open_blockers:d?.openBlockers??void 0,next_action:d?.nextAction??void 0};Object.keys(A).forEach(a=>{void 0===A[a]&&delete A[a]}),x&&await u(a,z,f);let B=f.from("tasks").update({...A,version:f.rpc("increment_version")}).eq("id",a);c&&(B=B.eq("user_id",c)),d?.expectedVersion!==void 0&&(B=B.eq("version",d.expectedVersion));let{data:C,error:D}=await f.from("tasks").update({...A}).eq("id",a).select().single();if(D&&"42703"===D.code){let{description:b,swarm_models:d,swarm:e,workflow_id:g,current_plan:h,open_blockers:i,next_action:j,version:k,depends_on:l,...m}=A,n=f.from("tasks").update(m).eq("id",a);c&&(n=n.eq("user_id",c)),{data:C,error:D}=await n.select().single()}if(D)throw D;if(!C)throw Error("Failed to create task");await w(C,c);let E=await y(C.id,c)||C,F=c||E.user_id;if(F){let a=E.created_at||new Date().toISOString(),b={dependsOn:Array.isArray(E.depends_on)?E.depends_on:[],project:E.project||null,projectId:E.project_id||null,workflowId:E.workflow_id||null,createdBy:E.created_by||null};(0,g.lD)({taskId:E.id,userId:F,eventType:"task.created",title:E.title||null,slug:E.slug||null,stage:E.stage||null,status:E.status||null,timestamp:a,details:b})}return E}async function C(a,b,c=25){let d=(0,e.x)(),{data:f,error:g}=await d.from("tasks").select("run_index").eq("id",a).single();if(g){if(g?.code==="42703")return;throw g}let h=Array.isArray(f.run_index)?f.run_index:[],i=[b,...h].slice(0,c),{error:j}=await d.from("tasks").update({run_index:i}).eq("id",a);if(j){if(j?.code==="42703")return;throw j}}async function D(a,b){let c=(0,e.x)().from("tasks").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}async function E(a){let b=(0,e.x)().from("projects").select("*, project_repos(*)");a&&(b=b.eq("user_id",a));let{data:c,error:d}=await b;if(d){if(j(d,"projects"))return[];throw d}return(c||[]).map(a=>({...a,repos:a.project_repos??[]}))}async function F(a,b){let c=(0,e.x)().from("projects").select("*").eq("slug",a);b&&(c=c.eq("user_id",b));let{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"projects"))return null;throw f}return d||null}async function G(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("project_repos").select("*").eq("project_id",a);if(d){if(j(d,"project_repos"))return[];throw d}return c||[]}[e,g]=i.then?(await i)():i;let ah=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function H(a,b){let c=(0,e.x)(),d=ah.test(a),f=c.from("projects").select("*");f=d?f.eq("id",a):f.eq("slug",a),b&&(f=f.eq("user_id",b));let g=await f.maybeSingle();if(g.error){if(j(g.error,"projects"))return null;throw g.error}let h=g.data;if(!h)return null;let i=await G(h.id);return{...h,repos:i}}async function I(a,b,c){if(!b.length)return[];let d=b.map(b=>({project_id:a,name:b.name,path:b.path??null,notes:b.notes??null})),{data:e,error:f}=await c.from("project_repos").insert(d).select("*");if(f){if(j(f,"project_repos"))return[];throw f}return e||[]}async function J(a,b,c){if(!b.name?.trim())throw Error("Project name is required");let d=q(c),e=b.name.trim()||"project",f=await p(e,a,d),g={user_id:a,name:b.name.trim(),slug:f,description:b.description??null,workflow_id:b.workflow_id??null},{data:h,error:i}=await d.from("projects").insert(g).select("*").single();if(i)throw i;let j=await I(h.id,b.repos??[],d);return{...h,repos:j}}async function K(a,b,c,d){let e=q(d),f=ah.test(a),g=a;if(!f){let c=await F(a,b);if(!c)return null;g=c.id}let h={};if(void 0!==c.name){let a=c.name?.trim();if(!a)throw Error("Project name cannot be empty");h.name=a}if(void 0!==c.slug){let a=c.slug?.trim();a&&(h.slug=a)}if(void 0!==c.description&&(h.description=c.description),void 0!==c.metadata&&(h.metadata=c.metadata),void 0!==c.ci_cd_info&&(h.ci_cd_info=c.ci_cd_info),void 0!==c.workflow_id&&(h.workflow_id=c.workflow_id),Object.keys(h).length){let{error:a}=await e.from("projects").update(h).eq("id",g).eq("user_id",b);if(a)throw a}if(c.repos){let{error:a}=await e.from("project_repos").delete().eq("project_id",g);if(a&&!j(a,"project_repos"))throw a;await I(g,c.repos,e)}return H(g,b)}async function L(a,b,c){let d=q(c),{error:e}=await d.from("projects").delete().eq("id",a).eq("user_id",b);if(e)throw e}async function M(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflows").select("*").or(`user_id.eq.${a},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(d){if(j(d,"workflows"))return[];throw d}return c||[]}async function N(a,b){let c=(0,e.x)().from("workflows").select("*").eq("id",a),{data:d,error:f}=await c.maybeSingle();if(f){if(j(f,"workflows"))return null;throw f}return d}async function O(a,b,c){let d=(0,e.x)(),f={updated_at:new Date().toISOString()};void 0!==c.definition&&(f.definition=c.definition),void 0!==c.name&&(f.name=c.name),void 0!==c.description&&(f.description=c.description);let{data:g,error:h}=await d.from("workflows").update(f).eq("id",a).select().single();if(h)throw h;return g}async function P(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_nodes").select("*").eq("workflow_id",a).order("position",{ascending:!0});if(d){if(j(d,"workflow_nodes"))return[];throw d}return c||[]}async function Q(a,b,c){let d=(0,e.x)();if(!await N(a,b))throw Error("Workflow not found");return await Promise.all(c.map(async b=>{let c={updated_at:new Date().toISOString()};if(void 0!==b.prompt&&(c.prompt=b.prompt),void 0!==b.provider&&(c.provider=b.provider),void 0!==b.model&&(c.model=b.model),void 0!==b.metadata&&(c.metadata=b.metadata),Object.keys(c).length<=1)return;let{error:e}=await d.from("workflow_nodes").update(c).eq("workflow_id",a).eq("id",b.id);if(e)throw e})),P(a)}async function R(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("workflow_transitions").select("*").eq("workflow_id",a).order("priority",{ascending:!0});if(d){if(j(d,"workflow_transitions"))return[];throw d}return c||[]}async function S(a,b){let c=await N(a,b);if(!c)return null;let[d,e]=await Promise.all([P(a),R(a)]);return{...c,nodes:d,transitions:e}}function T(){return"00000000-0000-0000-0000-000000000001"}async function U(a,b={}){let c=(0,e.x)(),d=Math.max(1,Math.min(2e3,Number(b.limit??b.tail??500))),f="string"==typeof b.after&&b.after.trim()?b.after.trim():null,g=f?null:void 0===b.tail?d:Number(b.tail),h=null!==g&&Number.isFinite(g)&&g>0,i=c.from("task_logs").select("*").eq("task_id",a);i=f?i.gt("created_at",f).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d):h?i.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(d):i.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(d);let{data:j,error:k}=await i;if(k)throw k;let l=j||[];return f?l:h?l.slice().reverse():l}async function V(a,b,c){let d=(0,e.x)(),{data:f,error:g}=await d.from("task_logs").insert({task_id:a,content:b,log_type:c}).select().single();if(g)throw g;return f}function W(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,Math.round(b)):0}async function X(a){let b=(0,e.x)(),c={task_id:a.taskId,stage:a.stage,provider:a.provider??null,model:a.model??null,input_tokens:W(a.inputTokens),output_tokens:W(a.outputTokens),estimated_cost:function(a){let b=Number(a??0);return Number.isFinite(b)?Math.max(0,b):0}(a.estimatedCost)},{data:d,error:f}=await b.from("task_costs").insert(c).select().single();if(f)throw f;return d}async function Y(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_costs").select("*").eq("task_id",a).order("created_at",{ascending:!0});if(d)throw d;return c||[]}async function Z(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("task_comments").select("*").eq("task_id",a).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(d)throw d;return c||[]}async function $(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("task_comments").insert({task_id:a,content:b,author_type:c,author_id:d??null}).select().single();if(h)throw h;return g}async function _(a,b){let c=(0,e.x)(),{data:d,error:f}=await c.from("task_comments").select("author_id, author_type").eq("id",a).single();if(f)throw f;if(!d)throw Error("Comment not found");if("user"!==d.author_type||d.author_id!==b)throw Error("Unauthorized");let{error:g}=await c.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",a).is("deleted_at",null);if(g)throw g}async function aa(a,b,c){let d=(0,e.x)().from("learnings").select("*").eq("scope",a).order("created_at",{ascending:!1});b&&(d=d.eq("scope_id",b)),c&&(d=d.eq("user_id",c));let{data:f,error:g}=await d;if(g)throw g;return f||[]}async function ab(a,b,c,d){let f=(0,e.x)(),{data:g,error:h}=await f.from("learnings").insert({scope:a,scope_id:c,content:b,user_id:d}).select().single();if(h)throw h;return g}async function ac(a,b){let c=(0,e.x)().from("learnings").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}let ai={ideation:{prompt:"Do the hard work to understand the user's true intent, as they may not know it themselves. Interpret their request and present concrete scenarios to help them visualize options. Iterate until something 'clicks'. It is okay if only 1 out of 10 proposals resonates; the goal is finding that alignment.",outputs:["research.md"],swarm:!1},planning:{prompt:"Translate the aligned intent into an implementation plan.",outputs:["plan.md","tasks.md"],swarm:!1},execution:{prompt:"Implement based on all the context/history/research/plan. Write clean, tested code. Follow the plan and execute on the tasks.",outputs:["code","tests","PR"],swarm:!1},verification:{prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify the implementation works as expected against the requirements. Return PASS/FAIL/BLOCKED with exact rationale.",outputs:["test results","bug fixes"],swarm:!1},done:{prompt:"Task finished and shipped.",outputs:[],swarm:!1}},aj="00000000-0000-0000-0000-000000000001";async function ad(a,b){let c=(0,e.x)().from("stage_prompts").select("*").eq("workflow_id",b).order("stage",{ascending:!0});c=a?c.or(`user_id.eq.${a},is_default.eq.true`):c.eq("is_default",!0);let{data:d,error:f}=await c;if(f)throw f;return d||[]}async function ae(a,b,c){let d=(0,e.x)();if(b){let{data:e}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("user_id",b).single();if(e)return e}let{data:f}=await d.from("stage_prompts").select("*").eq("workflow_id",c).eq("stage",a).eq("is_default",!0).single();return f||null}async function af(a,b,c=[],d,f,g){let h=(0,e.x)(),i={stage:a,prompt:b,outputs:c,user_id:d,is_default:!d,workflow_id:g};f&&(void 0!==f.swarm&&(i.swarm=f.swarm),void 0!==f.provider&&(i.provider=f.provider),void 0!==f.model&&(i.model=f.model),void 0!==f.swarm_models&&(i.swarm_models=f.swarm_models));let{data:j,error:k}=await h.from("stage_prompts").upsert(i,{onConflict:d?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(k)throw k;return j}async function ag(a,b){let c=(0,e.x)().from("stage_prompts").delete().eq("id",a);b&&(c=c.eq("user_id",b));let{error:d}=await c;if(d)throw d}d()}catch(a){d(a)}})},35923:(a,b,c)=>{c.d(b,{W:()=>d});let d=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(a=>a.value)},55794:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{lD:()=>k});var e=c(79965),f=c(35923),g=a([e]);e=(g.then?(await g)():g)[0];class l extends Error{}function h(a){let b=Array.isArray(a.events)?a.events.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>f.W.includes(a)):[];return{id:String(a.id),user_id:String(a.user_id),url:String(a.url),name:null!=a.name?String(a.name):null,events:b,enabled:!1!==a.enabled,created_at:String(a.created_at),updated_at:String(a.updated_at)}}async function i(a,b){if(function(a,b){if(!a||"object"!=typeof a)return!1;let c=a.code,d="string"==typeof a.message?a.message:"";return"42P01"===c||"PGRST205"===c||d.includes(`relation "${b}" does not exist`)||d.includes(`Could not find the table 'agx.${b}'`)||d.includes(`Could not find the table 'public.${b}'`)}(b,a))throw new l(`Missing relation: ${a}`);throw b}async function j(a){let b=(0,e.x)(),{data:c,error:d}=await b.from("notification_webhooks").select("*").eq("user_id",a).order("created_at",{ascending:!1});return(d&&await i("notification_webhooks",d),c)?(Array.isArray(c)?c:[c]).map(h):[]}async function k(a){if(!a.userId)return;let b=[];try{b=await j(a.userId)}catch(a){if(a instanceof l)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",a);return}let c=b.filter(b=>b.enabled&&b.events.includes(a.eventType));if(!c.length)return;let d=a.timestamp||new Date().toISOString(),e={eventType:a.eventType,taskId:a.taskId,userId:a.userId,title:a.title||null,slug:a.slug||null,stage:a.stage||null,previousStage:a.previousStage||null,nextStage:a.nextStage||null,status:a.status||null,error:a.error||null,timestamp:d,details:a.details||{}};await Promise.all(c.map(async a=>{try{let b=await fetch(a.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});b.ok||console.error(`[notifications] webhook ${a.url} responded with ${b.status}`)}catch(b){console.error(`[notifications] failed to send to ${a.url}`,b)}}))}d()}catch(a){d(a)}})}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=4269,exports.ids=[4269],exports.modules={7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},49961:(a,b,c)=>{c.d(b,{A:()=>K});var d=c(21124),e=c(38301),f=c(94195);function g({comments:a,onAddComment:b,onDeleteComment:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),n=async a=>{if(a.preventDefault(),f.trim()&&!j){k(!0);try{await b(f),g(""),i(!1)}finally{k(!1)}}},o=async a=>{if(c&&!l&&confirm("Are you sure you want to delete this comment?")){m(a);try{await c(a)}catch(a){console.error("Failed to delete comment:",a)}finally{m(null)}}};return(0,d.jsxs)("div",{className:"space-y-4",children:[h?(0,d.jsxs)("form",{onSubmit:n,className:"space-y-3 animate-fade-in-up",children:[(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"Add context, decisions, or guidance...",className:"input resize-none h-24 focus:ring-2 focus:ring-[var(--primary)]/20",autoFocus:!0,disabled:j}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{type:"submit",disabled:!f.trim()||j,className:"btn-primary px-4 py-2 flex items-center gap-2",children:j?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),"Adding..."]}):"Add Comment"}),(0,d.jsx)("button",{type:"button",onClick:()=>{i(!1),g("")},disabled:j,className:"btn-ghost px-4 py-2",children:"Cancel"})]})]}):(0,d.jsx)("button",{onClick:()=>i(!0),className:"w-full py-3 border-2 border-dashed border-[var(--card-border)] rounded-xl text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--primary)] hover:bg-[var(--primary-muted)] transition-all duration-200 text-sm font-medium focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2",children:(0,d.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Add comment"]})}),0===a.length?(0,d.jsxs)("div",{className:"text-center py-12 animate-fade-in",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-xl bg-[var(--background)] border border-[var(--card-border)] mb-3",children:(0,d.jsx)("span",{className:"text-xl opacity-50",children:"\uD83D\uDCDD"})}),(0,d.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No comments yet"}),(0,d.jsx)("p",{className:"text-[var(--muted-foreground)] text-xs mt-1",children:"Add context and guidance for this task"})]}):(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("div",{className:"timeline-line"}),(0,d.jsx)("div",{className:"space-y-4",children:a.map((a,b)=>(0,d.jsxs)("div",{className:"timeline-item relative pl-7 animate-fade-in-up",style:{animationDelay:`${50*b}ms`},children:[(0,d.jsx)("div",{className:"timeline-dot"}),(0,d.jsxs)("div",{className:"card p-4 hover:border-[var(--primary)]/30 group",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] tabular-nums",children:new Date(a.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),a.author_type&&(0,d.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-[var(--muted-foreground)]",children:a.author_type})]}),c&&"user"===a.author_type&&(0,d.jsx)("button",{onClick:()=>o(a.id),disabled:l===a.id,className:"opacity-0 group-hover:opacity-100 transition-opacity text-[var(--muted-foreground)] hover:text-[var(--destructive)] p-1 rounded",title:"Delete comment",children:l===a.id?(0,d.jsx)("span",{className:"spinner w-3 h-3 border-2 border-current border-t-transparent"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})})]}),(0,d.jsx)("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:a.content})]})]},a.id))})]})]})}var h=c(36937);let i={30:"#94a3b8",31:"#f87171",32:"#4ade80",33:"#facc15",34:"#60a5fa",35:"#c084fc",36:"#22d3ee",37:"#e2e8f0",90:"#64748b",91:"#ef4444",92:"#22c55e",93:"#eab308",94:"#3b82f6",95:"#a855f7",96:"#06b6d4",97:"#f8fafc"},j=/\u001b\[([0-9;]*)m/g,k=/(^|\s)\[((?:\d{1,3};)*\d{1,3})m(\s|$)/g;function l(a){return Math.max(0,Math.min(255,a))}function m({taskId:a,status:b}){let[c,f]=(0,e.useState)(!1),[g,m]=(0,e.useState)(!1),{output:n,isLoading:o,isStreaming:p}=(0,h.zH)(a,{enabled:c,tail:500,maxChars:2e5}),q=(0,e.useRef)(null),r=n||(o?"Loading logs...":"in_progress"===b?"Waiting for live output...":"No output yet."),s=(0,e.useMemo)(()=>c?function(a){if(!a)return[];let b=a.replace(k,(a,b,c,d)=>b&&d?" ":b||d||""),c=[],d={},e=0;for(let a of b.matchAll(j)){let f=a.index??0;if(f>e){let a=b.slice(e,f);c.push({text:a,style:Object.keys(d).length?{...d}:void 0})}d=function(a,b){let c={...a},d=(b||"0").split(";").map(a=>Number.parseInt(a,10)).filter(a=>Number.isFinite(a));for(let a=0;a<d.length;a+=1){let b=d[a];if(0===b){delete c.color,delete c.fontStyle,delete c.fontWeight,delete c.textDecoration;continue}if(1===b){c.fontWeight=700;continue}if(3===b){c.fontStyle="italic";continue}if(4===b){c.textDecoration="underline";continue}if(22===b){delete c.fontWeight;continue}if(23===b){delete c.fontStyle;continue}if(24===b){delete c.textDecoration;continue}if(39===b){delete c.color;continue}if(38===b){let b=d[a+1];if(5===b&&Number.isFinite(d[a+2]))c.color=function(a){let b=Math.max(0,Math.min(255,a));if(b<16)return i[[30,31,32,33,34,35,36,37,90,91,92,93,94,95,96,97][b]]||"#e2e8f0";if(b>=232){let a=Math.round((b-232)/23*255);return`rgb(${a}, ${a}, ${a})`}let c=b-16,d=Math.floor(c/36),e=Math.floor(c%36/6),f=a=>0===a?0:40*a+55;return`rgb(${f(d)}, ${f(e)}, ${f(c%6)})`}(d[a+2]),a+=2;else if(2===b&&Number.isFinite(d[a+2])&&Number.isFinite(d[a+3])&&Number.isFinite(d[a+4])){let b=l(d[a+2]),e=l(d[a+3]),f=l(d[a+4]);c.color=`rgb(${b}, ${e}, ${f})`,a+=4}continue}i[b]&&(c.color=i[b])}return c}(d,a[1]||"0"),e=f+a[0].length}return e<b.length&&c.push({text:b.slice(e),style:Object.keys(d).length?{...d}:void 0}),function(a){if(!a.length)return a;let b=[];for(let c of a){if(!c.text)continue;let a=b[b.length-1],d=!!a&&JSON.stringify(a.style||null)===JSON.stringify(c.style||null);a&&d?a.text+=c.text:b.push({text:c.text,style:c.style?{...c.style}:void 0})}return b}(c)}(r):[],[r,c]);return(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"w-full flex items-center justify-between text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]","aria-expanded":c,children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{children:"Terminal Stream"}),p&&(0,d.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full bg-emerald-500/15 text-emerald-400 border border-emerald-500/30",children:"Live"})]}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:c?"Collapse":"Expand"})]}),c&&(0,d.jsxs)("div",{className:"mt-4 rounded-xl border border-[var(--card-border)] bg-[#0b0f14] shadow-inner transition-all duration-300 ease-in-out",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60",children:[(0,d.jsx)("span",{children:"Run Log"}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"font-mono text-[10px]",children:p?"Streaming":"Idle"}),(0,d.jsx)("button",{onClick:()=>m(!g),className:"hover:text-white transition-colors p-1",title:g?"Collapse View":"Expand View",children:g?(0,d.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M8 3v3a2 2 0 0 1-2 2H3"}),(0,d.jsx)("path",{d:"M21 8h-3a2 2 0 0 1-2-2V3"}),(0,d.jsx)("path",{d:"M3 16h3a2 2 0 0 1 2 2v3"}),(0,d.jsx)("path",{d:"M16 21v-3a2 2 0 0 1 2-2h3"})]}):(0,d.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M15 3h6v6"}),(0,d.jsx)("path",{d:"M9 21H3v-6"}),(0,d.jsx)("path",{d:"M21 3l-7 7"}),(0,d.jsx)("path",{d:"M3 21l7-7"})]})})]})]}),(0,d.jsx)("div",{ref:q,className:`${g?"max-h-[70vh]":"max-h-64"} overflow-y-auto px-3 py-3 font-mono text-xs text-slate-200 whitespace-pre-wrap leading-relaxed transition-all duration-300 ease-in-out`,children:s.map((a,b)=>(0,d.jsx)("span",{style:a.style,children:a.text},`${b}-${a.text.length}`))})]})]})}let n={task:{label:"This Task",icon:"\uD83D\uDCCC",color:"var(--primary)",bgColor:"var(--primary-muted)",description:"Specific to this task only"},project:{label:"Project",icon:"\uD83D\uDCC1",color:"var(--accent)",bgColor:"var(--accent-muted)",description:"Applies to the whole project"},global:{label:"Playbook",icon:"\uD83D\uDCD6",color:"var(--warning)",bgColor:"var(--warning-muted)",description:"Universal best practices"}};function o({learnings:a,taskId:b,projectContext:c,onAddLearning:f,compact:g=!1}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)("task"),[o,p]=(0,e.useState)(!1),q=c?.project?[c.project.id,c.project.slug].filter(Boolean):[],r=c?.project?.name||c?.project?.slug||"Project",s=async a=>{if(a.preventDefault(),j.trim()&&!o){p(!0);try{let a="project"===l?q[0]:void 0;await f(j,l,a),k(""),i(!1)}finally{p(!1)}}},t=a.filter(a=>"task"===a.scope&&a.scope_id===b),u=q.length?a.filter(a=>"project"===a.scope&&a.scope_id&&q.includes(a.scope_id)):[],v=a.filter(a=>"global"===a.scope),w=(a,b,c)=>{let e=n[a];return(0,d.jsxs)("div",{className:g?"mb-4":"mb-6",children:[(0,d.jsxs)("div",{className:`flex items-center gap-2 ${g?"mb-2":"mb-3"}`,children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-lg flex items-center justify-center text-xs",style:{backgroundColor:e.bgColor},children:e.icon}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"text-xs font-semibold",style:{color:e.color},children:c||e.label}),!g&&(0,d.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)]",children:e.description})]})]}),0===b.length?(0,d.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] py-2 text-center bg-[var(--background)] rounded-lg border border-dashed border-[var(--card-border)]",children:"No learnings yet"}):(0,d.jsx)("ul",{className:"space-y-1.5",children:b.map((a,b)=>(0,d.jsx)("li",{className:`text-xs bg-[var(--background)] rounded-lg ${g?"p-2":"p-3"} border border-[var(--card-border)]
1
+ "use strict";exports.id=8666,exports.ids=[8666],exports.modules={7889:(a,b,c)=>{c.d(b,{u:()=>f});var d=c(38301);let e=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"}];function f(){let[a,b]=(0,d.useState)(e),[c,f]=(0,d.useState)(!0),g=(0,d.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:g,loading:c}}},33136:(a,b,c)=>{c.d(b,{A:()=>K});var d=c(21124),e=c(38301),f=c(94195);function g({comments:a,onAddComment:b,onDeleteComment:c}){let[f,g]=(0,e.useState)(""),[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),n=async a=>{if(a.preventDefault(),f.trim()&&!j){k(!0);try{await b(f),g(""),i(!1)}finally{k(!1)}}},o=async a=>{if(c&&!l&&confirm("Are you sure you want to delete this comment?")){m(a);try{await c(a)}catch(a){console.error("Failed to delete comment:",a)}finally{m(null)}}};return(0,d.jsxs)("div",{className:"space-y-4",children:[h?(0,d.jsxs)("form",{onSubmit:n,className:"space-y-3 animate-fade-in-up",children:[(0,d.jsx)("textarea",{value:f,onChange:a=>g(a.target.value),placeholder:"Add context, decisions, or guidance...",className:"input resize-none h-24 focus:ring-2 focus:ring-[var(--primary)]/20",autoFocus:!0,disabled:j}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{type:"submit",disabled:!f.trim()||j,className:"btn-primary px-4 py-2 flex items-center gap-2",children:j?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"spinner w-4 h-4 border-2 border-white/20 border-t-white"}),"Adding..."]}):"Add Comment"}),(0,d.jsx)("button",{type:"button",onClick:()=>{i(!1),g("")},disabled:j,className:"btn-ghost px-4 py-2",children:"Cancel"})]})]}):(0,d.jsx)("button",{onClick:()=>i(!0),className:"w-full py-3 border-2 border-dashed border-[var(--card-border)] rounded-xl text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--primary)] hover:bg-[var(--primary-muted)] transition-all duration-200 text-sm font-medium focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2",children:(0,d.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Add comment"]})}),0===a.length?(0,d.jsxs)("div",{className:"text-center py-12 animate-fade-in",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-xl bg-[var(--background)] border border-[var(--card-border)] mb-3",children:(0,d.jsx)("span",{className:"text-xl opacity-50",children:"\uD83D\uDCDD"})}),(0,d.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No comments yet"}),(0,d.jsx)("p",{className:"text-[var(--muted-foreground)] text-xs mt-1",children:"Add context and guidance for this task"})]}):(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)("div",{className:"timeline-line"}),(0,d.jsx)("div",{className:"space-y-4",children:a.map((a,b)=>(0,d.jsxs)("div",{className:"timeline-item relative pl-7 animate-fade-in-up",style:{animationDelay:`${50*b}ms`},children:[(0,d.jsx)("div",{className:"timeline-dot"}),(0,d.jsxs)("div",{className:"card p-4 hover:border-[var(--primary)]/30 group",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] tabular-nums",children:new Date(a.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),a.author_type&&(0,d.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-[var(--muted-foreground)]",children:a.author_type})]}),c&&"user"===a.author_type&&(0,d.jsx)("button",{onClick:()=>o(a.id),disabled:l===a.id,className:"opacity-0 group-hover:opacity-100 transition-opacity text-[var(--muted-foreground)] hover:text-[var(--destructive)] p-1 rounded",title:"Delete comment",children:l===a.id?(0,d.jsx)("span",{className:"spinner w-3 h-3 border-2 border-current border-t-transparent"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})})]}),(0,d.jsx)("p",{className:"text-sm whitespace-pre-wrap leading-relaxed",children:a.content})]})]},a.id))})]})]})}var h=c(36937);let i={30:"#94a3b8",31:"#f87171",32:"#4ade80",33:"#facc15",34:"#60a5fa",35:"#c084fc",36:"#22d3ee",37:"#e2e8f0",90:"#64748b",91:"#ef4444",92:"#22c55e",93:"#eab308",94:"#3b82f6",95:"#a855f7",96:"#06b6d4",97:"#f8fafc"},j=/\u001b\[([0-9;]*)m/g,k=/(^|\s)\[((?:\d{1,3};)*\d{1,3})m(\s|$)/g;function l(a){return Math.max(0,Math.min(255,a))}function m({taskId:a,status:b}){let[c,f]=(0,e.useState)(!1),[g,m]=(0,e.useState)(!1),{output:n,isLoading:o,isStreaming:p}=(0,h.zH)(a,{enabled:c,tail:500,maxChars:2e5}),q=(0,e.useRef)(null),r=n||(o?"Loading logs...":"in_progress"===b?"Waiting for live output...":"No output yet."),s=(0,e.useMemo)(()=>c?function(a){if(!a)return[];let b=a.replace(k,(a,b,c,d)=>b&&d?" ":b||d||""),c=[],d={},e=0;for(let a of b.matchAll(j)){let f=a.index??0;if(f>e){let a=b.slice(e,f);c.push({text:a,style:Object.keys(d).length?{...d}:void 0})}d=function(a,b){let c={...a},d=(b||"0").split(";").map(a=>Number.parseInt(a,10)).filter(a=>Number.isFinite(a));for(let a=0;a<d.length;a+=1){let b=d[a];if(0===b){delete c.color,delete c.fontStyle,delete c.fontWeight,delete c.textDecoration;continue}if(1===b){c.fontWeight=700;continue}if(3===b){c.fontStyle="italic";continue}if(4===b){c.textDecoration="underline";continue}if(22===b){delete c.fontWeight;continue}if(23===b){delete c.fontStyle;continue}if(24===b){delete c.textDecoration;continue}if(39===b){delete c.color;continue}if(38===b){let b=d[a+1];if(5===b&&Number.isFinite(d[a+2]))c.color=function(a){let b=Math.max(0,Math.min(255,a));if(b<16)return i[[30,31,32,33,34,35,36,37,90,91,92,93,94,95,96,97][b]]||"#e2e8f0";if(b>=232){let a=Math.round((b-232)/23*255);return`rgb(${a}, ${a}, ${a})`}let c=b-16,d=Math.floor(c/36),e=Math.floor(c%36/6),f=a=>0===a?0:40*a+55;return`rgb(${f(d)}, ${f(e)}, ${f(c%6)})`}(d[a+2]),a+=2;else if(2===b&&Number.isFinite(d[a+2])&&Number.isFinite(d[a+3])&&Number.isFinite(d[a+4])){let b=l(d[a+2]),e=l(d[a+3]),f=l(d[a+4]);c.color=`rgb(${b}, ${e}, ${f})`,a+=4}continue}i[b]&&(c.color=i[b])}return c}(d,a[1]||"0"),e=f+a[0].length}return e<b.length&&c.push({text:b.slice(e),style:Object.keys(d).length?{...d}:void 0}),function(a){if(!a.length)return a;let b=[];for(let c of a){if(!c.text)continue;let a=b[b.length-1],d=!!a&&JSON.stringify(a.style||null)===JSON.stringify(c.style||null);a&&d?a.text+=c.text:b.push({text:c.text,style:c.style?{...c.style}:void 0})}return b}(c)}(r):[],[r,c]);return(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"w-full flex items-center justify-between text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]","aria-expanded":c,children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{children:"Terminal Stream"}),p&&(0,d.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full bg-emerald-500/15 text-emerald-400 border border-emerald-500/30",children:"Live"})]}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:c?"Collapse":"Expand"})]}),c&&(0,d.jsxs)("div",{className:"mt-4 rounded-xl border border-[var(--card-border)] bg-[#0b0f14] shadow-inner transition-all duration-300 ease-in-out",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60",children:[(0,d.jsx)("span",{children:"Run Log"}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"font-mono text-[10px]",children:p?"Streaming":"Idle"}),(0,d.jsx)("button",{onClick:()=>m(!g),className:"hover:text-white transition-colors p-1",title:g?"Collapse View":"Expand View",children:g?(0,d.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M8 3v3a2 2 0 0 1-2 2H3"}),(0,d.jsx)("path",{d:"M21 8h-3a2 2 0 0 1-2-2V3"}),(0,d.jsx)("path",{d:"M3 16h3a2 2 0 0 1 2 2v3"}),(0,d.jsx)("path",{d:"M16 21v-3a2 2 0 0 1 2-2h3"})]}):(0,d.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,d.jsx)("path",{d:"M15 3h6v6"}),(0,d.jsx)("path",{d:"M9 21H3v-6"}),(0,d.jsx)("path",{d:"M21 3l-7 7"}),(0,d.jsx)("path",{d:"M3 21l7-7"})]})})]})]}),(0,d.jsx)("div",{ref:q,className:`${g?"max-h-[70vh]":"max-h-64"} overflow-y-auto px-3 py-3 font-mono text-xs text-slate-200 whitespace-pre-wrap leading-relaxed transition-all duration-300 ease-in-out`,children:s.map((a,b)=>(0,d.jsx)("span",{style:a.style,children:a.text},`${b}-${a.text.length}`))})]})]})}let n={task:{label:"This Task",icon:"\uD83D\uDCCC",color:"var(--primary)",bgColor:"var(--primary-muted)",description:"Specific to this task only"},project:{label:"Project",icon:"\uD83D\uDCC1",color:"var(--accent)",bgColor:"var(--accent-muted)",description:"Applies to the whole project"},global:{label:"Playbook",icon:"\uD83D\uDCD6",color:"var(--warning)",bgColor:"var(--warning-muted)",description:"Universal best practices"}};function o({learnings:a,taskId:b,projectContext:c,onAddLearning:f,compact:g=!1}){let[h,i]=(0,e.useState)(!1),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)("task"),[o,p]=(0,e.useState)(!1),q=c?.project?[c.project.id,c.project.slug].filter(Boolean):[],r=c?.project?.name||c?.project?.slug||"Project",s=async a=>{if(a.preventDefault(),j.trim()&&!o){p(!0);try{let a="project"===l?q[0]:void 0;await f(j,l,a),k(""),i(!1)}finally{p(!1)}}},t=a.filter(a=>"task"===a.scope&&a.scope_id===b),u=q.length?a.filter(a=>"project"===a.scope&&a.scope_id&&q.includes(a.scope_id)):[],v=a.filter(a=>"global"===a.scope),w=(a,b,c)=>{let e=n[a];return(0,d.jsxs)("div",{className:g?"mb-4":"mb-6",children:[(0,d.jsxs)("div",{className:`flex items-center gap-2 ${g?"mb-2":"mb-3"}`,children:[(0,d.jsx)("span",{className:"w-5 h-5 rounded-lg flex items-center justify-center text-xs",style:{backgroundColor:e.bgColor},children:e.icon}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"text-xs font-semibold",style:{color:e.color},children:c||e.label}),!g&&(0,d.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)]",children:e.description})]})]}),0===b.length?(0,d.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] py-2 text-center bg-[var(--background)] rounded-lg border border-dashed border-[var(--card-border)]",children:"No learnings yet"}):(0,d.jsx)("ul",{className:"space-y-1.5",children:b.map((a,b)=>(0,d.jsx)("li",{className:`text-xs bg-[var(--background)] rounded-lg ${g?"p-2":"p-3"} border border-[var(--card-border)]
2
2
  hover:border-[color-mix(in_srgb,var(--primary)_30%,var(--card-border))]
3
3
  transition-colors animate-fade-in-up`,style:{animationDelay:`${30*b}ms`},children:a.content},a.id))})]})};return(0,d.jsxs)("div",{children:[!g&&(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,d.jsx)("span",{className:"text-lg",children:"\uD83D\uDCA1"}),(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:a.length})]}),h?(0,d.jsxs)("form",{onSubmit:s,className:`${g?"mb-3":"mb-5"} space-y-2 animate-fade-in-up`,children:[(0,d.jsx)("textarea",{value:j,onChange:a=>k(a.target.value),placeholder:"What did you learn?",className:`input resize-none ${g?"h-16 text-xs":"h-20 text-sm"}`,autoFocus:!0,disabled:o}),(0,d.jsx)("div",{className:"flex gap-1",children:["task","project","global"].map(a=>{let b=n[a],c=l===a,e="project"===a&&0===q.length;return(0,d.jsxs)("button",{type:"button",onClick:()=>m(a),disabled:e,className:`
4
4
  flex-1 flex items-center justify-center gap-1 px-1.5 py-1 text-[10px] font-medium rounded-lg
@@ -20,4 +20,4 @@
20
20
  absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-0.5
21
21
  ${l||k?"bg-[var(--success)]":"bg-[var(--card-border)]"}
22
22
  transition-colors duration-300 hidden lg:block
23
- `}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}let E={ideation:"Ideation",planning:"Planning",execution:"Execution",verification:"Verification",done:"Done"};function F({taskId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),j=(b?.depends_on_tasks?.length??0)+(b?.dependent_tasks?.length??0),k=(a,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:[(0,d.jsx)("span",{children:a}),(0,d.jsxs)("span",{className:"text-[var(--muted-foreground)]",children:[b?.length??0," task",b?.length===1?"":"s"]})]}),b&&b.length>0?(0,d.jsx)("div",{className:"mt-2 space-y-2",children:b.map((b,c)=>{var e;return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-semibold truncate",children:b.title||b.slug||b.id||"(unknown)"}),b.stage&&(0,d.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:E[b.stage]})]}),(0,d.jsx)("span",{className:`${(e=b.status,`badge badge-status-${e||"queued"}`)} flex-shrink-0`,children:(b.status||"queued").replace(/_/g," ")})]},b.id||b.slug||b.title||`${a}-${c}`)})}):(0,d.jsxs)("p",{className:"mt-2 text-xs text-[var(--muted-foreground)]",children:["No ",a.toLowerCase()," yet."]})]});return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:[(0,d.jsx)("span",{children:"Dependency Graph"}),(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:f?"Loading…":`${j} link${1===j?"":"s"}`})]}),h&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:h}),(0,d.jsx)("div",{className:"space-y-4 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] p-3",children:f?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Fetching dependency details…"}):(0,d.jsxs)(d.Fragment,{children:[k("Depends On",b?.depends_on_tasks),(0,d.jsx)("div",{className:"h-px bg-[var(--card-border)]"}),k("Dependents",b?.dependent_tasks)]})})]})}var G=c(7889);let H={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},I=["queued","in_progress","blocked","completed","failed"];function J(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function K({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,isDraft:l=!1,isCreating:n=!1,onClose:r,onAddComment:s,onDeleteComment:t,onAddLearning:u,onUpdate:v,onDelete:w}){let{providers:x}=(0,G.u)(),{projects:y}=(0,A.Y)(),B=i||y,C=k||p,[E,K]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(""),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(a.provider||""),[Y,Z]=(0,e.useState)(a.model||""),[$,_]=(0,e.useState)(a.swarm??!1),[aa,ab]=(0,e.useState)([]),[ac,ad]=(0,e.useState)("gemini"),[ae,af]=(0,e.useState)(""),[ag,ah]=(0,e.useState)(!1),[ai,aj]=(0,e.useState)(null),ak=a.resolved_provider||j?.provider||"gemini",al=a.resolved_model||j?.model||"",am=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let an=h??a.project_context??null,ao=an?.project?.slug??a.project??null,[ap,aq]=(0,e.useState)(a.title||""),[ar,as]=(0,e.useState)(""),at=async()=>{P(!0);try{await w?.()}finally{P(!1),N(!1)}},au=(0,f.YQ)(async b=>{let c=(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return(b?b[1]:a).replace(/^#\s+.+(\r?\n|$)/,"").trim()})(a.content||"")).replace(/^#\s+.+(\r?\n|$)/,"").trim();l||b===c||await v({description:b})},1e3),av=(0,f.YQ)(async b=>{if(!l&&b!==(a.title||"")){ah(!0);try{await v({title:b})}finally{ah(!1)}}},1e3),aw=(0,f.YQ)(async a=>{ah(!0),aj(null);try{await v(a)}catch(a){aj(a instanceof Error?a.message:"Failed to update settings")}finally{ah(!1)}},1e3),ax=async a=>{let b="done"===a?"completed":"ideation"===a?"queued":"in_progress";if(l)return void await v({stage:a,status:b});await v({stage:a,status:b})},ay=async a=>{if(!a)return void await v({project:null,project_id:null});let b=B.find(b=>b.id===a);b&&await v({project:b.slug,project_id:b.id})},az=async()=>{try{await aB("queued")}catch(a){console.error("Failed to retry task",a)}},aA=async()=>{try{await aB("queued")}catch(a){console.error("Failed to unblock task",a)}},aB=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await v(c)};H[a.status||"queued"];let aC=a.stage_decisions||{},aD=a.stage?aC[a.stage]:void 0,aE=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(aC,a=>"failed"===a.decision),aF=Object.entries(aC).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aG=aD?.decision==="blocked"?a.stage:aF?.[0],aH=aG&&aC[aG]?aC[aG]:void 0,aI=aH?.rationale,aJ="string"==typeof a.error&&a.error.trim()?a.error.trim():(aE?.decision?.rationale||aE?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&r(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:l?"New Task":a.slug||a.id.slice(0,6)}),!l&&(0,d.jsx)(q,{currentStage:a.stage,onStageChange:ax,stageDecisions:a.stage_decisions,stages:C})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,d.jsx)("button",{onClick:()=>{if(!ar.trim())return;let b="done"===a.stage?"completed":"ideation"===a.stage?"queued":"in_progress";v({title:ap,description:ar,stage:a.stage,status:b,project:a.project??null,project_id:a.project_id??null,provider:W||void 0,model:Y||void 0,swarm:$,swarm_models:$?aa:[]})},disabled:n||!ar.trim(),className:"btn-primary px-4 py-2 rounded-md text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:n?"Creating...":"Create Task"}),!l&&ag&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),!l&&w&&(0,d.jsx)("button",{onClick:()=>N(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:r,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),M&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>N(!1),disabled:O,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:at,disabled:O,className:"btn-destructive px-4 py-2 rounded-md",children:O?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:[!l&&"failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:az,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aJ}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||aE?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.completed_at)}),aE?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aE.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aE.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aE.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:J(aE.decision.decided_at)})]})]})]}),(U||Q||S)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:U?"Loading...":S?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:S?`Failed to load error details: ${S}`:Q||"No error logs found."})]})]})]}),!l&&"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:aA,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aI||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aG||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aH?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aH?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aH?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:J(aH?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.completed_at)})]})]})]}),(0,d.jsx)("input",{type:"text",value:ap,onChange:a=>{var b;aq(b=a.target.value),l||av(b)},placeholder:"Task title...",className:"w-full text-2xl font-bold bg-transparent border-none outline-none text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/50 mb-4"}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:ar,onChange:a=>{as(a),l||au(a)},placeholder:l?"Describe the task...":"Add more detail to this task..."})}),!l&&(0,d.jsx)(m,{taskId:a.id,status:a.status}),!l&&a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),!l&&(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:s,onDeleteComment:t})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>ax(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:C.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>aB(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:I.map(a=>(0,d.jsx)("option",{value:a,children:H[a].label},a))})]}),(0,d.jsx)(L,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(L,{label:"Slug",value:a.slug,truncate:!0})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||B.find(b=>b.slug===a.project)?.id||"",onChange:a=>ay(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",children:[(0,d.jsx)("option",{value:"",children:"None"}),B.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:am?"Swarm":ak||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]})]}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{_(a);let b={swarm:a};a?b.swarm_models=aa:(b.provider=W,b.model=Y),v(b)})(!$),className:`w-10 h-5 rounded-full transition-colors relative ${$?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${$?"translate-x-5":"translate-x-0"}`})})]}),$?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:ac,onChange:a=>ad(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ae,onChange:a=>af(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ae.trim();if(!a)return;let b={provider:ac,model:a};if(aa.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[...aa,b];if(ab(c),af(""),l)return void v({swarm_models:c});$&&aw({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),aa.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:aa.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=aa.filter((b,c)=>c!==a);if(ab(b),l)return void v({swarm_models:b});$&&aw({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:W,onChange:a=>(a=>{if(X(a),l)return void v({provider:a});v({provider:a})})(a.target.value),className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",ak,")"]}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:Y,onChange:a=>(a=>{if(Z(a),l)return void v({model:a});aw({model:a})})(a.target.value),placeholder:`Default (${al||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),ai&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:ai})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsx)(F,{taskId:a.id}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"})]}),!l&&(0,d.jsx)(D,{projectContext:an,fallbackProjectSlug:ao}),!l&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>K(!E),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${E?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),E&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:an,onAddLearning:u,compact:!0})})]}),!l&&(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function L({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
23
+ `}),(0,d.jsx)("span",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-normal whitespace-nowrap bg-[var(--card-bg)] text-[var(--foreground)] border border-[var(--card-border)] rounded-md shadow-lg opacity-0 group-hover:opacity-100 pointer-events-none transition-opacity duration-200 lg:hidden z-50",children:g.label})]},g.id)})})}var r=c(95627),s=c.n(r),t=c(53603),u=c(43843),v=c(93130),w=c(72576),x=c(22833);let y=({editor:a})=>a?(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1 p-2 border-b border-[var(--card-border)] mb-2 sticky top-0 bg-[var(--card-bg)] z-10 opacity-90 backdrop-blur-sm",children:[(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBold().run(),disabled:!a.can().chain().focus().toggleBold().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bold")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bold",children:(0,d.jsx)("span",{className:"font-bold font-serif",children:"B"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleItalic().run(),disabled:!a.can().chain().focus().toggleItalic().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("italic")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Italic",children:(0,d.jsx)("span",{className:"italic font-serif",children:"I"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleStrike().run(),disabled:!a.can().chain().focus().toggleStrike().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("strike")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Strike",children:(0,d.jsx)("span",{className:"line-through font-serif",children:"S"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCode().run(),disabled:!a.can().chain().focus().toggleCode().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("code")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"<>"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleCodeBlock().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("codeBlock")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Code Block",children:(0,d.jsx)("span",{className:"font-mono text-xs",children:"CB"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:1}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:1})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H1",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H1"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:2}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:2})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H2",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H2"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleHeading({level:3}).run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("heading",{level:3})?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"H3",children:(0,d.jsx)("span",{className:"font-bold text-xs",children:"H3"})}),(0,d.jsx)("div",{className:"w-px h-4 bg-[var(--card-border)] mx-1"}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBulletList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("bulletList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Bullet List",children:(0,d.jsx)("span",{className:"text-xs",children:"• List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleOrderedList().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("orderedList")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Ordered List",children:(0,d.jsx)("span",{className:"text-xs",children:"1. List"})}),(0,d.jsx)("button",{onClick:()=>a.chain().focus().toggleBlockquote().run(),className:`p-1.5 rounded hover:bg-[var(--muted)] ${a.isActive("blockquote")?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--muted-foreground)]"}`,title:"Quote",children:(0,d.jsx)("span",{className:"text-xs serif italic",children:'""'})})]}):null;function z({content:a,editable:b=!0,onChange:c,onBlur:e,placeholder:f="Add a description..."}){let g=(0,t.hG)({extensions:[u.A,w.Ay.configure({openOnClick:!1}),v.A.configure({placeholder:f,emptyEditorClass:"is-editor-empty before:content-[attr(data-placeholder)] before:text-[var(--muted-foreground)] before:float-left before:pointer-events-none before:h-0"}),x.o.configure({html:!1,transformPastedText:!0,transformCopiedText:!0})],immediatelyRender:!1,content:a,editable:b,editorProps:{attributes:{class:"prose prose-sm max-w-none focus:outline-none min-h-[100px] text-[var(--foreground)]"}},onUpdate:({editor:a})=>{c?.(a.storage.markdown.getMarkdown())},onBlur:()=>{e?.()}});return(0,d.jsxs)("div",{className:"jsx-cdf669dd826a0677 relative group",children:[b&&(0,d.jsx)(y,{editor:g}),(0,d.jsx)(t.$Z,{editor:g,className:"rich-text-editor"}),(0,d.jsx)(s(),{id:"cdf669dd826a0677",children:".rich-text-editor .ProseMirror{min-height:100px;outline:none}.rich-text-editor .ProseMirror p{margin-bottom:.75em;line-height:1.6}.rich-text-editor .ProseMirror h1{font-size:1.5em;font-weight:700;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h2{font-size:1.25em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror h3{font-size:1.1em;font-weight:600;margin-top:1em;margin-bottom:.5em}.rich-text-editor .ProseMirror ul{list-style-type:disc;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror ol{list-style-type:decimal;padding-left:1.5em;margin-bottom:.75em}.rich-text-editor .ProseMirror blockquote{border-left:3px solid var(--card-border);padding-left:1em;font-style:italic;color:var(--muted-foreground)}.rich-text-editor .ProseMirror pre{background:var(--muted);padding:.75em;border-radius:var(--radius-sm);font-family:monospace;overflow-x:auto;margin-bottom:.75em}.rich-text-editor .ProseMirror code{background:var(--muted);padding:.2em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.85em}.rich-text-editor .ProseMirror a{color:var(--primary);text-decoration:underline}"})]})}var A=c(82997),B=c(3991),C=c.n(B);function D({projectContext:a,fallbackProjectSlug:b}){var c;let e=a?.project||null,f=a?.repos??[],g=a?.learnings??[],h=(c=e?.metadata)&&"object"==typeof c?Object.entries(c).filter(([a])=>!!a):[];if(!e)return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:b?`Task is tagged with "${b}" but no structured project context is available yet.`:"This task is not connected to a project. Link it to unlock repo maps, CI/CD notes, and project learnings."})]}),(0,d.jsx)(C(),{href:"/projects",className:"inline-flex items-center justify-center text-xs font-semibold px-3 py-1.5 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"Manage Projects"})]});let i=g.slice(0,3),j=g.length-i.length;return(0,d.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Project Context"}),(0,d.jsx)("h3",{className:"text-base font-semibold leading-tight mt-1",children:e.name}),(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-[var(--muted-foreground)]",children:e.slug})]}),(0,d.jsx)(C(),{href:"/projects",className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-colors",children:"View"})]}),e.description&&(0,d.jsx)("p",{className:"text-sm text-[var(--foreground)] whitespace-pre-line",children:e.description}),e.ci_cd_info&&(0,d.jsxs)("div",{className:"text-xs space-y-1",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--muted-foreground)] uppercase tracking-wide",children:"CI / CD"}),(0,d.jsx)("p",{className:"text-[var(--foreground)] text-sm",children:e.ci_cd_info})]}),h.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Metadata"}),(0,d.jsx)("dl",{className:"space-y-1.5",children:h.map(([a,b])=>(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2 text-xs",children:[(0,d.jsx)("dt",{className:"font-semibold text-[var(--foreground)]",children:a}),(0,d.jsx)("dd",{className:"text-[var(--muted-foreground)] text-right max-w-[160px]",children:"string"==typeof b?b:JSON.stringify(b)})]},a))})]}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Repository Map"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:f.length?`${f.length} connected`:"None"})]}),0===f.length?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Add repositories to help agents navigate local and remote paths."}):(0,d.jsx)("ul",{className:"space-y-2",children:f.map(a=>(0,d.jsxs)("li",{className:"p-2 rounded-xl border border-[var(--card-border)] bg-[var(--background)] space-y-1 text-xs",children:[(0,d.jsx)("p",{className:"font-semibold text-[var(--foreground)]",children:a.name}),a.path&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Path: ",a.path]}),a.git_url&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] break-all",children:["Repo: ",(0,d.jsx)("span",{className:"text-[var(--primary)]",children:a.git_url})]}),a.notes&&(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)]",children:["Notes: ",a.notes]})]},a.id||a.name))})]}),g.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Project Learnings"}),(0,d.jsx)("ul",{className:"space-y-1 text-xs text-[var(--foreground)]",children:i.map((a,b)=>(0,d.jsxs)("li",{className:"leading-relaxed",children:["• ",a]},`${a}-${b}`))}),j>0&&(0,d.jsxs)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-1",children:["+",j," more learnings in the panel below"]})]})]})}let E={ideation:"Ideation",planning:"Planning",execution:"Execution",verification:"Verification",done:"Done"};function F({taskId:a}){let[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),j=(b?.depends_on_tasks?.length??0)+(b?.dependent_tasks?.length??0),k=(a,b)=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:[(0,d.jsx)("span",{children:a}),(0,d.jsxs)("span",{className:"text-[var(--muted-foreground)]",children:[b?.length??0," task",b?.length===1?"":"s"]})]}),b&&b.length>0?(0,d.jsx)("div",{className:"mt-2 space-y-2",children:b.map((b,c)=>{var e;return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-semibold truncate",children:b.title||b.slug||b.id||"(unknown)"}),b.stage&&(0,d.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:E[b.stage]})]}),(0,d.jsx)("span",{className:`${(e=b.status,`badge badge-status-${e||"queued"}`)} flex-shrink-0`,children:(b.status||"queued").replace(/_/g," ")})]},b.id||b.slug||b.title||`${a}-${c}`)})}):(0,d.jsxs)("p",{className:"mt-2 text-xs text-[var(--muted-foreground)]",children:["No ",a.toLowerCase()," yet."]})]});return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-[10px] uppercase tracking-wider text-[var(--muted-foreground)]",children:[(0,d.jsx)("span",{children:"Dependency Graph"}),(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:f?"Loading…":`${j} link${1===j?"":"s"}`})]}),h&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:h}),(0,d.jsx)("div",{className:"space-y-4 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] p-3",children:f?(0,d.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Fetching dependency details…"}):(0,d.jsxs)(d.Fragment,{children:[k("Depends On",b?.depends_on_tasks),(0,d.jsx)("div",{className:"h-px bg-[var(--card-border)]"}),k("Dependents",b?.dependent_tasks)]})})]})}var G=c(7889);let H={queued:{label:"Queued",color:"var(--status-queued)",bgColor:"var(--status-queued-bg)"},in_progress:{label:"In Progress",color:"var(--status-in-progress)",bgColor:"var(--status-in-progress-bg)"},blocked:{label:"Blocked",color:"var(--status-blocked)",bgColor:"var(--status-blocked-bg)"},completed:{label:"Completed",color:"var(--status-completed)",bgColor:"var(--status-completed-bg)"},failed:{label:"Failed",color:"var(--status-failed)",bgColor:"var(--status-failed-bg)"}},I=["queued","in_progress","blocked","completed","failed"];function J(a){if(!a)return"N/A";let b=new Date(a);return Number.isNaN(b.getTime())?a:b.toLocaleString()}function K({task:a,comments:b,learnings:c,projectContext:h,projects:i,stage_config:j,stages:k,isDraft:l=!1,isCreating:n=!1,onClose:r,onAddComment:s,onDeleteComment:t,onAddLearning:u,onUpdate:v,onDelete:w}){let{providers:x}=(0,G.u)(),{projects:y}=(0,A.Y)(),B=i||y,C=k||p,[E,K]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(""),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(a.provider||""),[Y,Z]=(0,e.useState)(a.model||""),[$,_]=(0,e.useState)(a.swarm??!1),[aa,ab]=(0,e.useState)([]),[ac,ad]=(0,e.useState)("gemini"),[ae,af]=(0,e.useState)(""),[ag,ah]=(0,e.useState)(!1),[ai,aj]=(0,e.useState)(null),ak=a.resolved_provider||j?.provider||"gemini",al=a.resolved_model||j?.model||"",am=a.swarm??j?.swarm??!1;a.resolved_swarm_models||j?.swarm_models;let an=h??a.project_context??null,ao=an?.project?.slug??a.project??null,[ap,aq]=(0,e.useState)(a.title||""),[ar,as]=(0,e.useState)(""),at=async()=>{P(!0);try{await w?.()}finally{P(!1),N(!1)}},au=(0,f.YQ)(async b=>{let c=(a.description??(a=>{let b=a.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);return(b?b[1]:a).replace(/^#\s+.+(\r?\n|$)/,"").trim()})(a.content||"")).replace(/^#\s+.+(\r?\n|$)/,"").trim();l||b===c||await v({description:b})},1e3),av=(0,f.YQ)(async b=>{if(!l&&b!==(a.title||"")){ah(!0);try{await v({title:b})}finally{ah(!1)}}},1e3),aw=(0,f.YQ)(async a=>{ah(!0),aj(null);try{await v(a)}catch(a){aj(a instanceof Error?a.message:"Failed to update settings")}finally{ah(!1)}},1e3),ax=async a=>{let b="done"===a?"completed":"ideation"===a?"queued":"in_progress";if(l)return void await v({stage:a,status:b});await v({stage:a,status:b})},ay=async a=>{if(!a)return void await v({project:null,project_id:null});let b=B.find(b=>b.id===a);b&&await v({project:b.slug,project_id:b.id})},az=async()=>{try{await aB("queued")}catch(a){console.error("Failed to retry task",a)}},aA=async()=>{try{await aB("queued")}catch(a){console.error("Failed to unblock task",a)}},aB=async b=>{let c={status:b};"queued"===b&&(c.started_at=null,c.completed_at=null,c.error=void 0),"completed"!==b&&"failed"!==b&&"blocked"!==b||a.completed_at||(c.completed_at=new Date().toISOString()),await v(c)};H[a.status||"queued"];let aC=a.stage_decisions||{},aD=a.stage?aC[a.stage]:void 0,aE=function(a,b){if(!a||"object"!=typeof a)return null;let c=Object.entries(a).filter(([,a])=>!!(a&&b(a))).sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)});if(!c.length)return null;let[d,e]=c[0];return{stage:d,decision:e}}(aC,a=>"failed"===a.decision),aF=Object.entries(aC).filter(([,a])=>a?.decision==="blocked").sort((a,b)=>{let c=Date.parse(a[1]?.decided_at||""),d=Date.parse(b[1]?.decided_at||"");return(Number.isNaN(d)?0:d)-(Number.isNaN(c)?0:c)})[0],aG=aD?.decision==="blocked"?a.stage:aF?.[0],aH=aG&&aC[aG]?aC[aG]:void 0,aI=function(a,b){let c="string"==typeof a?a.trim():"";return c||("string"==typeof b?b.trim():"")||null}(a.blocked_reason,aH?.rationale),aJ="string"==typeof a.error&&a.error.trim()?a.error.trim():(aE?.decision?.rationale||aE?.decision?.final_result||"").trim()||"Task marked failed.";return(0,d.jsx)("div",{className:"modal-backdrop",onClick:a=>a.target===a.currentTarget&&r(),children:(0,d.jsxs)("div",{className:"bg-[var(--card-bg)] w-full max-w-[1200px] h-[90vh] rounded-xl shadow-2xl overflow-hidden flex flex-col animate-scale-in border border-[var(--card-border)] m-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)] font-mono text-sm",children:l?"New Task":a.slug||a.id.slice(0,6)}),!l&&(0,d.jsx)(q,{currentStage:a.stage,onStageChange:ax,stageDecisions:a.stage_decisions,stages:C})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[l&&(0,d.jsx)("button",{onClick:()=>{if(!ar.trim())return;let b="done"===a.stage?"completed":"ideation"===a.stage?"queued":"in_progress";v({title:ap,description:ar,stage:a.stage,status:b,project:a.project??null,project_id:a.project_id??null,provider:W||void 0,model:Y||void 0,swarm:$,swarm_models:$?aa:[]})},disabled:n||!ar.trim(),className:"btn-primary px-4 py-2 rounded-md text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:n?"Creating...":"Create Task"}),!l&&ag&&(0,d.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] animate-pulse flex items-center gap-1 mr-2",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--primary)]"}),"Saving..."]}),!l&&w&&(0,d.jsx)("button",{onClick:()=>N(!0),className:"btn-ghost p-2 rounded hover:bg-[var(--destructive-muted)] hover:text-[var(--destructive)]",title:"Delete Task",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),(0,d.jsx)("button",{onClick:r,className:"btn-ghost p-2 rounded",title:"Close (Esc)",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),M&&(0,d.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 rounded-xl animate-fade-in",children:(0,d.jsxs)("div",{className:"modal-content p-6 max-w-sm mx-4 animate-scale-in bg-[var(--card-bg)]",children:[(0,d.jsx)("h3",{className:"text-lg font-bold mb-2",children:"Delete Task?"}),(0,d.jsxs)("p",{className:"text-[var(--muted-foreground)] text-sm mb-6",children:["Are you sure you want to delete ",(0,d.jsx)("strong",{className:"text-[var(--foreground)]",children:a.slug||a.id.slice(0,6)}),"? This cannot be undone."]}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)("button",{onClick:()=>N(!1),disabled:O,className:"btn-ghost",children:"Cancel"}),(0,d.jsx)("button",{onClick:at,disabled:O,className:"btn-destructive px-4 py-2 rounded-md",children:O?"Deleting...":"Delete"})]})]})}),(0,d.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex-1 overflow-y-auto scrollbar-thin",children:(0,d.jsxs)("div",{className:"max-w-3xl mx-auto p-8",children:[!l&&"failed"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-failed-bg)] border border-[var(--status-failed)] text-[var(--status-failed)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Execution Failed"})]}),(0,d.jsx)("button",{onClick:az,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Retry Task"})]}),(0,d.jsx)("p",{className:"text-sm font-medium",children:aJ}),(0,d.jsxs)("div",{className:"mt-3 text-xs rounded-md border border-[var(--status-failed)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Failure Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Stage"}),(0,d.jsx)("span",{className:"font-medium",children:a.stage||aE?.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Exit Code"}),(0,d.jsx)("span",{className:"font-mono",children:a.exit_code??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"PID"}),(0,d.jsx)("span",{className:"font-mono",children:a.pid??"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.completed_at)}),aE?.decision&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aE.decision.decision}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aE.decision.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aE.decision.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:J(aE.decision.decided_at)})]})]})]}),(U||Q||S)&&(0,d.jsxs)("details",{className:"mt-3",open:!0,children:[(0,d.jsx)("summary",{className:"cursor-pointer select-none text-xs font-semibold uppercase tracking-wider opacity-90",children:"Error Details"}),(0,d.jsxs)("div",{className:"mt-2 rounded-md border border-[var(--status-failed)]/40 bg-[#0b0f14] text-slate-200",children:[(0,d.jsxs)("div",{className:"px-3 py-2 border-b border-white/10 text-[10px] uppercase tracking-widest text-white/60 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Log Excerpt"}),(0,d.jsx)("span",{className:"font-mono",children:U?"Loading...":S?"Unavailable":"Ready"})]}),(0,d.jsx)("pre",{className:"px-3 py-3 text-xs font-mono whitespace-pre-wrap max-h-64 overflow-y-auto",children:S?`Failed to load error details: ${S}`:Q||"No error logs found."})]})]})]}),!l&&"blocked"===a.status&&(0,d.jsxs)("div",{className:"mb-8 p-4 rounded-lg bg-[var(--status-blocked-bg)] border border-[var(--status-blocked)] text-[var(--status-blocked)]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"})}),(0,d.jsx)("span",{className:"font-bold text-sm uppercase tracking-wider",children:"Task Blocked"})]}),(0,d.jsx)("button",{onClick:aA,className:"btn-ghost px-3 py-1 text-xs font-bold bg-white/20 rounded hover:bg-white/30 transition-colors uppercase",children:"Unblock Task"})]}),(0,d.jsx)("p",{className:"text-sm opacity-90 pl-7 mb-4",children:aI||"Task is blocked and requires manual intervention."}),(0,d.jsxs)("div",{className:"ml-7 text-xs rounded-md border border-[var(--status-blocked)]/40 bg-white/50 p-3",children:[(0,d.jsx)("h4",{className:"font-semibold uppercase tracking-wider mb-2",children:"Blocked Metadata"}),(0,d.jsxs)("div",{className:"grid grid-cols-[140px_1fr] gap-x-3 gap-y-1.5",children:[(0,d.jsx)("span",{className:"opacity-70",children:"Decision Stage"}),(0,d.jsx)("span",{className:"font-medium",children:aG||a.stage||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decision"}),(0,d.jsx)("span",{className:"font-medium",children:aH?.decision||"blocked"}),(0,d.jsx)("span",{className:"opacity-70",children:"Final Result"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aH?.final_result||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Rationale"}),(0,d.jsx)("span",{className:"font-medium break-words",children:aH?.rationale||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Decided At"}),(0,d.jsx)("span",{className:"font-medium",children:J(aH?.decided_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Workflow Run ID"}),(0,d.jsx)("span",{className:"font-mono break-all",children:a.workflow_run_id||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Orchestration Status"}),(0,d.jsx)("span",{className:"font-medium",children:a.orchestration_status||"N/A"}),(0,d.jsx)("span",{className:"opacity-70",children:"Last Orchestration Update"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.last_orchestration_update)}),(0,d.jsx)("span",{className:"opacity-70",children:"Started At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.started_at)}),(0,d.jsx)("span",{className:"opacity-70",children:"Completed At"}),(0,d.jsx)("span",{className:"font-medium",children:J(a.completed_at)})]})]})]}),(0,d.jsx)("input",{type:"text",value:ap,onChange:a=>{var b;aq(b=a.target.value),l||av(b)},placeholder:"Task title...",className:"w-full text-2xl font-bold bg-transparent border-none outline-none text-[var(--foreground)] placeholder:text-[var(--muted-foreground)]/50 mb-4"}),(0,d.jsx)("div",{className:"mb-12 min-h-[150px]",children:(0,d.jsx)(z,{content:ar,onChange:a=>{as(a),l||au(a)},placeholder:l?"Describe the task...":"Add more detail to this task..."})}),!l&&(0,d.jsx)(m,{taskId:a.id,status:a.status}),!l&&a.history&&a.history.length>0&&(0,d.jsxs)("div",{className:"mt-12 border-t border-[var(--card-border)] pt-8",children:[(0,d.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-4",children:"Execution History"}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"text-xs text-[var(--muted-foreground)] border-b border-[var(--card-border)]",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Started"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Duration"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"PID"}),(0,d.jsx)("th",{className:"py-2 pr-4 font-medium",children:"Exit Code"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-[var(--card-border)]",children:a.history.map(a=>(0,d.jsxs)("tr",{className:"hover:bg-[var(--muted)]/20 transition-colors",children:[(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at?new Date(a.started_at).toLocaleString():"N/A"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.started_at&&a.completed_at?function(a,b){let c=b.getTime()-a.getTime();if(c<1e3)return`${c}ms`;let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);return`${e}m ${d%60}s`}(new Date(a.started_at),new Date(a.completed_at)):"-"}),(0,d.jsx)("td",{className:"py-2 pr-4 font-mono text-xs opacity-80",children:a.pid??"-"}),(0,d.jsx)("td",{className:"py-2 pr-4",children:(0,d.jsx)("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium border ${0===a.exit_code?"bg-[var(--status-completed-bg)] text-[var(--status-completed)] border-[var(--status-completed)]/20":"bg-[var(--status-failed-bg)] text-[var(--status-failed)] border-[var(--status-failed)]/20"}`,children:a.exit_code??"-"})})]},a.id))})]})})]}),!l&&(0,d.jsxs)("div",{className:"border-t border-[var(--card-border)] pt-8",children:[(0,d.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)] mb-6 flex items-center justify-between",children:[(0,d.jsx)("span",{children:"Comments"}),(0,d.jsx)("span",{className:"text-[10px] bg-[var(--muted)] px-2 py-0.5 rounded-full",children:b.length})]}),(0,d.jsx)(g,{comments:b,onAddComment:s,onDeleteComment:t})]})]})}),(0,d.jsxs)("div",{className:"w-80 border-l border-[var(--card-border)] bg-[var(--muted)]/20 overflow-y-auto scrollbar-thin p-6 flex flex-col gap-8 flex-shrink-0",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Stage"}),(0,d.jsx)("select",{value:a.stage,onChange:a=>ax(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:C.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Status"}),(0,d.jsx)("select",{value:a.status||"queued",onChange:a=>aB(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer",children:I.map(a=>(0,d.jsx)("option",{value:a,children:H[a].label},a))})]}),(0,d.jsx)(L,{label:"ID",value:a.id}),a.slug&&(0,d.jsx)(L,{label:"Slug",value:a.slug,truncate:!0})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Project"}),(0,d.jsxs)("select",{value:a.project_id||B.find(b=>b.slug===a.project)?.id||"",onChange:a=>ay(a.target.value),className:"text-sm font-medium bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1 focus:border-[var(--primary)] outline-none transition-colors cursor-pointer max-w-[150px] truncate",children:[(0,d.jsx)("option",{value:"",children:"None"}),B.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Provider"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:am?"Swarm":ak||"Default"})]}),void 0!==a.pid&&null!==a.pid&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"PID"}),(0,d.jsx)("span",{className:"text-sm font-mono font-medium",title:"Process ID",children:a.pid})]}),void 0!==a.exit_code&&null!==a.exit_code&&(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Exit Code"}),(0,d.jsx)("span",{className:`text-sm font-mono font-medium ${0===a.exit_code?"text-[var(--status-completed)]":"text-[var(--status-failed)]"}`,children:a.exit_code})]})]})]}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Execution"})}),(0,d.jsxs)("div",{className:"flex items-center justify-between bg-[var(--card-bg)] p-2 rounded border border-[var(--card-border)]",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Swarm Mode"}),(0,d.jsx)("button",{onClick:()=>(a=>{_(a);let b={swarm:a};a?b.swarm_models=aa:(b.provider=W,b.model=Y),v(b)})(!$),className:`w-10 h-5 rounded-full transition-colors relative ${$?"bg-[var(--primary)]":"bg-[var(--muted-foreground)]/30"}`,children:(0,d.jsx)("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 bg-white rounded-full transition-transform ${$?"translate-x-5":"translate-x-0"}`})})]}),$?(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)]",children:"Swarm Models"}),(0,d.jsxs)("div",{className:"grid gap-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[1fr_1.2fr_auto] gap-2",children:[(0,d.jsx)("select",{value:ac,onChange:a=>ad(a.target.value),className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))}),(0,d.jsx)("input",{value:ae,onChange:a=>af(a.target.value),placeholder:"model name",className:"text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=ae.trim();if(!a)return;let b={provider:ac,model:a};if(aa.some(a=>a.provider.toLowerCase()===b.provider.toLowerCase()&&a.model.toLowerCase()===b.model.toLowerCase()))return;let c=[...aa,b];if(ab(c),af(""),l)return void v({swarm_models:c});$&&aw({swarm_models:c})},className:"px-3 py-1.5 text-xs font-semibold rounded-md bg-[var(--card-bg)] border border-[var(--card-border)] hover:border-[var(--muted-foreground)]",children:"Add"})]}),aa.length>0&&(0,d.jsx)("div",{className:"space-y-1",children:aa.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5 rounded text-sm border bg-[var(--card-bg)] border-[var(--card-border)]",children:[(0,d.jsxs)("span",{className:"truncate",children:[(0,d.jsx)("span",{className:"text-[var(--muted-foreground)]",children:a.provider}),(0,d.jsx)("span",{className:"mx-1",children:"\xb7"}),(0,d.jsx)("span",{children:a.model})]}),(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=aa.filter((b,c)=>c!==a);if(ab(b),l)return void v({swarm_models:b});$&&aw({swarm_models:b})})(b),className:"text-xs text-[var(--destructive)] hover:underline",children:"Remove"})]},`${a.provider}-${a.model}-${b}`))})]})]}):(0,d.jsxs)("div",{className:"space-y-3 animate-fade-in",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Provider"}),(0,d.jsxs)("select",{value:W,onChange:a=>(a=>{if(X(a),l)return void v({provider:a});v({provider:a})})(a.target.value),className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors appearance-none",children:[(0,d.jsxs)("option",{value:"",children:["Default (",ak,")"]}),x.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))]})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-xs text-[var(--muted-foreground)] mb-1.5",children:"Model"}),(0,d.jsx)("input",{value:Y,onChange:a=>(a=>{if(Z(a),l)return void v({model:a});aw({model:a})})(a.target.value),placeholder:`Default (${al||"unspecified"})`,className:"w-full text-sm bg-[var(--card-bg)] border border-[var(--card-border)] rounded px-2 py-1.5 focus:border-[var(--primary)] outline-none transition-colors"})]})]}),ai&&(0,d.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:ai})]}),!l&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"}),(0,d.jsx)(F,{taskId:a.id}),(0,d.jsx)("div",{className:"w-full h-px bg-[var(--card-border)]"})]}),!l&&(0,d.jsx)(D,{projectContext:an,fallbackProjectSlug:ao}),!l&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{onClick:()=>K(!E),className:`w-full flex items-center justify-between p-3 rounded-lg border transition-all duration-200 ${E?"bg-[var(--primary-muted)] border-[var(--primary)] text-[var(--primary)]":"bg-[var(--card-bg)] border-[var(--card-border)] hover:border-[var(--muted-foreground)]"}`,children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Learnings"}),(0,d.jsx)("span",{className:"text-xs bg-[var(--background)] px-2 py-0.5 rounded-full border border-[var(--card-border)]",children:c.length})]}),E&&(0,d.jsx)("div",{className:"mt-4 animate-fade-in-up",children:(0,d.jsx)(o,{learnings:c,taskId:a.id,projectContext:an,onAddLearning:u,compact:!0})})]}),!l&&(0,d.jsx)("div",{className:"mt-auto text-xs text-[var(--muted-foreground)]",children:(0,d.jsxs)("p",{children:["Created ",new Date(a.created_at||Date.now()).toLocaleDateString()]})})]})]})]})})}function L({label:a,value:b,truncate:c,mono:f=!0}){let[g,h]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center justify-between group h-7",children:[(0,d.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:a}),(0,d.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(b),h(!0),setTimeout(()=>h(!1),2e3)},className:`text-sm ${f?"font-mono":""} flex items-center gap-1.5 hover:bg-[var(--primary-muted)] hover:text-[var(--primary)] px-1.5 py-0.5 -mr-1.5 rounded transition-all`,title:"Click to copy",children:[(0,d.jsx)("span",{className:`${c?"max-w-[140px] truncate":""} ${g?"opacity-50":""}`,children:c&&b.length>20?b.slice(0,8)+"..."+b.slice(-8):b}),g?(0,d.jsx)("span",{className:"text-[10px] uppercase font-bold tracking-wider text-[var(--primary)] animate-scale-in",children:"Copied"}):(0,d.jsx)("svg",{className:"w-3.5 h-3.5 opacity-0 group-hover:opacity-60 transition-opacity",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})]})]})}},88885:(a,b,c)=>{c.d(b,{Tw:()=>g,ls:()=>h,mP:()=>m,ou:()=>l});var d=c(38301);let e={ideation:"\uD83D\uDCA1",planning:"\uD83D\uDCCB",execution:"\uD83D\uDCBB",verification:"\uD83E\uDDEA",done:"✅",coding:"\uD83D\uDCBB",qa:"\uD83E\uDDEA",acceptance:"✓",pr:"\uD83D\uDD00",pr_review:"\uD83D\uDC40",merge:"\uD83D\uDE80"},f={ideation:"var(--warning)",planning:"var(--info)",execution:"var(--primary)",verification:"var(--accent)",done:"var(--success)",coding:"var(--primary)",qa:"var(--accent)",acceptance:"#8b5cf6",pr:"#f97316",pr_review:"#ef4444",merge:"#22c55e"},g=["ideation","planning","execution","verification","done"],h={ideation:{icon:"\uD83D\uDCA1",label:"Ideation",color:"var(--warning)"},planning:{icon:"\uD83D\uDCCB",label:"Planning",color:"var(--info)"},execution:{icon:"\uD83D\uDCBB",label:"Execution",color:"var(--primary)"},verification:{icon:"\uD83E\uDDEA",label:"Verification",color:"var(--accent)"},done:{icon:"✅",label:"Done",color:"var(--success)"}},i="00000000-0000-0000-0000-000000000001",j=[{id:"00000000-0000-0000-0001-000000000001",workflow_id:i,name:"ideation",label:"Ideation",prompt:"Research and scope this. Define approach, estimate effort, list unknowns.",provider:null,model:null,position:0,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000002",workflow_id:i,name:"planning",label:"Planning",prompt:"Create detailed plan with tasks, milestones, and dependencies.",provider:null,model:null,position:1,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000003",workflow_id:i,name:"execution",label:"Execution",prompt:"Implement based on the plan. Write clean, tested code.",provider:null,model:null,position:2,node_type:"step",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000004",workflow_id:i,name:"verification",label:"Verification",prompt:"Test thoroughly. Find edge cases. Fix bugs. Verify it works.",provider:null,model:null,position:3,node_type:"gate",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()},{id:"00000000-0000-0000-0001-000000000009",workflow_id:i,name:"done",label:"Done",prompt:"Task completed and shipped.",provider:null,model:null,position:4,node_type:"terminal",created_at:new Date(0).toISOString(),updated_at:new Date(0).toISOString()}],k=[{id:"fallback-ideation-planning",workflow_id:i,from_node:"ideation",to_node:"planning",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-planning-execution",workflow_id:i,from_node:"planning",to_node:"execution",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-execution-verification",workflow_id:i,from_node:"execution",to_node:"verification",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-done",workflow_id:i,from_node:"verification",to_node:"done",condition:"done",priority:0,created_at:new Date(0).toISOString()},{id:"fallback-verification-execution",workflow_id:i,from_node:"verification",to_node:"execution",condition:"failed",priority:1,created_at:new Date(0).toISOString()}],l="00000000-0000-0000-0000-000000000001";function m(a={}){let b=a.workflowId||l,[c,n]=(0,d.useState)(null),[o,p]=(0,d.useState)(!0),[q,r]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{p(!0),r(null);try{let a=await fetch(`/api/workflows/${b}`);if(!a.ok)throw Error(`Failed to fetch workflow: ${a.statusText}`);let c=await a.json(),d=c.workflow??c,e=Array.isArray(d.nodes)?d.nodes:[];Array.isArray(d.transitions)&&d.transitions,e&&0!==e.length||b!==i?n(d):n({...d,nodes:j,transitions:k})}catch(a){console.error("Error fetching workflow:",a),r(a instanceof Error?a:Error(String(a)))}finally{p(!1)}},[b]),t=(0,d.useMemo)(()=>c?.nodes?.length?c.nodes.slice().sort((a,b)=>a.position-b.position).map(a=>a.name):[...g],[c]),u=(0,d.useMemo)(()=>{if(!c?.nodes?.length)return h;let a={};for(let b of c.nodes)a[b.name]={icon:e[b.name]||"\uD83D\uDCCC",label:b.label||b.name.charAt(0).toUpperCase()+b.name.slice(1),color:f[b.name]||"var(--primary)"};return a},[c]),v=(0,d.useMemo)(()=>c?.transitions||[],[c]),w=(0,d.useCallback)((a,b)=>{if(a===b)return!0;if(!c?.nodes?.length){let c=g.indexOf(a),d=g.indexOf(b);return d<c||d===c+1}let d=t.indexOf(a),e=t.indexOf(b);return!!(e<d||v.some(c=>c.from_node===a&&c.to_node===b))||e===d+1},[c,t,v]);return{workflow:c,stages:t,stageConfig:u,transitions:v,isLoading:o,error:q,refetch:s,isValidTransition:w}}}};
@@ -2,6 +2,7 @@
2
2
  "version": 1,
3
3
  "functions": {
4
4
  "/api/logs/stream": {},
5
+ "/api/tasks/[id]/logs/stream": {},
5
6
  "/api/tasks/stream": {}
6
7
  }
7
8
  }
@@ -18,11 +18,11 @@
18
18
  "wasm": [],
19
19
  "assets": [],
20
20
  "env": {
21
- "__NEXT_BUILD_ID": "x2zqTGbGGK8nA-dlhcQDx",
22
- "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "KSaq/EMrnnQvDfUEb3vmdBTeCNlTHVdM6FQeCiEG4dg=",
23
- "__NEXT_PREVIEW_MODE_ID": "fdf2c74f4c0a3b1df760aa25894b1323",
24
- "__NEXT_PREVIEW_MODE_SIGNING_KEY": "3b0fdd1346beef1dcaeacf0b3f19e394c90373afc53784ecc2a5a526cfa5f9b2",
25
- "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "e7c40b601400a3e065e7a56149651a9bb868d1706eceda7fee6bf5a49487fde0"
21
+ "__NEXT_BUILD_ID": "_knBrbKtV87NnpUclVMJo",
22
+ "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "GUtVcCRAE9s04t4mLSb0SGTSXbPqBAcNW9ZjjS20z0E=",
23
+ "__NEXT_PREVIEW_MODE_ID": "1a2cd0ce48e8eb2086ebed4e658671e4",
24
+ "__NEXT_PREVIEW_MODE_SIGNING_KEY": "30d5cec7695795c805f9685f9ca350564b5290472aba04ede992e486bad47cdc",
25
+ "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "de2bc5b5d24c554bbf5b1f370fe41e842e303e1a415fa71e94efc118574b094a"
26
26
  }
27
27
  }
28
28
  },
@@ -1 +1 @@
1
- <!DOCTYPE html><!--x2zqTGbGGK8nA_dlhcQDx--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/ea93fda1b0bdd3b9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d282787ed3063711.js"/><script src="/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/_next/static/chunks/1255-a390e12b70b4a9fb.js" async=""></script><script src="/_next/static/chunks/main-app-c3d1ac80a13099fb.js" async=""></script><script src="/_next/static/chunks/app/layout-6b46da9e6091abb3.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-DVQQG95LNL" as="script"/><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>AGX Board - Agent Task Orchestration</title><meta name="description" content="Orchestrate and manage AI agent tasks on AGX Board"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]"><div hidden=""><!--$--><!--/$--></div><div class="fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d282787ed3063711.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4647,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"AuthProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[6285,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"GoogleAnalytics\"]\n6:I[7950,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"PostHogAnalytics\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/css/ea93fda1b0bdd3b9.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"x2zqTGbGGK8nA-dlhcQDx\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"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\",\"suppressHydrationWarning\":true,\"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\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$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\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],null],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"a:{\"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\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--_knBrbKtV87NnpUclVMJo--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/ea93fda1b0bdd3b9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-d282787ed3063711.js"/><script src="/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/_next/static/chunks/1255-a390e12b70b4a9fb.js" async=""></script><script src="/_next/static/chunks/main-app-c3d1ac80a13099fb.js" async=""></script><script src="/_next/static/chunks/app/layout-6b46da9e6091abb3.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-DVQQG95LNL" as="script"/><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>AGX Board - Agent Task Orchestration</title><meta name="description" content="Orchestrate and manage AI agent tasks on AGX Board"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]"><div hidden=""><!--$--><!--/$--></div><div class="fixed inset-0 -z-10 h-full w-full bg-[radial-gradient(#27272a_1px,transparent_1px)] [background-size:16px_16px] opacity-20"></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-d282787ed3063711.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[4647,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"AuthProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[6285,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"GoogleAnalytics\"]\n6:I[7950,[\"7177\",\"static/chunks/app/layout-6b46da9e6091abb3.js\"],\"PostHogAnalytics\"]\n7:I[4431,[],\"OutletBoundary\"]\n9:I[5278,[],\"AsyncMetadataOutlet\"]\nb:I[4431,[],\"ViewportBoundary\"]\nd:I[4431,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[7150,[],\"\"]\n:HL[\"/_next/static/css/ea93fda1b0bdd3b9.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"_knBrbKtV87NnpUclVMJo\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"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\",\"suppressHydrationWarning\":true,\"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\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$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\":[[[\"$\",\"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.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],null],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"a:{\"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\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-d282787ed3063711.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-8c662602f1324852.js" defer=""></script><script src="/_next/static/chunks/pages/_app-6c8c2371b16a04b8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-94812ad32cad7365.js" defer=""></script><script src="/_next/static/x2zqTGbGGK8nA-dlhcQDx/_buildManifest.js" defer=""></script><script src="/_next/static/x2zqTGbGGK8nA-dlhcQDx/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"x2zqTGbGGK8nA-dlhcQDx","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-d282787ed3063711.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-8c662602f1324852.js" defer=""></script><script src="/_next/static/chunks/pages/_app-6c8c2371b16a04b8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-94812ad32cad7365.js" defer=""></script><script src="/_next/static/_knBrbKtV87NnpUclVMJo/_buildManifest.js" defer=""></script><script src="/_next/static/_knBrbKtV87NnpUclVMJo/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"_knBrbKtV87NnpUclVMJo","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{\"40a8744b5710849be6560ee520f13f185b3af4dc0c\":{\"workers\":{\"app/auth/device/page\":{\"moduleId\":\"39121\",\"async\":true}},\"layer\":{\"app/auth/device/page\":\"action-browser\"},\"filename\":\"lib/device-actions.ts\",\"exportedName\":\"approveDeviceCode\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"4054e5930986779ae0371b879e98c4b45014e684bb\":{\"workers\":{\"app/auth/device/page\":{\"moduleId\":\"88088\",\"async\":true}},\"layer\":{\"app/auth/device/page\":\"action-browser\"},\"filename\":\"lib/device-actions.ts\",\"exportedName\":\"approveDeviceCode\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"40a8744b5710849be6560ee520f13f185b3af4dc0c":{"workers":{"app/auth/device/page":{"moduleId":"39121","async":true}},"layer":{"app/auth/device/page":"action-browser"},"filename":"lib/device-actions.ts","exportedName":"approveDeviceCode"}},"edge":{},"encryptionKey":"KSaq/EMrnnQvDfUEb3vmdBTeCNlTHVdM6FQeCiEG4dg="}
1
+ {"node":{"4054e5930986779ae0371b879e98c4b45014e684bb":{"workers":{"app/auth/device/page":{"moduleId":"88088","async":true}},"layer":{"app/auth/device/page":"action-browser"},"filename":"lib/device-actions.ts","exportedName":"approveDeviceCode"}},"edge":{},"encryptionKey":"GUtVcCRAE9s04t4mLSb0SGTSXbPqBAcNW9ZjjS20z0E="}