@mndrk/agx 2.0.0 → 2.0.2

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 (611) hide show
  1. package/README.md +22 -32
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +1 -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 +3 -27
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +0 -57
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +2 -2
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js +1 -1
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/attachments/[id]/route.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +1 -1
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -1
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js +1 -1
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js +3 -3
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js +3 -3
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +2 -2
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js +1 -1
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js +2 -2
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +2 -2
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +2 -2
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js +1 -1
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/participants/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js +3 -3
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js +3 -3
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +3 -3
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +3 -3
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +2 -2
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js +1 -1
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/reactions/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/search/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/summarize/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +3 -3
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js +2 -2
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +2 -2
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js +3 -3
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js +2 -2
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js +2 -2
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +2 -2
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +2 -2
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js +1 -1
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +3 -3
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +3 -3
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +2 -2
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +2 -2
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +3 -3
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +3 -3
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +3 -3
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js +3 -3
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js +1 -1
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +2 -2
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js +1 -1
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js +1 -1
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/[id]/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js +1 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/upload/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +2 -2
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js +1 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page_client-reference-manifest.js +1 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +2 -2
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +2 -2
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +2 -2
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js +1 -1
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +3 -3
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +4 -4
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +4 -4
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +1 -1
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  178. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  179. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  181. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +1 -1
  182. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js +1 -1
  185. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  187. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
  188. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +3 -3
  189. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  190. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  195. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +1 -1
  197. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  199. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  200. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +3 -3
  201. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  202. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  205. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  206. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +1 -1
  208. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
  209. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  210. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  211. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +3 -3
  212. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  213. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  214. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  215. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  216. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  218. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js +1 -1
  219. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
  222. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +3 -3
  223. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +3 -3
  224. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
  225. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +2 -2
  226. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  227. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  228. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
  229. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +1 -9
  230. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_0b687838._.js +1 -1
  231. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_d237c059._.js +1 -1
  232. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +8 -8
  233. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6041e016._.js +1 -1
  234. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +12 -12
  235. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_7eefb426._.js +10 -10
  236. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_8c82981b._.js +1 -1
  237. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_db_ts_b66fa05f._.js +1 -1
  238. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_src_graph_4b26122b._.js +1 -1
  239. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__02ca2128._.js +3 -0
  240. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a2575ddb._.js → [root-of-the-server]__0469e3c4._.js} +3 -3
  241. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__086fd26c._.js +3 -0
  242. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__97b329ba._.js → [root-of-the-server]__094cda80._.js} +3 -3
  243. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__10254e41._.js +3 -0
  244. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9020726e._.js → [root-of-the-server]__23d4344c._.js} +9 -9
  245. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__29975f5f._.js +3 -0
  246. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__33b4886e._.js +18 -0
  247. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__26bfcde9._.js → [root-of-the-server]__384eb9c5._.js} +8 -8
  248. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__342419c6._.js → [root-of-the-server]__3dfd0006._.js} +3 -3
  249. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__45d4a92e._.js +52 -0
  250. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__8f9b0934._.js → [root-of-the-server]__4dc3c88e._.js} +15 -15
  251. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5231c027._.js +3 -0
  252. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5d4e1eab._.js +52 -0
  253. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ce5907bd._.js → [root-of-the-server]__5e048929._.js} +10 -10
  254. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__68eac206._.js +13 -0
  255. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__6a0855b9._.js +3 -0
  256. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__6a99c121._.js +3 -0
  257. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__6d540484._.js +6 -0
  258. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ec8bbb77._.js → [root-of-the-server]__754f11c3._.js} +4 -4
  259. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__35d38935._.js → [root-of-the-server]__7fae991f._.js} +3 -3
  260. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__84058042._.js +3 -0
  261. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__19a23827._.js → [root-of-the-server]__843bda67._.js} +4 -4
  262. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a17a4c27._.js → [root-of-the-server]__8c40bccb._.js} +10 -10
  263. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8d27656d._.js +3 -0
  264. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8f70f57a._.js +3 -0
  265. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9a8408c2._.js +3 -0
  266. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9d711adb._.js +4 -0
  267. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9db4ed07._.js +3 -0
  268. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a085810b._.js +13 -0
  269. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9d703c3e._.js → [root-of-the-server]__a5ebf587._.js} +3 -3
  270. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a798a81b._.js +3 -0
  271. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ab726f81._.js +3 -0
  272. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__4c2e5ddc._.js → [root-of-the-server]__b3d06607._.js} +5 -5
  273. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__b478bb36._.js +6 -0
  274. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ba50bf22._.js +2 -2
  275. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bbf5f222._.js +3 -0
  276. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bca6e014._.js +52 -0
  277. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bea8711d._.js +1 -1
  278. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bf0cbc6e._.js +13 -0
  279. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__c0525aa9._.js +3 -0
  280. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__c24f04db._.js +18 -0
  281. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__c6a83450._.js +31 -0
  282. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__a7a82510._.js → [root-of-the-server]__cac59af9._.js} +16 -16
  283. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ccb0a291._.js +3 -0
  284. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__05b8cda8._.js → [root-of-the-server]__d5556385._.js} +4 -4
  285. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__9b8efd58._.js → [root-of-the-server]__e5230b89._.js} +3 -3
  286. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{[root-of-the-server]__ea6b46b2._.js → [root-of-the-server]__e6839bac._.js} +10 -10
  287. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f8f5dd3f._.js +3 -0
  288. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +25 -28
  289. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_039c43e5._.js +1 -1
  290. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1e1c23f7._.js +1 -1
  291. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_215731e9._.js +3 -0
  292. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_37dc866e._.js +3 -0
  293. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_502ede06._.js +1 -1
  294. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_68972519._.js +1 -1
  295. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_8feb2597._.js +3 -3
  296. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a0e26bca._.js +1 -1
  297. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a2a39dbe._.js +1 -1
  298. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a7533794._.js +3 -0
  299. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_b2707e4d._.js +1 -1
  300. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_d2d4c5b2._.js +3 -3
  301. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e1b68242._.js +8 -0
  302. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{Projects_Agents_agx-cloud_dc82c7bf._.js → Projects_Agents_agx-cloud_e7635878._.js} +2 -2
  303. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ef6ea3fc._.js +1 -1
  304. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ff11dd7c._.js +1 -1
  305. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__0d6259d5._.js +3 -0
  306. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__13df20fe._.js +95 -0
  307. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__1e273070._.js +3 -0
  308. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__d78dfcf2._.js → [root-of-the-server]__5dace3c6._.js} +2 -2
  309. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__99fa92e8._.js → [root-of-the-server]__657b446b._.js} +2 -2
  310. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__00507cd5._.js → [root-of-the-server]__9d72d782._.js} +2 -2
  311. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__c76acf29._.js +4 -0
  312. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_db3f38e3._.js +1 -1
  313. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_6c755856._.js +3 -0
  314. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_icons_search_04b9412a.js +3 -0
  315. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_2cd20dd7._.js +1 -1
  316. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_832595f2._.js +1 -1
  317. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_esm_build_templates_app-page_e4003e94.js +1 -1
  318. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +0 -1
  319. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  320. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.js +1 -1
  321. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.json +0 -12
  322. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  323. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
  324. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  325. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  326. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/09c6c56e4afc8647.js +1 -0
  327. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{5ff122f46494124f.js → 0a0d449e527ef5e2.js} +3 -3
  328. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0d58db99a936501d.js +1 -0
  329. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{101223594db179e0.js → 1e899e8bb554fde8.js} +3 -3
  330. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3791d58026009409.js +6 -0
  331. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4256a16941bc22fb.js +18 -0
  332. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4926ceb649af0e91.js +1 -0
  333. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{8dad5ee086c3d46d.js → 49b2630db3ff37fe.js} +1 -1
  334. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/652b21250c785942.css +1 -0
  335. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/cc995b38ae16ee12.js +1 -0
  336. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/dc534541f2bd6342.js +1 -0
  337. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e479bda541d8b5c4.css +2 -0
  338. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e4e1f0e19efe31cb.js +1 -0
  339. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/fb502daefdaec131.js +93 -0
  340. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/README.md +4 -0
  341. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/chat/route.ts +7 -9
  342. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/participants/route.ts +0 -1
  343. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/system/db-status/route.ts +16 -24
  344. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/layout.tsx +106 -30
  345. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/page.tsx +3 -1
  346. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/DiscordButton.tsx +20 -0
  347. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/KanbanBoard.tsx +4 -4
  348. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Layout.tsx +23 -12
  349. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx +124 -181
  350. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageBubble.tsx +6 -4
  351. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +19 -5
  352. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx +0 -1
  353. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +6 -6
  354. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/TypingIndicator.tsx +4 -2
  355. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadItem.tsx +9 -9
  356. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadList.tsx +15 -15
  357. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadSidebar.tsx +101 -39
  358. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql +0 -52
  359. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useThreadState.ts +85 -85
  360. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/attachment-store.ts +1 -1
  361. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/chat-utils.ts +15 -0
  362. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/cli-runner.ts +1 -6
  363. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/dependency-helpers.ts +2 -0
  364. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/dependency-manager.ts +2 -1
  365. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/history-store.ts +1 -1
  366. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/participants-store.ts +1 -2
  367. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/queue/sqlite-adapter.ts +1 -1
  368. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite-query-adapter.ts +1 -1
  369. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite_writer.ts +1 -1
  370. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/startup.ts +1 -1
  371. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/index.ts +1 -1
  372. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/local-thread-adapter.ts +27 -27
  373. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/thread-adapter.ts +31 -31
  374. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +7 -38
  375. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/types.ts +0 -1
  376. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/migrations/sqlite_schema.sql +0 -45
  377. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/next.config.ts +1 -0
  378. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/bindings/bindings.js +221 -0
  379. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/bindings/package.json +28 -0
  380. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/file-uri-to-path/index.js +66 -0
  381. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/file-uri-to-path/package.json +32 -0
  382. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/participants.json +16 -0
  383. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/services/threadService.ts +32 -32
  384. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/db/backup.ts +1 -1
  385. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/db/checks.ts +1 -1
  386. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/db/init.ts +1 -1
  387. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/read-path.ts +15 -4
  388. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/src/graph/store.ts +1 -1
  389. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.test.ts +30 -30
  390. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.ts +21 -21
  391. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/uiSettings.ts +11 -14
  392. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/styles/threadSidebar.css +1 -2
  393. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
  394. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/types/userPreferences.ts +8 -12
  395. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +782 -56
  396. package/package.json +1 -1
  397. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/app-paths-manifest.json +0 -3
  398. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/build-manifest.json +0 -11
  399. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/server-reference-manifest.json +0 -4
  400. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js +0 -7
  401. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.map +0 -5
  402. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.nft.json +0 -1
  403. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route_client-reference-manifest.js +0 -2
  404. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/app-paths-manifest.json +0 -3
  405. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/build-manifest.json +0 -11
  406. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/server-reference-manifest.json +0 -4
  407. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js +0 -8
  408. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.map +0 -5
  409. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.nft.json +0 -1
  410. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route_client-reference-manifest.js +0 -2
  411. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/app-paths-manifest.json +0 -3
  412. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/build-manifest.json +0 -11
  413. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/server-reference-manifest.json +0 -4
  414. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js +0 -8
  415. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.map +0 -5
  416. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.nft.json +0 -1
  417. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route_client-reference-manifest.js +0 -2
  418. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/app-paths-manifest.json +0 -3
  419. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/build-manifest.json +0 -11
  420. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/server-reference-manifest.json +0 -4
  421. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js +0 -8
  422. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.map +0 -5
  423. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.nft.json +0 -1
  424. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route_client-reference-manifest.js +0 -2
  425. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/app-paths-manifest.json +0 -3
  426. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/build-manifest.json +0 -11
  427. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/server-reference-manifest.json +0 -4
  428. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js +0 -8
  429. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.map +0 -5
  430. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.nft.json +0 -1
  431. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +0 -2
  432. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/app-paths-manifest.json +0 -3
  433. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/build-manifest.json +0 -18
  434. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/next-font-manifest.json +0 -11
  435. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/react-loadable-manifest.json +0 -1
  436. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/server-reference-manifest.json +0 -4
  437. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js +0 -16
  438. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.map +0 -5
  439. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.nft.json +0 -1
  440. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page_client-reference-manifest.js +0 -2
  441. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/app-paths-manifest.json +0 -3
  442. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/build-manifest.json +0 -18
  443. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/next-font-manifest.json +0 -11
  444. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/react-loadable-manifest.json +0 -1
  445. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/server-reference-manifest.json +0 -4
  446. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js +0 -16
  447. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.map +0 -5
  448. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.nft.json +0 -1
  449. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page_client-reference-manifest.js +0 -2
  450. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/app-paths-manifest.json +0 -3
  451. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/build-manifest.json +0 -18
  452. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/next-font-manifest.json +0 -11
  453. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/react-loadable-manifest.json +0 -1
  454. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/server-reference-manifest.json +0 -4
  455. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js +0 -15
  456. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.map +0 -5
  457. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.nft.json +0 -1
  458. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page_client-reference-manifest.js +0 -2
  459. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +0 -9
  460. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.meta +0 -15
  461. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +0 -23
  462. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +0 -23
  463. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +0 -5
  464. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +0 -9
  465. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +0 -5
  466. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +0 -9
  467. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +0 -4
  468. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_daemon_route_actions_460dc557.js +0 -3
  469. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__0270c773._.js +0 -52
  470. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__051e7a84._.js +0 -31
  471. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__0c5adfdf._.js +0 -3
  472. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__0dcaa575._.js +0 -4
  473. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__171e4570._.js +0 -3
  474. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__183b6768._.js +0 -52
  475. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__18c12dc5._.js +0 -3
  476. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1b1fcfbb._.js +0 -3
  477. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1b639210._.js +0 -3
  478. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1d2e1572._.js +0 -52
  479. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1f176ebf._.js +0 -4
  480. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__22d0d2cc._.js +0 -10
  481. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__24ce66ea._.js +0 -3
  482. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__255ff287._.js +0 -3
  483. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__27e9e463._.js +0 -3
  484. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__299302d8._.js +0 -3
  485. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__2ed85740._.js +0 -3
  486. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__302dca07._.js +0 -6
  487. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__33e7bfc0._.js +0 -5
  488. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__3c16a1e6._.js +0 -3
  489. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__577586cd._.js +0 -3
  490. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__5b4f5584._.js +0 -3
  491. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__6e6ba574._.js +0 -3
  492. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__78f22013._.js +0 -3
  493. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__90896e19._.js +0 -18
  494. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9554684b._.js +0 -13
  495. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9e3a95c9._.js +0 -3
  496. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a6778887._.js +0 -13
  497. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__af7fd229._.js +0 -18
  498. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bc444d71._.js +0 -3
  499. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bf160a21._.js +0 -3
  500. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__e0c2c1e9._.js +0 -6
  501. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f1e631d2._.js +0 -13
  502. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__f44d398c._.js +0 -3
  503. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ff7b2c7c._.js +0 -3
  504. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notification-outbox_[id]_route_actions_c429c549.js +0 -3
  505. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_[id]_read_route_actions_615ae13d.js +0 -3
  506. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_unread-count_route_actions_b61a9301.js +0 -3
  507. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_notifications_route_actions_06dbcdc4.js +0 -3
  508. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_welcome_page_actions_5176f4d4.js +0 -3
  509. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_033373a0._.js +0 -3
  510. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0562c9cd._.js +0 -3
  511. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0cf15b7b._.js +0 -8
  512. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0d91718c._.js +0 -3
  513. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_69570e90._.js +0 -3
  514. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_6cbdc6fd._.js +0 -4
  515. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_82783170._.js +0 -3
  516. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_aaa774d8._.js +0 -4
  517. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_afe007c2._.js +0 -4
  518. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +0 -95
  519. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__24a978df._.js +0 -3
  520. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__523e8b0b._.js +0 -3
  521. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__546c34e3._.js +0 -3
  522. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__807e5ecc._.js +0 -3
  523. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__9668fae0._.js +0 -3
  524. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__97870484._.js +0 -3
  525. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a4a5c57b._.js +0 -3
  526. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__b549e8c2._.js +0 -4
  527. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__e915acb2._.js +0 -3
  528. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/a2576__next-internal_server_app_w_[workspaceId]_[threadId]_page_actions_f668795b.js +0 -3
  529. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ad555_agx-cloud__next-internal_server_app_w_[workspaceId]_page_actions_8ade5a6c.js +0 -3
  530. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_@dnd-kit_core_dist_core_esm_e4fe20d7.js +0 -3
  531. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_63b016a6._.js +0 -3
  532. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0804e1cf36ac4c40.js +0 -1
  533. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/245ea04687930f1c.css +0 -1
  534. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/2f63efec13a9346a.js +0 -1
  535. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/54fbb309ba7c2b4b.js +0 -1
  536. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55f8c843a8037ac8.js +0 -1
  537. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5eda5cd286808293.js +0 -93
  538. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6bfec2ea0d682ffc.js +0 -18
  539. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7d2c10033c8a8554.js +0 -1
  540. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/822bd641355a9397.js +0 -6
  541. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c22c688047ed9e40.css +0 -2
  542. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c6ed4939c63ba444.js +0 -1
  543. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e4b656247e95267b.js +0 -1
  544. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ef426b92c6ce58a5.js +0 -1
  545. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/daemon/route.ts +0 -55
  546. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notification-outbox/[id]/route.ts +0 -42
  547. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/[id]/read/route.ts +0 -43
  548. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/route.ts +0 -46
  549. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/unread-count/route.ts +0 -24
  550. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/[threadId]/page.tsx +0 -4
  551. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/layout.tsx +0 -7
  552. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/page.tsx +0 -4
  553. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/welcome/page.tsx +0 -117
  554. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationBell.tsx +0 -62
  555. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationItem.tsx +0 -96
  556. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationsPanel.tsx +0 -127
  557. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/index.ts +0 -3
  558. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/WorkspaceNav.tsx +0 -67
  559. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatPreview.tsx +0 -85
  560. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useNotifications.ts +0 -115
  561. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/cursors.js +0 -75
  562. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/notifications.js +0 -70
  563. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/preferences.js +0 -110
  564. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/demo-threads.ts +0 -76
  565. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/jobs/pruneNotifications.js +0 -87
  566. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/projectors/notificationProjector.js +0 -351
  567. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/sqlite.ts +0 -61
  568. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/LICENSE +0 -21
  569. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/README.md +0 -99
  570. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/binding.gyp +0 -38
  571. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/common.gypi +0 -68
  572. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/copy.js +0 -31
  573. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/defines.gypi +0 -41
  574. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/download.sh +0 -122
  575. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  576. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -265969
  577. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -13968
  578. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -730
  579. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  580. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  581. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/addon.cpp +0 -47
  582. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  583. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  584. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  585. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  586. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  587. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  588. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  589. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  590. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  591. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  592. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  593. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  594. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  595. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  596. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  597. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  598. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  599. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  600. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/macros.cpp +0 -70
  601. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  602. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  603. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/script.txt +0 -111
  604. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/_helpers.js +0 -68
  605. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/crash.test.js +0 -139
  606. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/duplicate.test.js +0 -111
  607. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/flood.test.js +0 -162
  608. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/replay.test.js +0 -107
  609. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{UBZZwc9vLlz1xCm5PYCTc → Bhse4ZIyeG-RAxhOSkjdu}/_buildManifest.js +0 -0
  610. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{UBZZwc9vLlz1xCm5PYCTc → Bhse4ZIyeG-RAxhOSkjdu}/_clientMiddlewareManifest.json +0 -0
  611. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{UBZZwc9vLlz1xCm5PYCTc → Bhse4ZIyeG-RAxhOSkjdu}/_ssgManifest.js +0 -0
@@ -1,18 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56631,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},63558,(e,t,r)=>{t.exports=e.r(97131)},34285,e=>{"use strict";var t=e.i(95459);function r(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),l=(0,t.useCallback)(async()=>{s(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{s(!1)}},[]);(0,t.useEffect)(()=>{l()},[l]);let i=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:n,refetch:l,createProject:i,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}e.s(["useProjects",()=>r])},44071,e=>{"use strict";let t=new Set(["done","passed"]),r=new Set(["pending","running","awaiting_human","blocked"]);function a(e){return`node--${e}`}function s(e){return e.replace(/_/gu," ")}function n(e,t){return"root"===t.type?t.title?.trim()||"Task Objective":"work"===t.type?t.title?.trim()||e:"gate"===t.type?t.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,e=>e.toUpperCase()):"fork"===t.type?"Fork":"join"===t.type?`Join (${t.joinStrategy})`:"Conditional"}function o(e){for(let[t,r]of Object.entries(e.nodes))if("root"===r.type)return{id:t,node:r};return null}function l(e){let a,s=o(e);return{mode:e.mode,graphVersion:e.graphVersion,nodeCount:Object.keys(e.nodes).length,progress:0===(a=Object.values(e.nodes).filter(e=>"skipped"!==e.status)).length?100:Math.round(a.filter(e=>t.has(e.status)).length/a.length*100),currentBlocker:function(e){let t=function(e){let t=Object.entries(e.nodes),r=t.filter(([,e])=>"gate"===e.type&&e.required),a=r.find(([,e])=>"failed"===e.status);if(a)return a[0];let s=r.find(([,e])=>"awaiting_human"===e.status);if(s)return s[0];let n=r.find(([,e])=>"pending"===e.status||"running"===e.status);if(n)return n[0];let o=t.find(([,e])=>"work"===e.type&&"blocked"===e.status);return o?.[0]??null}(e);if(!t)return null;let r=e.nodes[t];return r?{nodeId:t,label:n(t,r),status:r.status,required:"gate"===r.type&&r.required}:null}(e),derivedStatus:function(e){let t=Object.keys(e.nodes).length;if(0===t)return"INTAKE";if(1===t){let t=Object.values(e.nodes)[0];if("root"===t.type&&!t.graphCreated)return"INTAKE"}return Object.values(e.nodes).some(e=>r.has(e.status))?"PROGRESS":"DONE"}(e),hasRootNode:null!==s,rootNodeId:s?.id??null}}e.s(["buildGraphSummary",()=>l,"findRootNode",()=>o,"formatNodeStatusLabel",()=>s,"getNodeLabel",()=>n,"toNodeStatusClass",()=>a],44071)},11769,17158,e=>{"use strict";var t=e.i(72218),r=e.i(95459),a=e.i(50333);let s=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function n({status:e,onStatusChange:n}){let[o,l]=(0,r.useState)(!1),[i,d]=(0,r.useState)(null),c=(0,r.useRef)(null),u=(0,r.useRef)(null),m=(0,r.useCallback)(()=>{if(!c.current)return;let e=c.current.getBoundingClientRect();d({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!o)return;m();let e=e=>{c.current&&!c.current.contains(e.target)&&u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,m]),(0,r.useEffect)(()=>{l(!1)},[e]);let p=s.find(t=>t.value===e)||s[0],f="completed"===e,h="in_progress"===e;return(0,t.jsxs)("div",{className:"relative flex-shrink-0",ref:c,children:[(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),n&&l(!o)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
2
- hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
3
- ${n?"cursor-pointer":"cursor-default"}
4
- ${h?"animate-pulse":""}
5
- `,style:{borderColor:p.color,backgroundColor:f?p.color:"transparent"},title:p.label,children:[f&&(0,t.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===e&&(0,t.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:p.color,strokeWidth:"1.5",strokeLinecap:"round"})}),h&&(0,t.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:p.color}})]}),o&&i&&(0,a.createPortal)((0,t.jsx)("div",{ref:u,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:i.top,left:i.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:s.map(r=>{let a=r.value===e;return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
6
- hover:bg-[var(--item-hover-bg)]
7
- ${a?"font-semibold bg-[var(--item-hover-bg)]":""}
8
- `,onClick:e=>{e.stopPropagation(),n?.(r.value),l(!1)},children:[(0,t.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:r.color,backgroundColor:"completed"===r.value?r.color:"transparent"},children:["completed"===r.value&&(0,t.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===r.value&&(0,t.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:r.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===r.value&&(0,t.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:r.color}})]}),(0,t.jsx)("span",{style:{color:a?r.color:void 0},children:r.label}),a&&(0,t.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},r.value)})}),document.body)]})}var o=e.i(44071);let l=new Map,i=new Map;async function d(e){let t=l.get(e);if(void 0!==t)return t;let r=i.get(e);if(r)return r;let a=(async()=>{let t=await fetch(`/api/tasks/${e}/graph`,{method:"GET",cache:"no-store"});if(404===t.status)return l.set(e,null),null;let r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||`Failed to fetch graph summary (${t.status})`);let a=r?.graph??null,s=a?(0,o.buildGraphSummary)(a):null;return l.set(e,s),s})();i.set(e,a);try{return await a}finally{i.delete(e)}}function c(e){let t=(0,r.useMemo)(()=>e?l.get(e)??null:null,[e]),[a,s]=(0,r.useState)(t),[n,o]=(0,r.useState)(!!e&&null===t),[i,c]=(0,r.useState)(null),u=(0,r.useCallback)(async()=>{if(!e){s(null),c(null),o(!1);return}o(!0),c(null);try{let t=await d(e);s(t)}catch(e){c(e instanceof Error?e.message:"Failed to fetch graph summary"),s(null)}finally{o(!1)}},[e]);return(0,r.useEffect)(()=>{u()},[u]),{summary:a,isLoading:n,error:i,refresh:u}}function u(e){return l.get(e)??null}async function m(e){await Promise.allSettled(e.map(e=>d(e)))}e.s(["getCachedGraphSummary",()=>u,"prefetchGraphSummaries",()=>m,"useTaskGraphSummary",()=>c],17158);let p={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},f={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};function h({task:e,onClick:r,compact:a=!1,onStatusChange:s,allTasks:o,relationship:l="none"}){p[e.status||"queued"],e.stage&&f[e.stage];let{summary:i,isLoading:d}=c("draft"!==e.id?e.id:null),u=e.depends_on?.length?e.depends_on.map(e=>{let t=o?.find(t=>t.id===e);return{id:e,title:t?.title||e.slice(0,8),done:t?.status==="completed"}}):null;return u&&u.every(e=>e.done),(0,t.jsxs)("div",{onClick:r,role:"button",tabIndex:0,onKeyDown:e=>"Enter"===e.key&&r?.(),className:`group relative flex flex-col gap-1.5 sm:gap-2 p-2 sm:p-3 rounded-lg
9
- bg-white border shadow-sm
10
- transition-all duration-200 cursor-grab active:cursor-grabbing
11
- focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
12
- ${"active"===l?"border-primary ring-2 ring-primary/20 z-40":"blocking"===l?"border-[var(--status-blocked)] bg-rose-50/30 dark:bg-rose-950/20 z-20":"dependent"===l?"border-[var(--status-in-progress)] bg-blue-50/30 dark:bg-blue-950/20 z-20":"dimmed"===l?"opacity-40 grayscale scale-[0.98]":"border-[var(--card-border)] hover:shadow-md hover:border-[var(--primary-muted)] hover:ring-1 hover:ring-[var(--primary-muted)]"}
13
- ${"failed"===e.status&&"none"===l?"border-red-200 bg-red-50/30 dark:bg-red-950/20":""}
14
- ${"completed"===e.status&&"none"===l?"opacity-75 bg-gray-50 dark:bg-gray-900/50":""}
15
- `,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("h3",{className:`text-sm font-medium text-[var(--foreground)] leading-snug line-clamp-2 sm:line-clamp-3
16
- ${"completed"===e.status?"text-[var(--muted-foreground)] line-through":""}
17
- `,children:e.title||"Untitled Task"}),(0,t.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,t.jsx)(n,{status:e.status||"queued",onStatusChange:s})})]}),(0,t.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==e.priority&&e.priority>0&&(0,t.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-gray-100 ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),"draft"!==e.id&&(0,t.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:e.id.slice(0,5)})]})})]})}e.s(["default",()=>h],11769)},76701,e=>{"use strict";var t=e.i(64714),r=e.i(95459);let a={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:t.default.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:t.default.env.AGX_BOARD_USER_NAME||"Local Board User"};function s(e={}){let n="1"===t.default.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,o=e.project,l=e.status,i=e.orphan,d=e.realtime,[c,u]=(0,r.useState)([]),[m,p]=(0,r.useState)(!0),[f,h]=(0,r.useState)(null),[x,g]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),y=(0,r.useCallback)(e=>{if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]},[]),j=(0,r.useCallback)(e=>{let t=String(e||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!t)return[];let r=t[1].split("\n").find(e=>e.trim().toLowerCase().startsWith("depends_on:"));return r?y(r.slice(r.indexOf(":")+1).trim()):[]},[y]),k=(0,r.useCallback)((e,t)=>{let r=y(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?j(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=y(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[j,y]),w=(0,r.useCallback)(async()=>{try{let e=new URLSearchParams;o&&e.set("project",o),l&&e.set("status",l),i&&e.set("orphan","1");let t=await fetch(`/api/tasks?${e.toString()}`);if(!t.ok)throw Error("Failed to fetch tasks");let r=await t.json(),a=Array.isArray(r.tasks)?r.tasks.map(e=>k(e)):[];u(a),h(null)}catch(e){h(e instanceof Error?e:Error("Unknown error"))}finally{p(!1)}},[o,l,i]);(0,r.useEffect)(()=>{w()},[w]),(0,r.useEffect)(()=>{if(!n||!d)return;let e=setInterval(w,3e3);return()=>clearInterval(e)},[n,d,w]),(0,r.useEffect)(()=>{if(n||!d)return;let e={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:a.id,email:a.email,user_metadata:{name:a.name,full_name:a.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},t=e.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},e=>{"INSERT"===e.eventType?u(t=>{let r=k(e.new);return t.some(e=>e.id===r.id)?t:[r,...t]}):"UPDATE"===e.eventType?u(t=>t.map(t=>t.id===e.new.id?k(e.new,t):t)):"DELETE"===e.eventType&&u(t=>t.filter(t=>t.id!==e.old.id))}).subscribe();return()=>{e.removeChannel(t)}},[d,n]),(0,r.useEffect)(()=>{if(n||!d||"u"<typeof EventSource)return;let e=null;try{e=new EventSource("/api/tasks/stream")}catch(e){console.error("Failed to open tasks stream:",e);return}let t=e=>{try{let t=JSON.parse(e.data);if(!t?.type||"UPDATE"!==t.type||!t.task)return;let r=t.task;u(e=>{let t=e.some(e=>e.id===r.id),a=e.find(e=>e.id===r.id),s=k(r,a);return t?e.map(e=>e.id===r.id?s:e):[s,...e]})}catch{}},r=()=>{w()};return e.addEventListener("message",t),e.addEventListener("error",r),()=>{e?.removeEventListener("message",t),e?.removeEventListener("error",r),e?.close()}},[d,n,w]);let N=(0,r.useCallback)(async(e,t)=>{let r=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,swarm_models:t})});if(!r.ok)throw Error((await r.json()).error||"Failed to create task");let{task:a}=await r.json(),s=k(a);return u(e=>e.some(e=>e.id===s.id)?e:[s,...e]),s},[e.realtime,k]),C=(0,r.useCallback)(async(e,t)=>{let r=await fetch(`/api/tasks/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){let e=null;throw"function"==typeof r.json&&(e=await r.json().catch(()=>null)),Error(e?.error||e?.details||`Failed to update task (${r.status} ${r.statusText||"Error"})`)}let{task:a}=await r.json();return u(t=>t.map(t=>t.id===e?k({...t,...a},t):t)),k(a)},[e.realtime,k]),E=(0,r.useCallback)(async e=>{if(!(await fetch(`/api/tasks/${e}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");u(t=>t.filter(t=>t.id!==e))},[e.realtime]),S=(0,r.useCallback)(async e=>{let t=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:r}=await t.json();return u(t=>t.map(t=>t.id===e.taskId?k({...t,...r},t):t)),k(r)},[e.realtime,k]),A=(0,r.useCallback)(async e=>{g(e.taskId),v(null);try{let t=await fetch(`/api/orchestrator/tasks/${e.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reason?{reason:e.reason}:{})});if(!t.ok){let e=await t.json().catch(()=>({})),r=e?.error||"Failed to cancel workflow";throw Error(r)}return t.json()}catch(t){let e=t instanceof Error?t:Error("Failed to cancel workflow");throw v(e),e}finally{g(null)}},[]),_=(0,r.useCallback)(async e=>{let t=await fetch(`/api/tasks/${e}`),r=await t.json().catch(()=>null);if(!t.ok)throw Error(r?.error||"Failed to fetch task details");return k(r?.task)},[k]),P=(0,r.useCallback)(async e=>{let t=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:e})}),r=await t.json().catch(()=>({}));if(!t.ok)throw Error(r?.error||"Failed to assign orphan tasks");return await w(),{updatedCount:Number(r?.updatedCount||0),taskIds:Array.isArray(r?.taskIds)?r.taskIds:[]}},[w]);return{tasks:c,isLoading:m,error:f,cancellingTaskId:x,isCancelling:!!x,cancelError:b,refetch:w,createTask:N,updateTask:C,deleteTask:E,completeTaskStage:S,cancelWorkflow:A,fetchTask:_,assignOrphanTasksToProject:P}}e.s(["useTasks",()=>s],76701)},15875,e=>{"use strict";let t=(0,e.i(41157).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],15875)},32857,e=>{"use strict";let t=(0,e.i(41157).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],32857)},69826,e=>{"use strict";let t=(0,e.i(41157).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>t],69826)},14670,e=>{"use strict";let t=(0,e.i(41157).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],14670)},35189,e=>{"use strict";let t=(0,e.i(41157).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],35189)},41157,e=>{"use strict";var t=e.i(95459);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:l="",children:i,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:o?24*Number(n)/Number(a):n,className:r("lucide",l),...!i&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(i)?i:[i]])),o=(e,s)=>{let o=(0,t.forwardRef)(({className:o,...l},i)=>(0,t.createElement)(n,{ref:i,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...l}));return o.displayName=a(e),o};e.s(["default",()=>o],41157)},72431,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return i},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return l}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});function n(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,o(e));else t.set(r,o(a));return t}function i(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},43910,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return d},urlObjectKeys:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(42690)._(e.r(72431)),o=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,a=e.protocol||"",s=e.pathname||"",l=e.hash||"",i=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let c=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==d?(d="//"+(d||""),s&&"/"!==s[0]&&(s="/"+s)):d||(d=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${a}${d}${s}${c}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return l(e)}},95267,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(95459);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=n(e,a)),t&&(s.current=n(t,a))},[e,t])}function n(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},44643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return u},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return i},isResSent:function(){return m},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return k}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>l.test(e);function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function m(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&m(r))return a;if(!a)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},53284,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return n}});let a=e.r(44643),s=e.r(68817);function n(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},26100,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},61606,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return g},useLinkStatus:function(){return v}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(42690),o=e.r(72218),l=n._(e.r(95459)),i=e.r(43910),d=e.r(92821),c=e.r(95267),u=e.r(44643),m=e.r(36202);e.r(56631);let p=e.r(23807),f=e.r(53284),h=e.r(94840);function x(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function g(t){var r;let a,s,n,[i,g]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:y,as:j,children:k,prefetch:w=null,passHref:N,replace:C,shallow:E,scroll:S,onClick:A,onMouseEnter:_,onTouchStart:P,legacyBehavior:O=!1,onNavigate:L,ref:T,unstable_dynamicOnHover:$,...R}=t;a=k,O&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let M=l.default.useContext(d.AppRouterContext),I=!1!==w,D=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:F,as:U}=l.default.useMemo(()=>{let e=x(y);return{href:e,as:j?x(j):e}},[y,j]);if(O){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=l.default.Children.only(a)}let W=O?s&&"object"==typeof s&&s.ref:T,B=l.default.useCallback(e=>(null!==M&&(v.current=(0,p.mountLinkInstance)(e,F,M,D,I,g)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[I,F,M,D,g]),q={ref:(0,c.useMergedRef)(B,W),onClick(t){O||"function"!=typeof A||A(t),O&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!M||t.defaultPrevented||function(t,r,a,s,n,o,i){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(20263);l.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,F,U,v,C,S,L)},onMouseEnter(e){O||"function"!=typeof _||_(e),O&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),M&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){O||"function"!=typeof P||P(e),O&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),M&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(U)?q.href=U:O&&!N&&("a"!==s.type||"href"in s.props)||(q.href=(0,m.addBasePath)(U)),n=O?l.default.cloneElement(s,q):(0,o.jsx)("a",{...R,...q,children:a}),(0,o.jsx)(b.Provider,{value:i,children:n})}e.r(26100);let b=(0,l.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},20130,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalWorkspaceAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata})]}))}}catch{}return{threads:{}}}function s(e){r().setItem(t,JSON.stringify(e))}function n(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let o=new class{async saveWorkspace(e){let t=Date.now(),r=a(),o=r.threads[e.id],l=o?.createdAt??e.createdAt??t,i=e.updatedAt??t,d={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:l,updatedAt:i};return r.threads[e.id]=d,s(r),n(d)}async loadWorkspace(e){let t=a().threads[e];return t?n(t):null}async listWorkspaces(e){let t=Object.values(a().threads),r=e?.order??"desc",s=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),o=Math.max(0,e?.offset??0),l=e?.limit,i="number"==typeof l&&l>=0?s.slice(o,o+l):s.slice(o);return{total:t.length,workspaces:i.map(n)}}async deleteWorkspace(e){let t=a();t.threads[e]&&(delete t.threads[e],s(t))}};e.s(["workspaceService",0,{listWorkspaces:async()=>[...(await o.listWorkspaces({order:"desc"})).workspaces.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createWorkspace(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await o.loadWorkspace(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return o.saveWorkspace({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`workspace-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return o.saveWorkspace(r)},async deleteWorkspace(e){let t=e.trim();if(!t)return;let r=await o.loadWorkspace(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await o.saveWorkspace({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameWorkspace(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let s=await o.loadWorkspace(r);return s?(s.title?.trim()??"")===a?s:o.saveWorkspace({id:s.id,title:a,messages:s.messages,metadata:s.metadata,createdAt:s.createdAt}):null},async saveWorkspaceMessages(e,t){let r=await o.loadWorkspace(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],s=t[r];if(a.id!==s.id||a.role!==s.role||a.participantId!==s.participantId||a.content!==s.content||a.timestamp!==s.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:o.saveWorkspace({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],20130)},59853,e=>{"use strict";let t=(0,e.i(41157).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],59853)},89141,e=>{"use strict";let t=(0,e.i(41157).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],89141)},37397,e=>{"use strict";var t=e.i(72218),r=e.i(61606),a=e.i(95459);function s(){let[e,r]=(0,a.useState)(null),[s,n]=(0,a.useState)("loading");(0,a.useEffect)(()=>{let e=!0;async function t(){try{let t=await fetch("/api/health");if(!e)return;if(!t.ok)return void n("error");let a=await t.json();r(a),n(a.connected?"connected":"disconnected")}catch{e&&n("error")}}t();let a=setInterval(t,3e4);return()=>{e=!1,clearInterval(a)}},[]);let o={loading:"Checking database…",connected:`${e?.adapter??"db"} connected (${e?.latencyMs??"?"}ms)`,disconnected:`${e?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":o[s],children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[s]}`}),(0,t.jsx)("span",{className:"hidden sm:inline",children:o[s]})]})}var n=e.i(20130),o=e.i(15875),l=e.i(59853);function i(){let[e,s]=(0,a.useState)([]),[i,d]=(0,a.useState)(!1),c=(0,a.useRef)(null);return((0,a.useEffect)(()=>{n.workspaceService.listWorkspaces().then(e=>s([...e].sort((e,t)=>(e.title||"").localeCompare(t.title||""))))},[]),(0,a.useEffect)(()=>{if(!i)return;let e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[i]),0===e.length)?(0,t.jsx)(r.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Workspaces"}):(0,t.jsxs)("div",{ref:c,className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>d(!i),className:"inline-flex items-center gap-1 text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:["Workspaces",(0,t.jsx)(o.ChevronDown,{size:14,className:`transition-transform ${i?"rotate-180":""}`})]}),i&&(0,t.jsx)("div",{className:"absolute right-0 top-full mt-2 w-56 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] shadow-xl z-50 py-1 animate-in fade-in slide-in-from-top-1 duration-150",children:e.map(e=>(0,t.jsxs)(r.default,{href:`/w/${e.id}`,onClick:()=>d(!1),className:"flex items-center gap-2 px-3 py-2 text-sm text-[var(--foreground)] hover:bg-[var(--muted)]/50 transition-colors",children:[(0,t.jsx)(l.Hash,{size:14,className:"text-[var(--muted-foreground)] shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.title?.trim()||"Untitled workspace"})]},e.id))})]})}var d=e.i(41157);let c=(0,d.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),u=(0,d.default)("bell-off",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]]);var m=e.i(89141),p=e.i(32857),f=e.i(69826),h=e.i(14670);let x=(0,d.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var g=e.i(35189);let b={task_completed:(0,t.jsx)(f.CheckCircle2,{className:"w-4 h-4 text-[var(--success)]","aria-hidden":"true"}),task_failed:(0,t.jsx)(p.AlertCircle,{className:"w-4 h-4 text-[var(--destructive)]","aria-hidden":"true"}),task_blocked:(0,t.jsx)(p.AlertCircle,{className:"w-4 h-4 text-[var(--warning)]","aria-hidden":"true"}),task_created:(0,t.jsx)(g.Zap,{className:"w-4 h-4 text-[var(--primary)]","aria-hidden":"true"}),task_stage_complete:(0,t.jsx)(h.Clock,{className:"w-4 h-4 text-[var(--primary)]","aria-hidden":"true"})};function v({notification:e,onMarkRead:r}){let a=null===e.read_at,s=()=>{a&&r(e.id)};return(0,t.jsxs)("li",{role:"listitem",tabIndex:0,onClick:s,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s())},"aria-label":`${a?"Unread: ":""}${e.title}`,className:["flex gap-3 px-4 py-3 cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-inset",a?"bg-[var(--primary-muted)] hover:bg-blue-50":"hover:bg-[var(--item-hover-bg)]","transition-colors"].join(" "),children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:b[e.type]??(0,t.jsx)(x,{className:"w-4 h-4 text-[var(--muted-foreground)]","aria-hidden":"true"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:["text-sm leading-snug truncate",a?"font-semibold text-[var(--foreground)]":"font-normal text-[var(--foreground)]"].join(" "),children:e.title}),e.body&&(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 line-clamp-2",children:e.body}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-1",children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;let r=Math.floor(t/60);if(r<24)return`${r}h ago`;let a=Math.floor(r/24);return`${a}d ago`}(e.created_at)})]}),a&&(0,t.jsx)("div",{className:"flex-shrink-0 w-2 h-2 mt-1.5 rounded-full bg-[var(--primary)]","aria-hidden":"true"})]})}function y({notifications:e,loading:r,error:s,hasMore:n,onMarkRead:o,onLoadMore:l,onClose:i}){let d=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=e=>{d.current&&!d.current.contains(e.target)&&i()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[i]),(0,a.useEffect)(()=>{let e=e=>{"Escape"===e.key&&i()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),(0,a.useEffect)(()=>{let e=d.current?.querySelector("[role=listitem]");e?.focus()},[]),(0,t.jsxs)("div",{ref:d,role:"dialog","aria-label":"Notifications","aria-modal":"false",className:"absolute right-0 top-full mt-2 w-80 sm:w-96 bg-[var(--card-bg)] border border-[var(--card-border)] rounded-xl shadow-lg z-50 flex flex-col overflow-hidden max-h-[480px]",children:[(0,t.jsx)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--card-border)]",children:(0,t.jsx)("h2",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Notifications"})}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[r&&0===e.length?(0,t.jsx)("div",{className:"p-4 space-y-3","aria-label":"Loading notifications",children:[1,2,3].map(e=>(0,t.jsxs)("div",{className:"flex gap-3 animate-pulse",children:[(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-[var(--muted)] mt-0.5 flex-shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5",children:[(0,t.jsx)("div",{className:"h-3 bg-[var(--muted)] rounded w-3/4"}),(0,t.jsx)("div",{className:"h-3 bg-[var(--muted)] rounded w-1/2"})]})]},e))}):s?(0,t.jsx)("div",{className:"flex flex-col items-center justify-center py-10 text-center px-4",children:(0,t.jsx)("p",{className:"text-sm text-[var(--destructive)]",children:s})}):0===e.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-center px-4","aria-label":"No notifications",children:[(0,t.jsx)(u,{className:"w-8 h-8 text-[var(--muted-foreground)] mb-3","aria-hidden":"true"}),(0,t.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"All caught up"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-1",children:"No notifications yet."})]}):(0,t.jsx)("ul",{role:"list","aria-label":"Notification list",className:"divide-y divide-[var(--card-border)]",children:e.map(e=>(0,t.jsx)(v,{notification:e,onMarkRead:o},e.id))}),n&&!r&&(0,t.jsx)("button",{onClick:l,className:"w-full py-2 text-xs text-[var(--primary)] hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]",children:"Load more"}),r&&e.length>0&&(0,t.jsx)("div",{className:"flex justify-center py-3",children:(0,t.jsx)(m.Loader2,{className:"w-4 h-4 animate-spin text-[var(--muted-foreground)]"})})]})]})}function j(){let[e,r]=(0,a.useState)(!1),{notifications:s,unreadCount:n,loading:o,error:l,hasMore:i,markAsRead:d,loadMore:u,refresh:m}=function({pollInterval:e=15e3,limit:t=20}={}){let[r,s]=(0,a.useState)([]),[n,o]=(0,a.useState)(0),[l,i]=(0,a.useState)(!0),[d,c]=(0,a.useState)(null),[u,m]=(0,a.useState)(null),p=(0,a.useRef)(null),f=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/notifications/unread-count");if(!e.ok)return;let t=await e.json();o(t.count??0)}catch{}},[]),h=(0,a.useCallback)(async(e=!0)=>{try{e&&i(!0);let r=e?`/api/notifications?limit=${t}`:`/api/notifications?limit=${t}&cursor=${u}`,a=await fetch(r);if(!a.ok)throw Error(`HTTP ${a.status}`);let n=await a.json(),o=n.notifications??[];e?s(o):s(e=>[...e,...o]),m(n.next_cursor??null),c(null)}catch(e){c(e instanceof Error?e.message:"Failed to load notifications")}finally{e&&i(!1)}},[t,u]),x=(0,a.useCallback)(async()=>{await Promise.all([h(!0),f()])},[h,f]),g=(0,a.useCallback)(async()=>{u&&await h(!1)},[u,h]),b=(0,a.useCallback)(async e=>{s(t=>t.map(t=>t.id===e?{...t,read_at:new Date().toISOString()}:t)),o(e=>Math.max(0,e-1));try{let t=await fetch(`/api/notifications/${e}/read`,{method:"PATCH"});if(!t.ok)throw Error(`HTTP ${t.status}`)}catch{await x()}},[x]);return(0,a.useEffect)(()=>(x(),p.current=setInterval(()=>{x()},e),()=>{p.current&&clearInterval(p.current)}),[e]),{notifications:r,unreadCount:n,loading:l,error:d,hasMore:null!==u,refresh:x,loadMore:g,markAsRead:b}}({pollInterval:15e3,limit:20});return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button","aria-label":`Notifications${n>0?`, ${n} unread`:""}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>{e||m(),r(e=>!e)},className:["relative p-2 rounded-lg transition-colors outline-none hover:bg-[var(--item-hover-bg)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]",e?"bg-[var(--item-hover-bg)]":""].join(" "),children:[(0,t.jsx)(c,{className:"w-5 h-5 text-[var(--muted-foreground)]","aria-hidden":"true"}),n>0&&(0,t.jsx)("span",{"aria-hidden":"true",className:"absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 flex items-center justify-center bg-[var(--primary)] text-white text-[10px] font-bold rounded-full leading-none",children:n>99?"99+":n})]}),e&&(0,t.jsx)(y,{notifications:s,loading:o,error:l,hasMore:i,onMarkRead:d,onLoadMore:u,onClose:()=>r(!1)})]})}function k({children:e,fullWidth:a=!1,noFooter:n=!1}){return(0,t.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,t.jsx)("nav",{className:"flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsx)("div",{className:"flex items-center gap-8",children:(0,t.jsxs)(r.default,{href:"/",className:"flex items-center gap-3 group",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--primary)] flex items-center justify-center text-white font-bold text-sm transition-colors",children:"A"}),(0,t.jsx)("span",{className:"text-lg font-bold tracking-tight text-[var(--foreground)] hidden sm:block",children:"AGX Board"})]})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(i,{}),(0,t.jsx)(j,{}),(0,t.jsx)(r.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,t.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${a?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:e}),!n&&(0,t.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,t.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,t.jsx)(s,{}),(0,t.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}function w(e){return(0,t.jsx)(a.Suspense,{fallback:(0,t.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,t.jsx)(k,{...e})})}e.s(["default",()=>w],37397)},92463,e=>{"use strict";var t=e.i(72218),r=e.i(95459);let a={name:"",description:""},s={name:"",path:"",notes:""};function n(){let[e,t]=(0,r.useState)(a),[n,o]=(0,r.useState)([s]),[l,i]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),m=(0,r.useCallback)(()=>{o(e=>[...e,{...s}])},[]),p=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),f=(0,r.useCallback)(()=>{t(a),o([s]),c(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({name:e.name||"",path:e.path||"",notes:e.notes||""}))):o([s]),c(null)},[]);return{form:e,setForm:t,repos:n,handleRepoChange:u,addRepo:m,removeRepo:p,resetForm:f,hydrateFromProject:h,isSubmitting:l,setIsSubmitting:i,formError:d,setFormError:c}}function o(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({name:e.name.trim(),path:e.path.trim(),notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function l({form:e,repos:r,isSubmitting:a,onFieldChange:s,onRepoChange:n,onAddRepo:o,onRemoveRepo:l}){return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>s("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:a})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>s("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:a})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("button",{type:"button",onClick:o,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:a,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:r.map((e,s)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",s+1]}),r.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>l(s),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:a,children:"Remove"})]}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>n(s,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:a}),(0,t.jsx)("input",{value:e.path,onChange:e=>n(s,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm",disabled:a}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("input",{value:e.notes,onChange:e=>n(s,"notes",e.target.value),placeholder:"Notes/Instructions",className:"input text-sm w-full",disabled:a})})]})]},s))})]})]})}function i({isOpen:e,onClose:r,onSubmit:a,editingProject:s,form:n,repos:o,isSubmitting:i,formError:d,onFieldChange:c,onRepoChange:u,onAddRepo:m,onRemoveRepo:p}){return e?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&r(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:s?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:s?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:r,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[(0,t.jsx)(l,{form:n,repos:o,isSubmitting:i,onFieldChange:c,onRepoChange:u,onAddRepo:m,onRemoveRepo:p}),d&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:d})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:r,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:a,disabled:i,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:i?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):s?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>o,"default",()=>i,"useProjectFormState",()=>n])},76342,e=>{"use strict";var t=e.i(72218),r=e.i(95459),a=e.i(61606),s=e.i(63558),n=e.i(37397);function o({project:e,onEdit:r,onDelete:a,onClick:s,onManageTasks:n}){let o=e.repos&&e.repos.length>0;return(0,t.jsxs)("div",{onClick:()=>s?.(e),className:`p-5 rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all
18
- ${s?"cursor-pointer hover:border-[var(--primary)] hover:shadow-md active:scale-[0.99]":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:e.slug})]}),(0,t.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(e.updated_at).toLocaleDateString()]}),(r||a||n)&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[n&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),n(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),r&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),r(e)},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-all bg-[var(--background)]",children:"Edit"}),a&&(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),e.description&&(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:e.description}),e.ci_cd_info&&(0,t.jsxs)("div",{className:"text-sm",children:[(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,t.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:e.ci_cd_info})]}),e.metadata&&Object.keys(e.metadata).length>0&&(0,t.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,t.jsx)("div",{className:"space-y-1",children:Object.entries(e.metadata??{}).filter(([e])=>"undefined"!==e&&""!==e).map(([e,r])=>(0,t.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,t.jsx)("span",{className:"font-semibold",children:e}),(0,t.jsx)("span",{className:"truncate text-right",children:"string"==typeof r?r:JSON.stringify(r)})]},e))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:o?`${e.repos.length} connected`:"Unlinked"})]}),o?(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[e.repos.slice(0,2).map(e=>(0,t.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,t.jsx)("div",{className:"font-semibold truncate",children:e.name}),e.path&&(0,t.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:e.path})]},e.id)),e.repos.length>2&&(0,t.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",e.repos.length-2," more"]})]}):(0,t.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No repositories added yet."})]})]})}var l=e.i(92463),i=e.i(11769);let d={in_progress:{title:"In Progress",icon:"🔄",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"🚧",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"📋",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function c({tasks:e,onSelectTask:r,onStatusChange:a}){if(0===e.length)return(0,t.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,t.jsx)("span",{className:"text-3xl",children:"📋"})}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let s=e.filter(e=>"in_progress"===e.status),n=e.filter(e=>"queued"===e.status),o=e.filter(e=>"blocked"===e.status),l=e.filter(e=>"completed"===e.status||"failed"===e.status),c=(e,s)=>{if(0===s.length)return null;let n=d[e];return(0,t.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${n.color} 10%, transparent)`},children:[(0,t.jsx)("span",{className:"text-lg",children:n.icon}),(0,t.jsx)("h3",{className:"text-sm font-semibold",style:{color:n.color},children:n.title}),(0,t.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${n.color} 15%, transparent)`,color:n.color},children:s.length})]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:n.description})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:s.map((e,s)=>(0,t.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*s}ms`},children:(0,t.jsx)(i.default,{task:e,onClick:()=>r?.(e),onStatusChange:a?t=>a(e.id,t):void 0})},e.id))})]})};return(0,t.jsxs)("div",{children:[c("in_progress",s),c("blocked",o),c("queued",n),c("completed",l)]})}var u=e.i(76701),m=e.i(34285);function p(){let e=(0,s.useRouter)(),{projects:i,isLoading:d,error:c,refetch:u,createProject:p,updateProject:h,deleteProject:x}=(0,m.useProjects)(),g=(0,l.useProjectFormState)(),[b,v]=(0,r.useState)(null),[y,j]=(0,r.useState)(!1),[k,w]=(0,r.useState)(null),{form:N,repos:C,handleRepoChange:E,addRepo:S,removeRepo:A,resetForm:_,hydrateFromProject:P,isSubmitting:O,setIsSubmitting:L,formError:T,setFormError:$,setForm:R}=g,M=()=>{v(null),_(),j(!0)},I=e=>{v(e),P(e),j(!0)},D=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),F=(0,r.useCallback)(e=>{w(e)},[]),U=(0,r.useCallback)(()=>{w(null)},[]),W=()=>{_(),j(!1),v(null)},B=async()=>{if(!N.name.trim())return void $("Project name is required");let e=C.find(e=>e.name.trim()&&!e.path.trim());if(e)return void $(`Local path is required for repository "${e.name}"`);$(null),L(!0);let t=(0,l.createProjectPayload)(N,C);try{b?await h(b.id,t):await p(t),W()}catch(e){$(e instanceof Error?e.message:"Failed to save project")}finally{L(!1)}},q=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await x(e.id)}catch(e){alert(e instanceof Error?e.message:"Failed to delete project")}};return(0,t.jsx)(n.default,{children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,t.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their repository contexts."})]}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("button",{onClick:u,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,t.jsx)("button",{onClick:M,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),d?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===i.length?(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"📂"}),(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your repositories."}),(0,t.jsx)("button",{onClick:M,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:[(0,t.jsxs)(a.default,{href:"/projects/orphans",className:"p-5 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all hover:border-[var(--primary)] hover:shadow-md",children:[(0,t.jsx)("div",{className:"flex items-start justify-between gap-4",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:"Orphan Tasks"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:"Unassigned"})]})}),(0,t.jsx)("p",{className:"text-sm text-[var(--foreground)]",children:"Review tasks with empty project assignment and move them into the correct project."})]}),i.map(e=>(0,t.jsx)(o,{project:e,onEdit:I,onDelete:q,onManageTasks:F,onClick:D},e.id))]}),(0,t.jsx)(l.default,{isOpen:y,onClose:W,onSubmit:B,editingProject:b,form:N,repos:C,isSubmitting:O,formError:T,onFieldChange:(e,t)=>R(r=>({...r,[e]:t})),onRepoChange:E,onAddRepo:S,onRemoveRepo:A}),k&&(0,t.jsx)(f,{project:k,onClose:U})]})})}function f({project:e,onClose:r}){let{tasks:a,isLoading:s}=(0,u.useTasks)({project:e.slug});return(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&r(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-5xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",e.name]}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(0,t.jsx)("button",{onClick:r,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:s?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,t.jsx)(c,{tasks:a})}),(0,t.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end flex-shrink-0",children:(0,t.jsx)("button",{onClick:r,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Close"})})]})})}e.s(["default",()=>p],76342)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56631,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},41157,e=>{"use strict";var t=e.i(95459);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:l="",children:c,iconNode:o,...u},d)=>(0,t.createElement)("svg",{ref:d,...s,width:n,height:n,stroke:e,strokeWidth:i?24*Number(a)/Number(n):a,className:r("lucide",l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...o.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])),i=(e,s)=>{let i=(0,t.forwardRef)(({className:i,...l},c)=>(0,t.createElement)(a,{ref:c,iconNode:s,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...l}));return i.displayName=n(e),i};e.s(["default",()=>i],41157)},72431,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return c},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return l}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function c(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},43910,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return l},formatWithValidation:function(){return o},urlObjectKeys:function(){return c}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(42690)._(e.r(72431)),i=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",l=e.hash||"",c=e.query||"",o=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?o=t+e.host:r&&(o=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(o+=":"+e.port)),c&&"object"==typeof c&&(c=String(a.urlQueryToSearchParams(c)));let u=e.search||c&&`?${c}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==o?(o="//"+(o||""),s&&"/"!==s[0]&&(s="/"+s)):o||(o=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),s=s.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${o}${s}${u}${l}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function o(e){return l(e)}},95267,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(95459);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=a(e,n)),t&&(s.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},44643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return b},NormalizeError:function(){return g},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return o},getURL:function(){return u},isAbsoluteUrl:function(){return c},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return N}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,c=e=>l.test(e);function o(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=o();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class g extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},53284,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(44643),s=e.r(68817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},26100,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},61606,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return v}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(42690),i=e.r(72218),l=a._(e.r(95459)),c=e.r(43910),o=e.r(92821),u=e.r(95267),d=e.r(44643),f=e.r(36202);e.r(56631);let m=e.r(23807),p=e.r(53284),h=e.r(94840);function x(e){return"string"==typeof e?e:(0,c.formatUrl)(e)}function y(t){var r;let n,s,a,[c,y]=(0,l.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:b,as:j,children:N,prefetch:w=null,passHref:k,replace:P,shallow:C,scroll:E,onClick:O,onMouseEnter:S,onTouchStart:_,legacyBehavior:z=!1,onNavigate:T,ref:L,unstable_dynamicOnHover:M,...R}=t;n=N,z&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let A=l.default.useContext(o.AppRouterContext),$=!1!==w,I=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:U,as:F}=l.default.useMemo(()=>{let e=x(b);return{href:e,as:j?x(j):e}},[b,j]);if(z){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=l.default.Children.only(n)}let D=z?s&&"object"==typeof s&&s.ref:L,B=l.default.useCallback(e=>(null!==A&&(v.current=(0,m.mountLinkInstance)(e,U,A,I,$,y)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[$,U,A,I,y]),W={ref:(0,u.useMergedRef)(B,D),onClick(t){z||"function"!=typeof O||O(t),z&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,s,a,i,c){if("u">typeof window){let o,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((o=t.currentTarget.getAttribute("target"))&&"_self"!==o||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),c){let e=!1;if(c({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(20263);l.default.startTransition(()=>{d(n||r,a?"replace":"push",i??!0,s.current)})}}(t,U,F,v,P,E,T)},onMouseEnter(e){z||"function"!=typeof S||S(e),z&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),A&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){z||"function"!=typeof _||_(e),z&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),A&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(F)?W.href=F:z&&!k&&("a"!==s.type||"href"in s.props)||(W.href=(0,f.addBasePath)(F)),a=z?l.default.cloneElement(s,W):(0,i.jsx)("a",{...R,...W,children:n}),(0,i.jsx)(g.Provider,{value:c,children:a})}e.r(26100);let g=(0,l.createContext)(m.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54003,e=>{"use strict";let t=(0,e.i(41157).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],54003)},24429,e=>{"use strict";let t=(0,e.i(41157).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],24429)},38783,e=>{"use strict";let t=(0,e.i(41157).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],38783)},986,e=>{"use strict";let t=(0,e.i(41157).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],986)},51263,e=>{"use strict";var t=e.i(72218),r=e.i(95459),n=e.i(61606),s=e.i(24429);let a=(0,e.i(41157).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var i=e.i(38783),l=e.i(986),c=e.i(54003);let o=e=>{switch(e){case"ok":return(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-emerald-400 text-emerald-400"});case"error":return(0,t.jsx)(c.XCircle,{className:"w-3 h-3 text-red-400"});case"unavailable":return(0,t.jsx)(l.AlertTriangle,{className:"w-3 h-3 text-zinc-500"})}},u=e=>{switch(e){case"ok":return(0,t.jsx)("span",{className:"text-emerald-400 text-xs font-medium",children:"OK"});case"error":return(0,t.jsx)("span",{className:"text-red-400 text-xs font-medium",children:"Error"});case"unavailable":return(0,t.jsx)("span",{className:"text-zinc-500 text-xs font-medium",children:"Unavailable"})}};function d(){let[e,l]=(0,r.useState)(null),[c,d]=(0,r.useState)(!0),[f,m]=(0,r.useState)(null),p=(0,r.useCallback)(async()=>{d(!0),m(null);try{let e=await fetch("/api/status");if(!e.ok)throw Error(`HTTP ${e.status}`);l(await e.json())}catch(e){m(e instanceof Error?e.message:"Failed to fetch status")}finally{d(!1)}},[]);(0,r.useEffect)(()=>{p();let e=setInterval(p,3e4);return()=>clearInterval(e)},[p]);let h=e?.services.filter(e=>!e.name.startsWith("cli:"))??[],x=e?.services.filter(e=>e.name.startsWith("cli:"))??[];return(0,t.jsx)("div",{className:"min-h-screen bg-[var(--background)] text-[var(--foreground)] p-6",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-8",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(n.default,{href:"/",className:"text-zinc-500 hover:text-zinc-300 transition-colors",children:(0,t.jsx)(a,{className:"w-4 h-4"})}),(0,t.jsx)("h1",{className:"text-lg font-semibold",children:"System Status"}),e&&(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-full ${"ok"===e.status?"bg-emerald-400/10 text-emerald-400":"bg-amber-400/10 text-amber-400"}`,children:"ok"===e.status?"All systems operational":"Degraded"})]}),(0,t.jsx)("button",{onClick:p,disabled:c,className:"text-zinc-500 hover:text-zinc-300 transition-colors disabled:opacity-50",children:(0,t.jsx)(s.RefreshCw,{className:`w-4 h-4 ${c?"animate-spin":""}`})})]}),f&&(0,t.jsx)("div",{className:"mb-6 p-3 rounded-lg bg-red-400/10 border border-red-400/20 text-red-400 text-sm",children:f}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"Services"}),(0,t.jsxs)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:[h.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o(e.status),(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[void 0!==e.latencyMs&&(0,t.jsxs)("span",{className:"text-xs text-zinc-500",children:[e.latencyMs,"ms"]}),u(e.status)]})]},e.name)),0===h.length&&!c&&(0,t.jsx)("div",{className:"px-4 py-3 text-sm text-zinc-500",children:"No services found"})]})]}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"CLI Providers"}),(0,t.jsx)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:x.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o(e.status),(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name.replace("cli:","")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"text-xs text-zinc-500",children:e.detail}),u(e.status)]})]},e.name))})]}),e?.limits&&(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3",children:"Operational Limits"}),(0,t.jsxs)("div",{className:"rounded-lg border border-zinc-800 divide-y divide-zinc-800",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-zinc-500 text-zinc-500"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Max Workers"})]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 font-mono",children:e.limits.maxWorkers})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(i.Circle,{className:"w-3 h-3 fill-zinc-500 text-zinc-500"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Write QPS Ceiling"})]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 font-mono",children:e.limits.writeQpsCeiling})]}),(0,t.jsx)("div",{className:"px-4 py-2",children:(0,t.jsxs)("span",{className:"text-[11px] text-zinc-600",children:["Single-coordinator / single-writer SQLite architecture."," ",(0,t.jsx)("a",{href:"https://github.com/anthropics/agx-cloud/blob/main/docs/LIMITS.md",target:"_blank",rel:"noopener",className:"underline hover:text-zinc-400",children:"See LIMITS.md"})]})})]})]}),e&&(0,t.jsxs)("p",{className:"text-xs text-zinc-600 text-center",children:["Last checked: ",new Date(e.timestamp).toLocaleTimeString()]})]})})}e.s(["default",()=>d],51263)}]);
@@ -1,6 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,22522,e=>{"use strict";let t=(0,e.i(41157).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],22522)},74575,e=>{"use strict";var t=e.i(72218),s=e.i(95459),a=e.i(63558),r=e.i(22522),i=e.i(76701),l=e.i(34285),n=e.i(17802),o=e.i(425),d=e.i(15012),c=e.i(17158);function u({params:e}){let{slug:u}=(0,s.use)(e),p=(0,a.useRouter)(),{tasks:m,isLoading:f,createTask:h,updateTask:x,deleteTask:g,completeTaskStage:b,cancelWorkflow:j,refetch:k,cancellingTaskId:y,fetchTask:w}=(0,i.useTasks)({realtime:!0,project:u}),{projects:v}=(0,l.useProjects)(),{workflow:N,stages:$,stageConfig:S,isValidTransition:C,isLoading:T}=(0,n.useWorkflows)(),[M,_]=(0,s.useState)(""),[E,L]=(0,s.useState)(!1),[O,R]=(0,s.useState)(!1),[A,K]=(0,s.useState)(null),P=v.find(e=>e.slug===u),I=(0,s.useMemo)(()=>{if(!M.trim())return m;let e=M.toLowerCase();return m.filter(t=>(t.title||"").toLowerCase().includes(e)||(t.content||"").toLowerCase().includes(e))},[m,M]),U=(0,s.useMemo)(()=>m.some(e=>!!e.graph_id),[m]),q=(0,s.useMemo)(()=>m.filter(e=>e.graph_id).map(e=>e.id),[m]),[D,F]=(0,s.useState)(!1);(0,s.useEffect)(()=>{if(0===q.length)return void F(!0);let e=!1;return(0,c.prefetchGraphSummaries)(q).then(()=>{e||F(!0)}),()=>{e=!0}},[q]);let G=(0,s.useCallback)(e=>{let t=(0,c.getCachedGraphSummary)(e.id);if(!t)return"done"===e.stage||"completed"===e.status?"DONE":"INTAKE"===e.stage||"ideation"===e.stage||"queued"===e.status?"INTAKE":"PROGRESS";return t.derivedStatus},[]),W=(0,s.useCallback)(e=>{p.push(`/projects/${u}/graph/${e.id}`)},[p,u]),B=(0,s.useCallback)(async(e,t)=>{await x(e,t)},[x]),z=async(e,t)=>{let s=[`status: ${"INTAKE"===t?"queued":"in_progress"}`,`stage: ${t}`];P&&(s.push(`project: ${P.slug}`),s.push(`project_id: ${P.id}`),s.push(`workflow_id: ${P.workflow_id||n.DEFAULT_WORKFLOW_ID}`));let a=`---
2
- ${s.join("\n")}
3
- ---
4
-
5
- # ${e}
6
- `;await h(a,null),L(!1)},J=(0,s.useCallback)(async()=>{if(!P?.id)return void K("Project is not loaded yet.");R(!0),K(null);try{let e=await fetch(`/api/projects/${P.id}/migrate-v2`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dryRun:!1})}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t?.error||`Migration failed (${e.status})`);let s=Number(t?.processed??0),a=Number(t?.migrated??0),r=Number(t?.skipped??0),i=Number(t?.failed??0),l=Number(t?.backup?.backedUp??0);K(`Migration finished: backed up ${l}, processed ${s}, migrated ${a}, skipped ${r}, failed ${i}.`),await k()}catch(t){let e=t instanceof Error?t.message:String(t);K(`Migration failed: ${e}`)}finally{R(!1)}},[P?.id,k]);return f||T?(0,t.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading board..."})]})}):(0,t.jsxs)("div",{className:"h-full flex flex-col",children:[(0,t.jsxs)("div",{className:"flex-shrink-0 border-b border-slate-200 bg-white/80 backdrop-blur-md px-3 sm:px-6 py-2 sm:py-0 sm:h-14 flex flex-col sm:flex-row sm:items-center justify-between gap-2 sm:gap-4",children:[(0,t.jsx)("div",{className:"flex items-center gap-3 sm:gap-4 text-sm text-slate-400 flex-shrink-0",children:(0,t.jsx)("span",{className:"font-semibold text-slate-900 truncate",children:P?.name||u})}),(0,t.jsxs)("div",{className:"flex items-center gap-3 flex-1 sm:justify-end",children:[(0,t.jsxs)("div",{className:"relative w-full sm:max-w-sm group",children:[(0,t.jsx)(r.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-400 group-focus-within:text-indigo-500 transition-colors",size:14}),(0,t.jsx)("input",{type:"text",placeholder:"Search tasks...",value:M,onChange:e=>_(e.target.value),className:"w-full bg-slate-50 border border-slate-200 rounded-full py-1.5 pl-9 pr-4 text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all"})]}),!U&&(0,t.jsx)("button",{type:"button",onClick:J,disabled:O||!P?.id,className:`hidden sm:inline-flex px-3 py-1.5 rounded-full text-xs font-medium border transition-colors whitespace-nowrap ${O?"bg-slate-100 border-slate-200 text-slate-400 cursor-wait":"bg-white border-slate-200 hover:border-indigo-300 hover:text-indigo-600"}`,title:"Create v2 execution graphs for tasks in this project",children:O?"Migrating...":"Migrate to v2"})]})]}),A&&(0,t.jsx)("p",{className:"text-xs text-slate-400 px-6 py-1",children:A}),(0,t.jsx)("div",{className:"flex-shrink-0 px-3 sm:px-6",children:(0,t.jsx)(d.default,{tasks:I,onTaskClick:e=>p.push(`/projects/${u}/graph/${e.id}`),onStop:async e=>{await j({taskId:e}),await k()},onRetry:async e=>{await b({taskId:e,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:y})}),(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,t.jsx)(o.default,{tasks:I,onSelectTask:W,onTasksChange:()=>{},onTaskUpdate:B,onAddTask:(e,t)=>z(e,t),stages:$,stageConfig:S,isValidTransition:U?void 0:C,graphColumnFn:U?G:void 0})})]})}e.s(["default",()=>u])}]);
@@ -1,2 +0,0 @@
1
- .thread-sidebar{color:#0f172a;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:16rem;min-width:16rem;height:100vh;transition:width .15s,min-width .15s;display:flex;overflow:hidden}.thread-sidebar--collapsed{width:3.5rem;min-width:3.5rem}.thread-sidebar--collapsed .thread-sidebar__brand{justify-content:center}.thread-sidebar--collapsed .thread-sidebar__brand-icon{cursor:pointer;transition:transform .15s}.thread-sidebar--collapsed .thread-sidebar__brand-icon:hover{transform:scale(1.08)}.thread-sidebar__brand{border-bottom:1px solid #f1f5f9;align-items:center;gap:.5rem;padding:1rem;display:flex}.thread-sidebar__brand-icon{color:#fff;background:#4f46e5;border:0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:inline-flex}.thread-sidebar__brand-title{letter-spacing:-.025em;margin:0;font-size:1.125rem;font-weight:700}.thread-sidebar__content{flex-direction:column;flex:1;gap:.25rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.thread-sidebar__section{flex-direction:column;gap:.25rem;display:flex}.thread-sidebar__section--workspaces{flex:1;min-height:0;overflow:hidden}.thread-sidebar__section-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.thread-sidebar__section-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:1rem 0 .5rem;padding:0 .75rem;font-size:.6875rem;font-weight:600}.thread-sidebar__nav-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.thread-sidebar__nav-item:hover{color:#0f172a;background:#f1f5f9}.thread-sidebar__nav-item--active{color:#4338ca;background:#eef2ff}.thread-sidebar__workspace-list{flex-direction:column;gap:.25rem;min-height:0;margin:0;padding:.125rem 0;list-style:none;display:flex;overflow-y:auto}.thread-sidebar__workspace-item{position:relative}.thread-sidebar__workspace-nav-item{padding-right:3rem}.thread-sidebar__workspace-nav-item:focus-visible,.thread-sidebar__workspace-action:focus-visible{outline-offset:2px;outline:2px solid #94a3b8}.thread-sidebar__workspace-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thread-sidebar__workspace-actions{opacity:0;align-items:center;gap:.2rem;transition:opacity .12s;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.thread-sidebar__workspace-action{color:#94a3b8;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;transition:all .12s;display:inline-flex}.thread-sidebar__workspace-item:hover .thread-sidebar__workspace-actions,.thread-sidebar__workspace-nav-item--active+.thread-sidebar__workspace-actions{opacity:1}.thread-sidebar__workspace-action:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#e2e8f0}.thread-sidebar__workspace-action--delete:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fee2e2}.thread-sidebar__workspace-action:disabled{opacity:.4;cursor:not-allowed}.thread-sidebar__header-actions{align-items:center;gap:.25rem;display:inline-flex}.thread-sidebar__action{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:all .15s;display:inline-flex}.thread-sidebar__action:hover:not(:disabled){color:#0f172a;background:#f8fafc}.thread-sidebar__action:disabled{opacity:.4;cursor:not-allowed}.thread-sidebar__action:focus-visible,.thread-sidebar__empty-cta:focus-visible,.thread-sidebar__settings-button:focus-visible{outline-offset:2px;outline:2px solid #94a3b8}.thread-sidebar__list{flex-direction:column;gap:.35rem;margin:0;padding:.25rem 0;list-style:none;display:flex}.thread-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;flex-direction:column;gap:.3125rem;width:100%;padding:.6rem;transition:all .15s;display:flex}.thread-item:hover{background:#f8fafc}.thread-item--active{background:#eef2ff;border-color:#c7d2fe}.thread-item__header{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.thread-item__title-wrap{align-items:center;gap:.3rem;min-width:0;display:inline-flex}.thread-item__hash{color:#64748b;flex-shrink:0}.thread-item__title{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.thread-item__timestamp{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:.625rem}.thread-item__meta{color:#64748b;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.35;display:-webkit-box;overflow:hidden}.thread-sidebar__empty{padding:.75rem .625rem}.thread-sidebar__empty-card{text-align:left;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:.875rem;display:flex}.thread-sidebar__empty-title{color:#334155;margin:0;font-size:.8125rem;font-weight:600}.thread-sidebar__empty-copy{color:#64748b;margin:0;font-size:.75rem;line-height:1.45}.thread-sidebar__empty-cta{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:fit-content;padding:.45rem .625rem;font-size:.75rem;font-weight:500}.thread-sidebar__empty-cta:hover:not(:disabled){background:#f8fafc}.thread-sidebar__empty-cta:disabled{opacity:.4;cursor:not-allowed}.thread-sidebar__models{flex-direction:column;margin:0;padding:.125rem 0;list-style:none;display:flex}.thread-sidebar__model-item{border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.thread-sidebar__model-item:hover{background:#f1f5f9}.thread-sidebar__model-dot{border-radius:999px;flex-shrink:0;width:.5rem;height:.5rem}.thread-sidebar__model-name{color:#334155;font-size:.875rem;font-weight:500}.thread-sidebar__model-meta{color:#94a3b8;opacity:0;text-align:right;font-size:.625rem;transition:opacity .15s}.thread-sidebar__model-item:hover .thread-sidebar__model-meta{opacity:1}.thread-sidebar__models-empty{color:#94a3b8;margin:0;padding:.25rem .75rem 0;font-size:.75rem}.thread-sidebar__footer{border-top:1px solid #f1f5f9;padding:.75rem}.thread-sidebar__settings-button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.thread-sidebar__settings-button:hover{color:#0f172a;background:#f1f5f9}
2
- .FileMentionPopover-module__NItQTa__popover{animation:.12s ease-out both FileMentionPopover-module__NItQTa__fileMentionFadeIn}@keyframes FileMentionPopover-module__NItQTa__fileMentionFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56631,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},15875,e=>{"use strict";let t=(0,e.i(41157).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],15875)},35189,e=>{"use strict";let t=(0,e.i(41157).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],35189)},69826,e=>{"use strict";let t=(0,e.i(41157).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>t],69826)},14670,e=>{"use strict";let t=(0,e.i(41157).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],14670)},32857,e=>{"use strict";let t=(0,e.i(41157).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],32857)},41157,e=>{"use strict";var t=e.i(95459);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:s="",children:u,iconNode:l,...c},f)=>(0,t.createElement)("svg",{ref:f,...n,width:a,height:a,stroke:e,strokeWidth:i?24*Number(o)/Number(a):o,className:r("lucide",s),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...l.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])),i=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...s},u)=>(0,t.createElement)(o,{ref:u,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=a(e),i};e.s(["default",()=>i],41157)},72431,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return u},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});function o(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,i(e));else t.set(r,i(a));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},43910,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return s},formatWithValidation:function(){return l},urlObjectKeys:function(){return u}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(42690)._(e.r(72431)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",s=e.hash||"",u=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),u&&"object"==typeof u&&(u=String(o.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||i.test(a))&&!1!==l?(l="//"+(l||""),n&&"/"!==n[0]&&(n="/"+n)):l||(l=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),n=n.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${a}${l}${n}${c}${s}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return s(e)}},95267,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(95459);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=o(e,a)),t&&(n.current=o(t,a))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},44643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return k},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return o},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return j}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>s.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&d(r))return a;if(!a)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class k extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},53284,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let a=e.r(44643),n=e.r(68817);function o(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},26100,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},61606,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return g},useLinkStatus:function(){return k}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(42690),i=e.r(72218),s=o._(e.r(95459)),u=e.r(43910),l=e.r(92821),c=e.r(95267),f=e.r(44643),d=e.r(36202);e.r(56631);let p=e.r(23807),h=e.r(53284),y=e.r(94840);function m(e){return"string"==typeof e?e:(0,u.formatUrl)(e)}function g(t){var r;let a,n,o,[u,g]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),k=(0,s.useRef)(null),{href:b,as:w,children:j,prefetch:E=null,passHref:A,replace:S,shallow:x,scroll:P,onClick:O,onMouseEnter:C,onTouchStart:_,legacyBehavior:M=!1,onNavigate:T,ref:L,unstable_dynamicOnHover:N,...R}=t;a=j,M&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let W=s.default.useContext(l.AppRouterContext),$=!1!==E,U=!1!==E?null===(r=E)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,{href:I,as:D}=s.default.useMemo(()=>{let e=m(b);return{href:e,as:w?m(w):e}},[b,w]);if(M){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=s.default.Children.only(a)}let F=M?n&&"object"==typeof n&&n.ref:L,z=s.default.useCallback(e=>(null!==W&&(k.current=(0,p.mountLinkInstance)(e,I,W,U,$,g)),()=>{k.current&&((0,p.unmountLinkForCurrentNavigation)(k.current),k.current=null),(0,p.unmountPrefetchableInstance)(e)}),[$,I,W,U,g]),B={ref:(0,c.useMergedRef)(z,F),onClick(t){M||"function"!=typeof O||O(t),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!W||t.defaultPrevented||function(t,r,a,n,o,i,u){if("u">typeof window){let l,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),u){let e=!1;if(u({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(20263);s.default.startTransition(()=>{f(a||r,o?"replace":"push",i??!0,n.current)})}}(t,I,D,k,S,P,T)},onMouseEnter(e){M||"function"!=typeof C||C(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),W&&$&&(0,p.onNavigationIntent)(e.currentTarget,!0===N)},onTouchStart:function(e){M||"function"!=typeof _||_(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),W&&$&&(0,p.onNavigationIntent)(e.currentTarget,!0===N)}};return(0,f.isAbsoluteUrl)(D)?B.href=D:M&&!A&&("a"!==n.type||"href"in n.props)||(B.href=(0,d.addBasePath)(D)),o=M?s.default.cloneElement(n,B):(0,i.jsx)("a",{...R,...B,children:a}),(0,i.jsx)(v.Provider,{value:u,children:o})}e.r(26100);let v=(0,s.createContext)(p.IDLE_LINK_STATUS),k=()=>(0,s.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},20130,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalWorkspaceAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata})]}))}}catch{}return{threads:{}}}function n(e){r().setItem(t,JSON.stringify(e))}function o(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let i=new class{async saveWorkspace(e){let t=Date.now(),r=a(),i=r.threads[e.id],s=i?.createdAt??e.createdAt??t,u=e.updatedAt??t,l={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:s,updatedAt:u};return r.threads[e.id]=l,n(r),o(l)}async loadWorkspace(e){let t=a().threads[e];return t?o(t):null}async listWorkspaces(e){let t=Object.values(a().threads),r=e?.order??"desc",n=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),i=Math.max(0,e?.offset??0),s=e?.limit,u="number"==typeof s&&s>=0?n.slice(i,i+s):n.slice(i);return{total:t.length,workspaces:u.map(o)}}async deleteWorkspace(e){let t=a();t.threads[e]&&(delete t.threads[e],n(t))}};e.s(["workspaceService",0,{listWorkspaces:async()=>[...(await i.listWorkspaces({order:"desc"})).workspaces.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createWorkspace(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await i.loadWorkspace(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return i.saveWorkspace({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`workspace-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return i.saveWorkspace(r)},async deleteWorkspace(e){let t=e.trim();if(!t)return;let r=await i.loadWorkspace(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await i.saveWorkspace({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameWorkspace(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let n=await i.loadWorkspace(r);return n?(n.title?.trim()??"")===a?n:i.saveWorkspace({id:n.id,title:a,messages:n.messages,metadata:n.metadata,createdAt:n.createdAt}):null},async saveWorkspaceMessages(e,t){let r=await i.loadWorkspace(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],n=t[r];if(a.id!==n.id||a.role!==n.role||a.participantId!==n.participantId||a.content!==n.content||a.timestamp!==n.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:i.saveWorkspace({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],20130)},59853,e=>{"use strict";let t=(0,e.i(41157).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],59853)},89141,e=>{"use strict";let t=(0,e.i(41157).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],89141)},22522,e=>{"use strict";let t=(0,e.i(41157).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],22522)},54003,e=>{"use strict";let t=(0,e.i(41157).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],54003)},48071,e=>{"use strict";let t=(0,e.i(41157).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],48071)},986,e=>{"use strict";let t=(0,e.i(41157).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],986)},38783,e=>{"use strict";let t=(0,e.i(41157).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],38783)},24429,e=>{"use strict";let t=(0,e.i(41157).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],24429)},63558,(e,t,r)=>{t.exports=e.r(97131)},34285,e=>{"use strict";var t=e.i(95459);function r(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!1),[o,i]=(0,t.useState)(null),s=(0,t.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),i(null)}catch(e){i(e instanceof Error?e:Error("Unknown error"))}finally{n(!1)}},[]);(0,t.useEffect)(()=>{s()},[s]);let u=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:o,refetch:s,createProject:u,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?n:t)),n},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}e.s(["useProjects",()=>r])},66638,e=>{"use strict";let t=(0,e.i(41157).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],66638)},23362,e=>{"use strict";let t=(0,e.i(41157).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["Minus",()=>t],23362)},10971,e=>{"use strict";let t=(0,e.i(41157).default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);e.s(["PanelLeftClose",()=>t],10971)},11853,(e,t,r)=>{"use strict";var a=e.r(95459),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=a.useState,i=a.useEffect,s=a.useLayoutEffect,u=a.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=o({inst:{value:r,getSnapshot:t}}),n=a[0].inst,c=a[1];return s(function(){n.value=r,n.getSnapshot=t,l(n)&&c({inst:n})},[e,r,t]),i(function(){return l(n)&&c({inst:n}),e(function(){l(n)&&c({inst:n})})},[e]),u(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:c},32527,(e,t,r)=>{"use strict";t.exports=e.r(11853)},75017,(e,t,r)=>{"use strict";var a=e.r(95459),n=e.r(32527),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=n.useSyncExternalStore,s=a.useRef,u=a.useEffect,l=a.useMemo,c=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,n){var f=s(null);if(null===f.current){var d={hasValue:!1,value:null};f.current=d}else d=f.current;var p=i(e,(f=l(function(){function e(e){if(!u){if(u=!0,i=e,e=a(e),void 0!==n&&d.hasValue){var t=d.value;if(n(t,e))return s=t}return s=e}if(t=s,o(i,e))return t;var r=a(e);return void 0!==n&&n(t,r)?(i=e,t):(i=e,s=r)}var i,s,u=!1,l=void 0===r?null:r;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]},[t,r,a,n]))[0],f[1]);return u(function(){d.hasValue=!0,d.value=p},[p]),c(p),p}},29796,(e,t,r)=>{"use strict";t.exports=e.r(75017)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56631,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},66638,e=>{"use strict";let t=(0,e.i(41157).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],66638)},41157,e=>{"use strict";var t=e.i(95459);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:o="",children:l,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:i?24*Number(n)/Number(a):n,className:r("lucide",o),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),i=(e,s)=>{let i=(0,t.forwardRef)(({className:i,...o},l)=>(0,t.createElement)(n,{ref:l,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...o}));return i.displayName=a(e),i};e.s(["default",()=>i],41157)},72431,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});function n(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,i(e));else t.set(r,i(a));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},43910,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(42690)._(e.r(72431)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,a=e.protocol||"",s=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||i.test(a))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),d&&"?"!==d[0]&&(d="?"+d),s=s.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${s}${d}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},95267,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(95459);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=n(e,a)),t&&(s.current=n(t,a))},[e,t])}function n(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},44643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return y},NormalizeError:function(){return g},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return n},execOnce:function(){return i},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return k}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>o.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&p(r))return a;if(!a)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class g extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},53284,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return n}});let a=e.r(44643),s=e.r(68817);function n(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},26100,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},61606,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return b},useLinkStatus:function(){return v}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(42690),i=e.r(72218),o=n._(e.r(95459)),l=e.r(43910),c=e.r(92821),d=e.r(95267),u=e.r(44643),p=e.r(36202);e.r(56631);let m=e.r(23807),f=e.r(53284),h=e.r(94840);function x(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function b(t){var r;let a,s,n,[l,b]=(0,o.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:y,as:j,children:k,prefetch:w=null,passHref:N,replace:_,shallow:C,scroll:P,onClick:S,onMouseEnter:A,onTouchStart:E,legacyBehavior:O=!1,onNavigate:R,ref:T,unstable_dynamicOnHover:L,...M}=t;a=k,O&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let W=o.default.useContext(c.AppRouterContext),$=!1!==w,F=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:U,as:I}=o.default.useMemo(()=>{let e=x(y);return{href:e,as:j?x(j):e}},[y,j]);if(O){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=o.default.Children.only(a)}let D=O?s&&"object"==typeof s&&s.ref:T,z=o.default.useCallback(e=>(null!==W&&(v.current=(0,m.mountLinkInstance)(e,U,W,F,$,b)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[$,U,W,F,b]),B={ref:(0,d.useMergedRef)(z,D),onClick(t){O||"function"!=typeof S||S(t),O&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!W||t.defaultPrevented||function(t,r,a,s,n,i,l){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(20263);o.default.startTransition(()=>{u(a||r,n?"replace":"push",i??!0,s.current)})}}(t,U,I,v,_,P,R)},onMouseEnter(e){O||"function"!=typeof A||A(e),O&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),W&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){O||"function"!=typeof E||E(e),O&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),W&&$&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,u.isAbsoluteUrl)(I)?B.href=I:O&&!N&&("a"!==s.type||"href"in s.props)||(B.href=(0,p.addBasePath)(I)),n=O?o.default.cloneElement(s,B):(0,i.jsx)("a",{...M,...B,children:a}),(0,i.jsx)(g.Provider,{value:l,children:n})}e.r(26100);let g=(0,o.createContext)(m.IDLE_LINK_STATUS),v=()=>(0,o.useContext)(g);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},59853,e=>{"use strict";let t=(0,e.i(41157).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],59853)},20130,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalWorkspaceAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata})]}))}}catch{}return{threads:{}}}function s(e){r().setItem(t,JSON.stringify(e))}function n(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let i=new class{async saveWorkspace(e){let t=Date.now(),r=a(),i=r.threads[e.id],o=i?.createdAt??e.createdAt??t,l=e.updatedAt??t,c={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:o,updatedAt:l};return r.threads[e.id]=c,s(r),n(c)}async loadWorkspace(e){let t=a().threads[e];return t?n(t):null}async listWorkspaces(e){let t=Object.values(a().threads),r=e?.order??"desc",s=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),i=Math.max(0,e?.offset??0),o=e?.limit,l="number"==typeof o&&o>=0?s.slice(i,i+o):s.slice(i);return{total:t.length,workspaces:l.map(n)}}async deleteWorkspace(e){let t=a();t.threads[e]&&(delete t.threads[e],s(t))}};e.s(["workspaceService",0,{listWorkspaces:async()=>[...(await i.listWorkspaces({order:"desc"})).workspaces.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createWorkspace(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await i.loadWorkspace(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return i.saveWorkspace({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`workspace-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return i.saveWorkspace(r)},async deleteWorkspace(e){let t=e.trim();if(!t)return;let r=await i.loadWorkspace(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await i.saveWorkspace({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameWorkspace(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let s=await i.loadWorkspace(r);return s?(s.title?.trim()??"")===a?s:i.saveWorkspace({id:s.id,title:a,messages:s.messages,metadata:s.metadata,createdAt:s.createdAt}):null},async saveWorkspaceMessages(e,t){let r=await i.loadWorkspace(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],s=t[r];if(a.id!==s.id||a.role!==s.role||a.participantId!==s.participantId||a.content!==s.content||a.timestamp!==s.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:i.saveWorkspace({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],20130)},63558,(e,t,r)=>{t.exports=e.r(97131)},34285,e=>{"use strict";var t=e.i(95459);function r(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!1),[n,i]=(0,t.useState)(null),o=(0,t.useCallback)(async()=>{s(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),i(null)}catch(e){i(e instanceof Error?e:Error("Unknown error"))}finally{s(!1)}},[]);(0,t.useEffect)(()=>{o()},[o]);let l=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:n,refetch:o,createProject:l,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}e.s(["useProjects",()=>r])},10971,e=>{"use strict";let t=(0,e.i(41157).default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);e.s(["PanelLeftClose",()=>t],10971)},23362,e=>{"use strict";let t=(0,e.i(41157).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["Minus",()=>t],23362)},92463,e=>{"use strict";var t=e.i(72218),r=e.i(95459);let a={name:"",description:""},s={name:"",path:"",notes:""};function n(){let[e,t]=(0,r.useState)(a),[n,i]=(0,r.useState)([s]),[o,l]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{i(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{i(e=>[...e,{...s}])},[]),m=(0,r.useCallback)(e=>{i(t=>t.filter((t,r)=>r!==e))},[]),f=(0,r.useCallback)(()=>{t(a),i([s]),d(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?i(e.repos.map(e=>({name:e.name||"",path:e.path||"",notes:e.notes||""}))):i([s]),d(null)},[]);return{form:e,setForm:t,repos:n,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:f,hydrateFromProject:h,isSubmitting:o,setIsSubmitting:l,formError:c,setFormError:d}}function i(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({name:e.name.trim(),path:e.path.trim(),notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function o({form:e,repos:r,isSubmitting:a,onFieldChange:s,onRepoChange:n,onAddRepo:i,onRemoveRepo:o}){return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>s("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:a})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>s("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:a})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Repositories"}),(0,t.jsx)("button",{type:"button",onClick:i,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:a,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:r.map((e,s)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",s+1]}),r.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>o(s),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:a,children:"Remove"})]}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>n(s,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:a}),(0,t.jsx)("input",{value:e.path,onChange:e=>n(s,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm",disabled:a}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("input",{value:e.notes,onChange:e=>n(s,"notes",e.target.value),placeholder:"Notes/Instructions",className:"input text-sm w-full",disabled:a})})]})]},s))})]})]})}function l({isOpen:e,onClose:r,onSubmit:a,editingProject:s,form:n,repos:i,isSubmitting:l,formError:c,onFieldChange:d,onRepoChange:u,onAddRepo:p,onRemoveRepo:m}){return e?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&r(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:s?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:s?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:r,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[(0,t.jsx)(o,{form:n,repos:i,isSubmitting:l,onFieldChange:d,onRepoChange:u,onAddRepo:p,onRemoveRepo:m}),c&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:c})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:r,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:a,disabled:l,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:l?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):s?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>i,"default",()=>l,"useProjectFormState",()=>n])},64152,e=>{"use strict";var t=e.i(72218),r=e.i(34285),a=e.i(63558),s=e.i(61606),n=e.i(95459),i=e.i(10971),o=e.i(59853),l=e.i(23362),c=e.i(66638),d=e.i(20130),u=e.i(92463);function p({children:e,params:p}){let{projects:m,isLoading:f,createProject:h}=(0,r.useProjects)(),x=(0,a.useRouter)();(0,a.usePathname)();let[b,g]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!0),[j,k]=(0,n.useState)(!1),[w,N]=(0,n.useState)([]),_=(0,u.useProjectFormState)();(0,n.useEffect)(()=>{d.workspaceService.listWorkspaces().then(e=>N([...e].sort((e,t)=>(e.title||"").localeCompare(t.title||""))))},[]);let C=()=>{_.resetForm(),k(!1)},P=async()=>{if(!_.form.name.trim())return void _.setFormError("Project name is required");let e=_.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void _.setFormError(`Local path is required for repository "${e.name}"`);_.setFormError(null),_.setIsSubmitting(!0);try{await h((0,u.createProjectPayload)(_.form,_.repos)),C()}catch(e){_.setFormError(e instanceof Error?e.message:"Failed to create project")}finally{_.setIsSubmitting(!1)}},S=(0,n.useMemo)(()=>m.find(e=>e.slug===p.slug),[m,p.slug]);if(f)return(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})});if(!S)return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,t.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,t.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",p.slug,"” does not exist or you do not have access to it."]}),(0,t.jsx)("button",{onClick:()=>x.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]});let A=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"thread-sidebar__brand",children:[(0,t.jsx)("div",{className:"thread-sidebar__brand-icon","aria-hidden":"true",children:"A"}),(0,t.jsx)("h1",{className:"thread-sidebar__brand-title",children:"AGX"}),(0,t.jsx)("button",{type:"button",onClick:()=>y(!1),"aria-label":"Hide sidebar",title:"Hide sidebar",className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-slate-400 transition-all hover:bg-slate-100 hover:text-slate-600 md:inline-flex hidden",children:(0,t.jsx)(i.PanelLeftClose,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"thread-sidebar__content",children:[(0,t.jsxs)("nav",{className:"thread-sidebar__section",children:[(0,t.jsx)("div",{className:"thread-sidebar__section-header",children:(0,t.jsx)("span",{className:"thread-sidebar__section-label",children:"Workspaces"})}),(0,t.jsx)("div",{className:"thread-sidebar__workspace-list",children:w.map(e=>(0,t.jsx)("div",{className:"thread-sidebar__workspace-item group",children:(0,t.jsxs)(s.default,{href:`/w/${e.id}`,onClick:()=>g(!1),className:"thread-sidebar__nav-item thread-sidebar__workspace-nav-item flex items-center gap-3",children:[(0,t.jsx)(o.Hash,{size:16,className:"flex-shrink-0 text-slate-400"}),(0,t.jsx)("span",{className:"thread-sidebar__workspace-title",children:e.title?.trim()||"Untitled workspace"})]})},e.id))})]}),(0,t.jsxs)("nav",{className:"thread-sidebar__section mt-4",children:[(0,t.jsxs)("div",{className:"thread-sidebar__section-header",children:[(0,t.jsx)(s.default,{href:"/projects",className:"thread-sidebar__section-label hover:text-slate-700 transition-colors cursor-pointer",onClick:()=>g(!1),children:"Projects"}),(0,t.jsx)("div",{className:"thread-sidebar__header-actions",children:(0,t.jsx)("button",{type:"button",onClick:()=>{_.resetForm(),k(!0)},className:"thread-sidebar__action","aria-label":"Add project",title:"Add project",children:(0,t.jsx)(c.Plus,{size:14})})})]}),(0,t.jsx)("div",{className:"thread-sidebar__workspace-list",children:m.map(e=>{let r=e.slug===p.slug;return(0,t.jsx)("div",{className:"thread-sidebar__workspace-item group",children:(0,t.jsxs)(s.default,{href:`/projects/${e.slug}`,onClick:()=>g(!1),className:`thread-sidebar__nav-item thread-sidebar__workspace-nav-item flex items-center gap-3 ${r?"thread-sidebar__nav-item--active thread-sidebar__workspace-nav-item--active":""}`,children:[(0,t.jsx)(l.Minus,{size:16,className:`flex-shrink-0 ${r?"text-indigo-600":"text-slate-400"}`}),(0,t.jsx)("span",{className:"thread-sidebar__workspace-title",children:e.name})]})},e.slug)})})]})]})]});return(0,t.jsxs)("div",{className:"flex h-full bg-[var(--background)]",children:[(0,t.jsxs)("div",{className:"fixed top-0 left-0 right-0 z-40 h-12 bg-white border-b border-slate-200 flex items-center px-3 gap-3 md:hidden",children:[(0,t.jsx)("button",{onClick:()=>g(!0),className:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Open menu",children:(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),(0,t.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18"})]})}),(0,t.jsx)("div",{className:"w-6 h-6 bg-indigo-600 rounded-md flex items-center justify-center text-white",children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",children:(0,t.jsx)("path",{d:"M13 10V3L4 14h7v7l9-11h-7z"})})}),(0,t.jsx)("span",{className:"font-bold text-sm tracking-tight italic text-slate-900",children:S?.name||"AGX"})]}),b&&(0,t.jsxs)("div",{className:"fixed inset-0 z-50 md:hidden",onClick:()=>g(!1),children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-sm"}),(0,t.jsx)("aside",{className:"absolute left-0 top-0 bottom-0 thread-sidebar shadow-xl animate-slide-in-left",onClick:e=>e.stopPropagation(),children:A})]}),v?(0,t.jsx)("aside",{className:"thread-sidebar hidden md:flex",onClick:e=>e.stopPropagation(),children:A}):(0,t.jsx)("aside",{className:"thread-sidebar thread-sidebar--collapsed hidden md:flex",children:(0,t.jsx)("div",{className:"thread-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:()=>y(!0),className:"thread-sidebar__brand-icon","aria-label":"Show sidebar",title:"Show sidebar",children:"A"})})}),(0,t.jsx)("div",{className:"flex-1 flex flex-col min-w-0 h-full pt-12 md:pt-0",children:e}),(0,t.jsx)(u.default,{isOpen:j,onClose:C,onSubmit:P,editingProject:null,form:_.form,repos:_.repos,isSubmitting:_.isSubmitting,formError:_.formError,onFieldChange:(e,t)=>_.setForm(r=>({...r,[e]:t})),onRepoChange:_.handleRepoChange,onAddRepo:_.addRepo,onRemoveRepo:_.removeRepo})]})}function m({children:e,params:r}){let a=(0,n.use)(r);return(0,t.jsx)(n.Suspense,{fallback:(0,t.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,t.jsx)(p,{params:a,children:e})})}e.s(["default",()=>m])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15875,e=>{"use strict";let t=(0,e.i(41157).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],15875)},41157,e=>{"use strict";var t=e.i(95459);let a=(...e)=>e.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim(),s=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,t.forwardRef)(({color:e="currentColor",size:s=24,strokeWidth:r=2,absoluteStrokeWidth:i,className:o="",children:l,iconNode:d,...c},m)=>(0,t.createElement)("svg",{ref:m,...n,width:s,height:s,stroke:e,strokeWidth:i?24*Number(r)/Number(s):r,className:a("lucide",o),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,a])=>(0,t.createElement)(e,a)),...Array.isArray(l)?l:[l]])),i=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...o},l)=>(0,t.createElement)(r,{ref:l,iconNode:n,className:a(`lucide-${s(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...o}));return i.displayName=s(e),i};e.s(["default",()=>i],41157)},63558,(e,t,a)=>{t.exports=e.r(97131)},66638,e=>{"use strict";let t=(0,e.i(41157).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],66638)},78907,e=>{"use strict";var t=e.i(72218),a=e.i(95459),s=e.i(63558);let n=[{id:"jane",name:"Jane",provider:"claude",model:"claude-opus-4-6",color:"#6366f1"},{id:"cody",name:"Cody",provider:"claude",model:"gpt-5.3",color:"#f59e0b"},{id:"flint",name:"Flint",provider:"ollama",model:"gemini-3.1-pro",color:"#10b981"},{id:"jewel",name:"Jewel",provider:"claude",model:"glm-5",color:"#ec4899"}],r=Date.now(),i=[{id:"demo-0",role:"user",participantId:null,content:"We're losing 40% of users at the onboarding config screen. How should we fix this?",timestamp:r-9e3},{id:"demo-1",role:"assistant",participantId:"jane",content:"The core problem is we're asking for setup before showing value. Users don't know *why* they need an API key yet. Flip the order — let them see the product working first, then ask for config when they actually need it.",timestamp:r-8e3},{id:"demo-2",role:"assistant",participantId:"cody",content:"We can prove that with a zero-config starter task: detect `package.json` or `.git` on load, run a local project analysis. No API key needed, instant result. That alone should cut the drop-off significantly.",timestamp:r-7e3},{id:"demo-3",role:"assistant",participantId:"flint",content:"Risk: if we defer config entirely, the *second* interaction fails when there's no provider configured. We'd just move the drop-off from step 1 to step 2. Need to handle that transition carefully.",timestamp:r-6e3},{id:"demo-4",role:"assistant",participantId:"jewel",content:"Graduated fidelity solves this. First task is local-only and always succeeds. When they trigger something that needs an LLM, prompt for the key *inline* — right where they need it, not on a separate page. Context-sensitive setup.",timestamp:r-5e3},{id:"demo-5",role:"assistant",participantId:"jane",content:"Exactly. Setup instructions are only useful at the moment you need them. Front-loading them is just anxiety. I'd also suggest we track `welcome_view → first_action → first_result` to measure the actual impact.",timestamp:r-4e3},{id:"demo-6",role:"assistant",participantId:"cody",content:'Here\'s a concrete implementation plan:\n1. Add framework detection on page load\n2. Show "Map this project" as default starter task\n3. Run it client-side with zero dependencies\n4. Persist the result so they land in a live session, not a blank page',timestamp:r-3e3},{id:"demo-7",role:"assistant",participantId:"flint",content:"One more thing — keep state from that first task. When they transition to the real workspace, they should land mid-session. Starting over after the demo kills momentum and trust.",timestamp:r-2e3},{id:"demo-8",role:"assistant",participantId:"jewel",content:"Summary: land → see agents working → join with one click → first task runs instantly → setup happens only when needed. Every step earns the next. Shall I draft the implementation spec?",timestamp:r-1e3}];var o=e.i(64244),l=e.i(37433),d=e.i(64049);function c(){let[e,s]=(0,a.useState)(0),r=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(e>=i.length)return;let t=setTimeout(()=>{s(e=>e+1)},0===e?300:400);return()=>clearTimeout(t)},[e]),(0,a.useEffect)(()=>{r.current?.scrollTo({top:r.current.scrollHeight,behavior:"smooth"})},[e]);let c=Object.fromEntries(n.map(e=>[e.id,e]));return(0,t.jsx)("div",{ref:r,className:"flex-1 overflow-y-auto px-4 py-6",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto space-y-4",children:i.slice(0,e).map((e,a)=>{let s="user"===e.role,n=e.participantId?c[e.participantId]:null;return(0,t.jsxs)("div",{className:"flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300",style:{animationDelay:`${50*a}ms`},children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-full overflow-hidden border border-slate-100 shadow-sm shrink-0 mt-0.5 flex items-center justify-center bg-slate-100",children:s?(0,t.jsx)(d.User,{className:"w-4 h-4 text-slate-400"}):n?(0,t.jsx)("img",{src:(0,o.agentAvatarUrl)(n.id,32,n.color),alt:n.name,className:"w-full h-full object-cover"}):null}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-[12px] font-bold tracking-wide uppercase",style:{color:s?"#334155":n?.color||"#64748b"},children:s?"You":n?.name||"Agent"}),!s&&n?.model&&(0,t.jsx)("span",{className:"text-[10px] text-slate-400 font-medium",children:n.model})]}),(0,t.jsx)("div",{className:"text-[14px] text-slate-700 leading-relaxed mt-0.5",children:(0,t.jsx)(l.Markdown,{content:e.content,isUser:s})})]})]},e.id)})})})}function m(){let e=(0,s.useRouter)(),[n,r]=(0,a.useState)("checking");(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/status");if(e)return;if(!t.ok)return void r("error");if(!((await t.json()).services||[]).filter(e=>e.name.startsWith("cli:")).some(e=>"ok"===e.status))return void r("needs-setup");let a=await fetch("/api/daemon");if(e)return;if((await a.json()).running)return void r("ready");await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workers:1})}),e||r("ready")}catch{e||r("error")}})(),()=>{e=!0}},[]);let i=(0,a.useCallback)(()=>{e.push("/")},[e]);return(0,t.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[#FAFAFA]",children:[(0,t.jsx)("div",{className:"text-center pt-10 pb-2 px-4",children:(0,t.jsx)("h1",{className:"text-[15px] font-medium text-slate-400 tracking-wide",children:"Chat with a team of AI agents"})}),(0,t.jsx)(c,{}),(0,t.jsxs)("div",{className:"pb-10 pt-4 flex flex-col items-center gap-3 px-4",children:[(0,t.jsx)("button",{type:"button",onClick:i,disabled:"needs-setup"===n,className:"inline-flex items-center gap-2 px-8 py-3.5 bg-slate-900 text-white text-[15px] font-semibold rounded-xl hover:bg-slate-800 transition-all duration-200 shadow-lg shadow-slate-900/10 hover:-translate-y-0.5 disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:translate-y-0",children:"Join the conversation"}),(0,t.jsxs)("div",{className:"text-[13px] font-medium",children:["checking"===n&&(0,t.jsx)("span",{className:"text-slate-400",children:"Checking system..."}),"ready"===n&&(0,t.jsxs)("span",{className:"text-emerald-600 flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500"}),"Ready"]}),"needs-setup"===n&&(0,t.jsx)("a",{href:"https://github.com/anthropics/claude-code",target:"_blank",rel:"noopener noreferrer",className:"text-amber-600 hover:text-amber-700 transition-colors",children:"⚠ Setup needed (2 min) →"}),"error"===n&&(0,t.jsx)("span",{className:"text-slate-400",children:"Could not check system status"})]})]})]})}e.s(["default",()=>m],78907)}]);
@@ -1,55 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- import { spawnSync } from "child_process";
3
-
4
- export const runtime = "nodejs";
5
- export const dynamic = "force-dynamic";
6
-
7
- function agxCommand(args: string[]): { ok: boolean; output: string } {
8
- try {
9
- const result = spawnSync("bash", ["-lc", `agx ${args.join(" ")} 2>&1`], {
10
- encoding: "utf8",
11
- timeout: 10_000,
12
- });
13
- return { ok: result.status === 0, output: (result.stdout || result.stderr || "").trim() };
14
- } catch (err) {
15
- return { ok: false, output: err instanceof Error ? err.message : "spawn failed" };
16
- }
17
- }
18
-
19
- /** GET /api/daemon — check daemon status */
20
- export async function GET() {
21
- const { ok, output } = agxCommand(["daemon", "status"]);
22
- // "Daemon running (pid XXXXX)" when active
23
- const running = /daemon running/i.test(output);
24
- const pidMatch = output.match(/pid\s+(\d+)/i);
25
- return NextResponse.json({
26
- running,
27
- pid: pidMatch ? Number(pidMatch[1]) : null,
28
- detail: output,
29
- });
30
- }
31
-
32
- /** POST /api/daemon — start daemon if not running */
33
- export async function POST(request: NextRequest) {
34
- const body = await request.json().catch(() => ({}));
35
- const workers = Math.min(Math.max(Number(body.workers) || 1, 1), 4);
36
-
37
- // Check if already running
38
- const status = agxCommand(["daemon", "status"]);
39
- if (/daemon running/i.test(status.output)) {
40
- const pidMatch = status.output.match(/pid\s+(\d+)/i);
41
- return NextResponse.json({
42
- started: false,
43
- alreadyRunning: true,
44
- pid: pidMatch ? Number(pidMatch[1]) : null,
45
- });
46
- }
47
-
48
- // Start daemon in background
49
- const { ok, output } = agxCommand(["daemon", "start", "-w", String(workers)]);
50
- return NextResponse.json({
51
- started: ok,
52
- alreadyRunning: false,
53
- detail: output,
54
- });
55
- }
@@ -1,42 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- import { getSQLiteDb } from "@/lib/sqlite-query-adapter";
3
- import { LOCAL_USER } from "@/lib/auth-mode";
4
-
5
- // DELETE /api/notification-outbox/:id
6
- // Removes an outbox entry after delivery has been confirmed.
7
- // Verifies that the associated notification belongs to the current user.
8
- export async function DELETE(
9
- _request: NextRequest,
10
- { params }: { params: Promise<{ id: string }> }
11
- ) {
12
- try {
13
- const userId = LOCAL_USER.id;
14
- const { id } = await params;
15
-
16
- if (!id) {
17
- return NextResponse.json({ error: "Outbox entry ID is required" }, { status: 400 });
18
- }
19
-
20
- const db = getSQLiteDb();
21
-
22
- // Verify ownership via join to notifications
23
- const existing = db
24
- .prepare(
25
- `SELECT o.id FROM notification_outbox o
26
- JOIN notifications n ON n.id = o.notification_id
27
- WHERE o.id = ? AND n.user_id = ?`
28
- )
29
- .get(id, userId);
30
-
31
- if (!existing) {
32
- return NextResponse.json({ error: "Outbox entry not found" }, { status: 404 });
33
- }
34
-
35
- db.prepare(`DELETE FROM notification_outbox WHERE id = ?`).run(id);
36
-
37
- return NextResponse.json({ success: true }, { status: 200 });
38
- } catch (error) {
39
- console.error("[notifications] DELETE /api/notification-outbox/:id error:", error);
40
- return NextResponse.json({ error: "Failed to delete outbox entry" }, { status: 500 });
41
- }
42
- }
@@ -1,43 +0,0 @@
1
- import { NextRequest, NextResponse } from "next/server";
2
- import { getSQLiteDb } from "@/lib/sqlite-query-adapter";
3
- import { LOCAL_USER } from "@/lib/auth-mode";
4
-
5
- // PATCH /api/notifications/:id/read
6
- // Marks a notification as read by setting read_at to the current timestamp.
7
- export async function PATCH(
8
- _request: NextRequest,
9
- { params }: { params: Promise<{ id: string }> }
10
- ) {
11
- try {
12
- const userId = LOCAL_USER.id;
13
- const { id } = await params;
14
-
15
- if (!id) {
16
- return NextResponse.json({ error: "Notification ID is required" }, { status: 400 });
17
- }
18
-
19
- const db = getSQLiteDb();
20
-
21
- const existing = db
22
- .prepare(`SELECT id FROM notifications WHERE id = ? AND user_id = ?`)
23
- .get(id, userId);
24
-
25
- if (!existing) {
26
- return NextResponse.json({ error: "Notification not found" }, { status: 404 });
27
- }
28
-
29
- const now = new Date().toISOString();
30
- db.prepare(
31
- `UPDATE notifications SET read_at = ? WHERE id = ? AND user_id = ?`
32
- ).run(now, id, userId);
33
-
34
- const updated = db
35
- .prepare(`SELECT * FROM notifications WHERE id = ?`)
36
- .get(id) as any;
37
-
38
- return NextResponse.json({ notification: updated });
39
- } catch (error) {
40
- console.error("[notifications] PATCH /api/notifications/:id/read error:", error);
41
- return NextResponse.json({ error: "Failed to mark notification as read" }, { status: 500 });
42
- }
43
- }