@mndrk/agx 2.0.26 → 2.0.33

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 (867) hide show
  1. package/README.md +4 -6
  2. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +7 -0
  4. package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
  5. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
  7. package/cloud-runtime/standalone/.next/routes-manifest.json +51 -0
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
  45. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -4
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
  49. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
  51. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
  70. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
  71. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
  77. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
  79. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  83. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  84. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  85. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  86. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  87. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  88. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  89. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
  90. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  93. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  95. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
  99. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
  101. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  103. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +6 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
  109. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
  119. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
  121. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
  125. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
  127. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
  129. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
  131. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  135. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -5
  137. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
  140. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -4
  142. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
  144. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -4
  146. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  151. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -3
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -4
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
  207. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
  209. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
  211. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  213. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +7 -6
  215. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
  219. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
  220. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
  221. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
  222. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
  223. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
  224. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
  225. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
  226. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
  228. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  233. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  234. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  235. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
  241. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  243. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  255. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  256. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  262. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  263. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  265. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
  276. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
  277. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
  278. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
  279. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
  280. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
  281. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
  282. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
  283. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
  287. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
  288. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
  289. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
  290. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
  291. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
  292. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
  293. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
  294. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
  295. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
  296. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  298. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  299. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  300. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  301. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  306. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  308. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  309. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  311. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  312. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  313. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  315. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  317. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
  318. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  320. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  321. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  322. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  323. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
  328. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  329. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  331. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  332. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  333. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  334. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  335. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
  339. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  340. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  341. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
  342. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  343. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  344. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  345. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  346. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  347. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  348. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  349. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  350. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  351. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  352. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +7 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__18423486._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__19520d85._.js +75 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c18c0d1._.js +3 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32b13ba9._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +4 -0
  367. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4837d72a._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  371. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +46 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +46 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a348fba._.js +42 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +52 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6acb940d._.js +3 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +3 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7ffcc20c._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__875279cb._.js +112 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  392. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  395. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9b3fde6._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +46 -0
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c480c9c2._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +3 -0
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +7 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +3 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +146 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
  418. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +5 -5
  419. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
  422. package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
  423. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
  424. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
  425. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
  430. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
  432. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
  433. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
  434. package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
  435. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
  436. package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  439. package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +97 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  450. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
  452. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +94 -42
  453. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +91 -44
  454. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
  455. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
  456. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
  457. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
  459. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
  460. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
  463. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
  464. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
  467. package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
  468. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
  470. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +3 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +3 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +3 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +3 -0
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +3 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _84879a01._.js} +2 -2
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _9eeb2fa0._.js} +2 -2
  488. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
  489. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
  490. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _a1d30b20._.js} +2 -2
  491. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _c87c359c._.js} +2 -2
  492. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
  494. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  495. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _dd31b6e0._.js} +2 -2
  496. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +3 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
  498. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  499. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
  500. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
  501. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
  502. package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
  503. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  504. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  505. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
  506. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  507. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +5 -0
  508. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
  509. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  510. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  511. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  512. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  513. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  514. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  515. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  516. package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
  517. package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +1 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  519. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
  520. package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 116985039c24f1f8.js} +9 -9
  521. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  522. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  523. package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +6 -0
  524. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
  525. package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 56a01238098d495d.js} +9 -9
  526. package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 601996727991149e.js} +9 -9
  527. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  528. package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
  529. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  530. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  531. package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → b2dcd19ebe3af3f6.js} +9 -9
  532. package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +1 -0
  533. package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
  534. package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +8 -0
  535. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
  536. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  537. package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
  538. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  539. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  540. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  541. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
  542. package/cloud-runtime/standalone/README.md +3 -3
  543. package/cloud-runtime/standalone/app/api/chat/route.ts +74 -28
  544. package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
  545. package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
  546. package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
  547. package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
  548. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  549. package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
  550. package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
  551. package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
  552. package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
  553. package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
  554. package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
  555. package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
  556. package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
  557. package/cloud-runtime/standalone/app/globals.css +1 -4
  558. package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
  559. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +792 -0
  560. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
  561. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
  562. package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
  563. package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
  564. package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
  565. package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
  566. package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
  567. package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
  568. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +441 -81
  569. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
  570. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  571. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
  572. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +83 -50
  573. package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
  574. package/cloud-runtime/standalone/hooks/useGroupChat.ts +28 -1
  575. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +70 -6
  576. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  577. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  578. package/cloud-runtime/standalone/lib/db.ts +1 -1
  579. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  580. package/cloud-runtime/standalone/lib/history-store.ts +610 -40
  581. package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
  582. package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
  583. package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
  584. package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
  585. package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
  586. package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
  587. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +219 -0
  588. package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
  589. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +26 -0
  590. package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
  591. package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
  592. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  593. package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
  594. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
  595. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
  596. package/cloud-runtime/standalone/lib/task-context.ts +7 -4
  597. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
  598. package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
  599. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  600. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  601. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  602. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  603. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  604. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  605. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  606. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  607. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  608. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  609. package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  610. package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  611. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  612. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  613. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  614. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  615. package/cloud-runtime/standalone/package-lock.json +13 -0
  616. package/cloud-runtime/standalone/package.json +1 -0
  617. package/cloud-runtime/standalone/server.js +1 -1
  618. package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
  619. package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
  620. package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
  621. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
  622. package/cloud-runtime/standalone/src/graph/types.ts +3 -3
  623. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
  624. package/cloud-runtime/standalone/transcri +0 -0
  625. package/cloud-runtime/standalone/tsconfig.json +3 -1
  626. package/cloud-runtime/standalone/worker/index.js +3447 -215
  627. package/cloud-runtime/standalone/worker/index.ts +8 -1
  628. package/lib/cli/runCli.js +0 -97
  629. package/lib/commands/update.js +159 -17
  630. package/package.json +1 -1
  631. package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
  632. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
  633. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
  634. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
  635. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
  636. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
  637. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
  639. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
  640. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +0 -3
  641. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
  642. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
  643. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
  644. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
  645. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  646. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
  647. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  648. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
  649. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
  650. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
  651. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
  652. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
  653. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
  654. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
  655. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  656. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
  657. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
  658. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
  659. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
  660. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
  661. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
  662. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
  663. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
  664. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
  665. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
  666. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
  667. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
  668. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
  669. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
  670. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
  671. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
  672. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  673. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
  674. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
  675. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
  676. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
  677. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
  678. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
  679. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
  680. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
  681. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
  682. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
  683. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
  684. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
  685. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
  686. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
  687. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
  688. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
  689. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
  690. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
  691. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  692. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
  693. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
  694. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
  695. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
  696. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
  697. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
  698. package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
  699. package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
  700. package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
  701. package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
  702. package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
  703. package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
  704. package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
  705. package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
  706. package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
  707. package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
  708. package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
  709. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
  710. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
  711. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
  712. package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
  713. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
  714. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
  715. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
  716. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
  717. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
  718. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
  719. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
  720. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
  721. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
  722. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
  723. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
  724. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
  725. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
  726. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
  727. package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
  728. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
  729. package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
  730. package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
  731. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
  732. package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
  733. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
  734. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
  735. package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
  736. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
  737. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
  738. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
  739. package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
  740. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
  741. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  742. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  743. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  744. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  745. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  746. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  747. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  748. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  749. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  750. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  751. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  752. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  753. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  754. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  755. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  756. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  757. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  758. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  759. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  760. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  761. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  762. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  763. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  764. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  765. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  766. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  767. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  768. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  769. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  770. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  771. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  772. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  773. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  774. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  775. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  776. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  777. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  778. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  779. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  780. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  781. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  782. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  783. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  784. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  785. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  786. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  787. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  788. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  789. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  790. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  791. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  792. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  793. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  794. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  795. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  796. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  797. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  798. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  799. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  800. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  801. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  802. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  803. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  804. package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
  805. package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
  806. package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
  807. package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
  808. package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
  809. package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
  810. package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
  811. package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
  812. package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
  813. package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
  814. package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
  815. package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
  816. package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
  817. package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
  818. package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
  819. package/cloud-runtime/standalone/docs/runbook.md +0 -155
  820. package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
  821. package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
  822. package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
  823. package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
  824. package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
  825. package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
  826. package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
  827. package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
  828. package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
  829. package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
  830. package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
  831. package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
  832. package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
  833. package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
  834. package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
  835. package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
  836. package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  837. package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
  838. package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
  839. package/cloud-runtime/standalone/notes/context-audit.md +0 -21
  840. package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
  841. package/cloud-runtime/standalone/notes/project-layer.md +0 -123
  842. package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
  843. package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
  844. package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
  845. package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
  846. package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
  847. package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
  848. package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
  849. package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
  850. package/cloud-runtime/standalone/playwright-report/index.html +0 -85
  851. package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
  852. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
  853. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
  854. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
  855. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
  856. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
  857. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
  858. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
  859. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
  860. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
  861. package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
  862. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
  863. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  864. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  865. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
  866. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  867. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11132,e=>{"use strict";var t=e.i(18050),r=e.i(71645);function a({initialPath:e,onSelect:a,onCancel:s}){let[n,o]=(0,r.useState)(e||""),[l,i]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),m=(0,r.useRef)(null),f=(0,r.useCallback)(async e=>{d(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");i(a),o(a.current),m.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{d(!1)}},[]);return(0,r.useEffect)(()=>{f(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&f(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>f(n),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:m,className:"max-h-48 overflow-y-auto",children:[c&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!c&&l&&(0,t.jsxs)("div",{className:"py-1",children:[l.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>f(l.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===l.dirs.length&&!l.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),l.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:l?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(l?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}let s={name:"",description:""},n={name:"",path:"",notes:""};function o(){let[e,t]=(0,r.useState)(s),[a,o]=(0,r.useState)([n]),[l,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{o(e=>[...e,{...n}])},[]),m=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),f=(0,r.useCallback)(()=>{t(s),o([n]),d(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):o([n]),d(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:f,hydrateFromProject:h,isSubmitting:l,setIsSubmitting:i,formError:c,setFormError:d}}function l(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.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 i({form:e,repos:s,isEditingProject:n,isSubmitting:o,onFieldChange:l,onRepoChange:i,onAddRepo:c,onRemoveRepo:d}){let[u,p]=(0,r.useState)([]),[m,f]=(0,r.useState)(null),h=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?p([]):p(s.map((e,t)=>t)),h.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){h.current=s.length;return}let e=h.current;p(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),h.current=s.length},[n,s.length]);let x=(0,r.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),g=(0,r.useCallback)(e=>!n||u.includes(e),[u,n]);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=>l("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:o})]})}),(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=>l("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:o})]}),(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:c,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(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)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",r+1]}),n&&!g(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed repository"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>x(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:g(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>d(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:o,children:"Remove"})]})]}),g(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>i(r,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:o}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>i(r,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm flex-1",disabled:o}),(0,t.jsx)("button",{type:"button",onClick:()=>f(m===r?null:r),className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:o,children:"Browse"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{i(r,"path",e),f(null)},onCancel:()=>f(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>i(r,"notes",e.target.value),placeholder:"Repo-specific rules and notes (placeholder for conventions, constraints, ownership, deploy notes...)",className:"input text-sm w-full min-h-24 resize-y",disabled:o})})]}):null]},r))})]})]})}function c({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:o,repos:l,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}){let[h,x]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return x([]);try{let t=await fetch(`/api/projects/${n.id}/memory?producer=system`),r=t.ok?await t.json():{memory:[]};e||x(r.memory??[])}catch{e||x([])}}(),()=>{e=!0}},[n]),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&&a(),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:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:a,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:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"System-Generated Project Knowledge"}),h.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:h.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No system-generated project knowledge candidates yet."})]})}),(0,t.jsx)(i,{form:o,repos:l,isEditingProject:!!n,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}),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:a,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:s,disabled:c,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:c?(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..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>l,"default",()=>c,"useProjectFormState",()=>o],11132)},74049,e=>{"use strict";var t=e.i(71645);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))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),n=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,s]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),s.ok&&(r=((await s.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{s(!1)}},[]);(0,t.useEffect)(()=>{n()},[n]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,s=a.name.trim(),n=(a.slug||s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:s,slug:n})});if(!o.ok)return null;let{project:l}=await o.json(),i=Array.isArray(t)?t:t?[t]:[];for(let e of i)await fetch(`/api/projects/${l.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let c={...l,repos:l.repos??[],agents:[],thread_ids:i,workspace_ids:i};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),l=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),i=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),c=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...s,repos:s.repos??t.repos}:t)),s}catch{return null}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:c,renameProject:l,deleteProject:i,addAgent:d,removeAgent:u,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await n()}catch{}},[n]),refresh:n}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},98183,(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}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(90809)._(e.r(98183)),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||"",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)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),s=s.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${s}${d}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},18581,(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(71645);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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return j},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 c},getURL:function(){return d},isAbsoluteUrl:function(){return i},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 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 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 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 j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class y 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})}},73668,(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(18967),s=e.r(52817);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}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},22016,(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(90809),o=e.r(18050),l=n._(e.r(71645)),i=e.r(61746),c=e.r(8372),d=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let m=e.r(91949),f=e.r(73668),h=e.r(9396);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)(m.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:j,as:y,children:k,prefetch:w=null,passHref:N,replace:C,shallow:S,scroll:_,onClick:E,onMouseEnter:P,onTouchStart:T,legacyBehavior:O=!1,onNavigate:L,ref:A,unstable_dynamicOnHover:$,...R}=t;a=k,O&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let I=l.default.useContext(c.AppRouterContext),M=!1!==w,F=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:U}=l.default.useMemo(()=>{let e=x(j);return{href:e,as:y?x(y):e}},[j,y]);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 B=O?s&&"object"==typeof s&&s.ref:A,q=l.default.useCallback(e=>(null!==I&&(v.current=(0,m.mountLinkInstance)(e,D,I,F,M,g)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[M,D,I,F,g]),J={ref:(0,d.useMergedRef)(q,B),onClick(t){O||"function"!=typeof E||E(t),O&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!I||t.defaultPrevented||function(t,r,a,s,n,o,i){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(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);l.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,D,U,v,C,_,L)},onMouseEnter(e){O||"function"!=typeof P||P(e),O&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){O||"function"!=typeof T||T(e),O&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(U)?J.href=U:O&&!N&&("a"!==s.type||"href"in s.props)||(J.href=(0,p.addBasePath)(U)),n=O?l.default.cloneElement(s,J):(0,o.jsx)("a",{...R,...J,children:a}),(0,o.jsx)(b.Provider,{value:i,children:n})}e.r(84508);let b=(0,l.createContext)(m.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)},18566,(e,t,r)=>{t.exports=e.r(76562)},59015,e=>{"use strict";var t=e.i(18050),r=e.i(22016),a=e.i(71645);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]})]})}function n({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.jsx)(r.default,{href:"/",className:"flex items-center gap-3 group",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,t.jsx)(r.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(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 o(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)(n,{...e})})}e.s(["default",()=>o],59015)},3176,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||"function"===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],3176)},99695,93237,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(74080);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,c]=(0,r.useState)(null),d=(0,r.useRef)(null),u=(0,r.useRef)(null),p=(0,r.useCallback)(()=>{if(!d.current)return;let e=d.current.getBoundingClientRect();c({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!o)return;p();let e=e=>{d.current&&!d.current.contains(e.target)&&u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,p]),(0,r.useEffect)(()=>{l(!1)},[e]);let m=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:d,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
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11132,e=>{"use strict";var t=e.i(18050),r=e.i(71645);function a({initialPath:e,onSelect:a,onCancel:s}){let[n,o]=(0,r.useState)(e||""),[l,i]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),m=(0,r.useRef)(null),f=(0,r.useCallback)(async e=>{d(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");i(a),o(a.current),m.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{d(!1)}},[]);return(0,r.useEffect)(()=>{f(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&f(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>f(n),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:m,className:"max-h-48 overflow-y-auto",children:[c&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!c&&l&&(0,t.jsxs)("div",{className:"py-1",children:[l.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>f(l.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===l.dirs.length&&!l.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),l.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:l?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(l?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}let s={name:"",description:""},n={name:"",path:"",notes:""};function o(){let[e,t]=(0,r.useState)(s),[a,o]=(0,r.useState)([n]),[l,i]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{o(e=>[...e,{...n}])},[]),m=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),f=(0,r.useCallback)(()=>{t(s),o([n]),d(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):o([n]),d(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:f,hydrateFromProject:h,isSubmitting:l,setIsSubmitting:i,formError:c,setFormError:d}}function l(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.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 i({form:e,repos:s,isEditingProject:n,isSubmitting:o,onFieldChange:l,onRepoChange:i,onAddRepo:c,onRemoveRepo:d}){let[u,p]=(0,r.useState)([]),[m,f]=(0,r.useState)(null),h=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?p([]):p(s.map((e,t)=>t)),h.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){h.current=s.length;return}let e=h.current;p(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),h.current=s.length},[n,s.length]);let x=(0,r.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),g=(0,r.useCallback)(e=>!n||u.includes(e),[u,n]);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=>l("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:o})]})}),(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=>l("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:o})]}),(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:c,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(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)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",r+1]}),n&&!g(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed repository"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>x(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:g(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>d(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:o,children:"Remove"})]})]}),g(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>i(r,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:o}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>i(r,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm flex-1",disabled:o}),(0,t.jsx)("button",{type:"button",onClick:()=>f(m===r?null:r),className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:o,children:"Browse"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{i(r,"path",e),f(null)},onCancel:()=>f(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>i(r,"notes",e.target.value),placeholder:"Repo-specific rules and notes (placeholder for conventions, constraints, ownership, deploy notes...)",className:"input text-sm w-full min-h-24 resize-y",disabled:o})})]}):null]},r))})]})]})}function c({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:o,repos:l,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}){let[h,x]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return x([]);try{let t=await fetch(`/api/projects/${n.id}/memory?producer=system`),r=t.ok?await t.json():{memory:[]};e||x(r.memory??[])}catch{e||x([])}}(),()=>{e=!0}},[n]),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&&a(),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:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:a,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:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),h.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:h.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(i,{form:o,repos:l,isEditingProject:!!n,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:f}),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:a,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:s,disabled:c,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:c?(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..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>l,"default",()=>c,"useProjectFormState",()=>o],11132)},74049,e=>{"use strict";var t=e.i(71645);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))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),n=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,s]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),s.ok&&(r=((await s.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{s(!1)}},[]);(0,t.useEffect)(()=>{n()},[n]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,s=a.name.trim(),n=(a.slug||s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:s,slug:n})});if(!o.ok)return null;let{project:l}=await o.json(),i=Array.isArray(t)?t:t?[t]:[];for(let e of i)await fetch(`/api/projects/${l.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let c={...l,repos:l.repos??[],agents:[],thread_ids:i,workspace_ids:i};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),l=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),i=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),c=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...s,repos:s.repos??t.repos}:t)),s}catch{return null}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:c,renameProject:l,deleteProject:i,addAgent:d,removeAgent:u,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await n()}catch{}},[n]),refresh:n}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},98183,(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}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(90809)._(e.r(98183)),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||"",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)),i&&"object"==typeof i&&(i=String(n.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),s=s.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${s}${d}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},18581,(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(71645);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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return j},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 c},getURL:function(){return d},isAbsoluteUrl:function(){return i},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 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 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 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 j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class y 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})}},73668,(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(18967),s=e.r(52817);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}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},22016,(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(90809),o=e.r(18050),l=n._(e.r(71645)),i=e.r(61746),c=e.r(8372),d=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let m=e.r(91949),f=e.r(73668),h=e.r(9396);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)(m.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:j,as:y,children:k,prefetch:N=null,passHref:w,replace:C,shallow:S,scroll:_,onClick:E,onMouseEnter:P,onTouchStart:T,legacyBehavior:O=!1,onNavigate:L,ref:A,unstable_dynamicOnHover:$,...R}=t;a=k,O&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let I=l.default.useContext(c.AppRouterContext),M=!1!==N,F=!1!==N?null===(r=N)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:U}=l.default.useMemo(()=>{let e=x(j);return{href:e,as:y?x(y):e}},[j,y]);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 B=O?s&&"object"==typeof s&&s.ref:A,q=l.default.useCallback(e=>(null!==I&&(v.current=(0,m.mountLinkInstance)(e,D,I,F,M,g)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[M,D,I,F,g]),J={ref:(0,d.useMergedRef)(q,B),onClick(t){O||"function"!=typeof E||E(t),O&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!I||t.defaultPrevented||function(t,r,a,s,n,o,i){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(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);l.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,D,U,v,C,_,L)},onMouseEnter(e){O||"function"!=typeof P||P(e),O&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){O||"function"!=typeof T||T(e),O&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),I&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(U)?J.href=U:O&&!w&&("a"!==s.type||"href"in s.props)||(J.href=(0,p.addBasePath)(U)),n=O?l.default.cloneElement(s,J):(0,o.jsx)("a",{...R,...J,children:a}),(0,o.jsx)(b.Provider,{value:i,children:n})}e.r(84508);let b=(0,l.createContext)(m.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)},18566,(e,t,r)=>{t.exports=e.r(76562)},59015,e=>{"use strict";var t=e.i(18050),r=e.i(22016),a=e.i(71645);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]})]})}function n({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.jsx)(r.default,{href:"/",className:"flex items-center gap-3 group",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,t.jsx)(r.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(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 o(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)(n,{...e})})}e.s(["default",()=>o],59015)},3176,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||"function"===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],3176)},99695,93237,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(74080);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,c]=(0,r.useState)(null),d=(0,r.useRef)(null),u=(0,r.useRef)(null),p=(0,r.useCallback)(()=>{if(!d.current)return;let e=d.current.getBoundingClientRect();c({top:e.bottom+4,left:e.left})},[]);(0,r.useEffect)(()=>{if(!o)return;p();let e=e=>{d.current&&!d.current.contains(e.target)&&u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,p]),(0,r.useEffect)(()=>{l(!1)},[e]);let m=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:d,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
2
  hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
3
3
  ${n?"cursor-pointer":"cursor-default"}
4
4
  ${h?"animate-pulse":""}
@@ -12,5 +12,5 @@
12
12
  ${"completed"===e.status&&"none"===i?"opacity-75 bg-[var(--secondary)]":""}
13
13
  `,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
14
14
  ${"completed"===e.status?"text-[var(--muted-foreground)] line-through":""}
15
- `,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-[var(--secondary)] ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),o&&("auto"===e.approval_mode?(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:e=>{e.stopPropagation(),o("manual")},children:"AUTO"}):(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:e=>{e.stopPropagation(),o("auto")},children:"AUTO"})),"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],99695)},19580,e=>{"use strict";var t=e.i(47167),r=e.i(71645);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,c=e.realtime,[d,u]=(0,r.useState)([]),[p,m]=(0,r.useState)(!0),[f,h]=(0,r.useState)(null),[x,g]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),j=(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[]},[]),y=(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?j(r.slice(r.indexOf(":")+1).trim()):[]},[j]),k=(0,r.useCallback)((e,t)=>{let r=j(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?y(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=j(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[y,j]),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{m(!1)}},[o,l,i]);(0,r.useEffect)(()=>{w()},[w]),(0,r.useEffect)(()=>{if(!n||!c)return;let e=setInterval(w,3e3);return()=>clearInterval(e)},[n,c,w]),(0,r.useEffect)(()=>{if(n||!c)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)}},[c,n]),(0,r.useEffect)(()=>{if(n||!c)return;let e=setInterval(w,3e3);return()=>clearInterval(e)},[c,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]),S=(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]),_=(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]),E=(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)}},[]),P=(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]),T=(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:d,isLoading:p,error:f,cancellingTaskId:x,isCancelling:!!x,cancelError:b,refetch:w,createTask:N,updateTask:C,deleteTask:S,completeTaskStage:_,cancelWorkflow:E,fetchTask:P,assignOrphanTasksToProject:T}}e.s(["useTasks",()=>s],19580)},39012,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(22016),s=e.i(18566),n=e.i(59015);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 surface-card space-y-4
16
- ${s?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 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(11132),i=e.i(99695);let c={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 d({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),d=(e,s)=>{if(0===s.length)return null;let n=c[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:[d("in_progress",s),d("blocked",o),d("queued",n),d("completed",l)]})}var u=e.i(19580),p=e.i(74049);function m(){let e=(0,s.useRouter)(),i=(0,s.useSearchParams)(),{projects:c,isLoading:d,error:u,refetch:m,createProject:h,updateProject:x,deleteProject:g}=(0,p.useProjects)(),b=(0,l.useProjectFormState)(),[v,j]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),[w,N]=(0,r.useState)(null),{form:C,repos:S,handleRepoChange:_,addRepo:E,removeRepo:P,resetForm:T,hydrateFromProject:O,isSubmitting:L,setIsSubmitting:A,formError:$,setFormError:R,setForm:I}=b,M=()=>{j(null),T(),k(!0)},F=e=>{j(e),O(e),k(!0)};(0,r.useEffect)(()=>{let e=i.get("edit");if(!e||0===c.length||y)return;let t=c.find(t=>t.id===e);t&&F(t)},[i,c,y]);let D=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),U=(0,r.useCallback)(e=>{N(e)},[]),B=(0,r.useCallback)(()=>{N(null)},[]),q=()=>{T(),k(!1),j(null),i.get("edit")&&e.replace("/projects")},J=async()=>{if(!C.name.trim())return void R("Project name is required");let e=S.find(e=>e.name.trim()&&!e.path.trim());if(e)return void R(`Local path is required for repository "${e.name}"`);R(null),A(!0);let t=(0,l.createProjectPayload)(C,S);try{v?await x(v.id,t):await h(t),q()}catch(e){R(e instanceof Error?e.message:"Failed to save project")}finally{A(!1)}},z=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await g(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:m,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===c.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."})]}),c.map(e=>(0,t.jsx)(o,{project:e,onEdit:F,onDelete:z,onManageTasks:U,onClick:D},e.id))]}),(0,t.jsx)(l.default,{isOpen:y,onClose:q,onSubmit:J,editingProject:v,form:C,repos:S,isSubmitting:L,formError:$,onFieldChange:(e,t)=>I(r=>({...r,[e]:t})),onRepoChange:_,onAddRepo:E,onRemoveRepo:P}),w&&(0,t.jsx)(f,{project:w,onClose:B})]})})}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)(d,{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",()=>m],39012)}]);
15
+ `,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-[var(--secondary)] ${0===e.priority?"text-[var(--primary)]":""}`,children:["P",e.priority]}),o&&("auto"===e.approval_mode?(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:e=>{e.stopPropagation(),o("manual")},children:"AUTO"}):(0,t.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:e=>{e.stopPropagation(),o("auto")},children:"AUTO"})),"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],99695)},19580,e=>{"use strict";var t=e.i(47167),r=e.i(71645);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,c=e.realtime,[d,u]=(0,r.useState)([]),[p,m]=(0,r.useState)(!0),[f,h]=(0,r.useState)(null),[x,g]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),j=(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[]},[]),y=(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?j(r.slice(r.indexOf(":")+1).trim()):[]},[j]),k=(0,r.useCallback)((e,t)=>{let r=j(e.depends_on);if(r.length>0)return{...e,depends_on:r};let a="string"==typeof e?.content?y(e.content):[];if(a.length>0)return{...e,depends_on:a};let s=j(t?.depends_on);return s.length>0?{...e,depends_on:s}:e},[y,j]),N=(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{m(!1)}},[o,l,i]);(0,r.useEffect)(()=>{N()},[N]),(0,r.useEffect)(()=>{if(!n||!c)return;let e=setInterval(N,3e3);return()=>clearInterval(e)},[n,c,N]),(0,r.useEffect)(()=>{if(n||!c)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)}},[c,n]),(0,r.useEffect)(()=>{if(n||!c)return;let e=setInterval(N,3e3);return()=>clearInterval(e)},[c,n,N]);let w=(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]),S=(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]),_=(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]),E=(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)}},[]),P=(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]),T=(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 N(),{updatedCount:Number(r?.updatedCount||0),taskIds:Array.isArray(r?.taskIds)?r.taskIds:[]}},[N]);return{tasks:d,isLoading:p,error:f,cancellingTaskId:x,isCancelling:!!x,cancelError:b,refetch:N,createTask:w,updateTask:C,deleteTask:S,completeTaskStage:_,cancelWorkflow:E,fetchTask:P,assignOrphanTasksToProject:T}}e.s(["useTasks",()=>s],19580)},39012,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(22016),s=e.i(18566),n=e.i(59015);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 surface-card space-y-4
16
+ ${s?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 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(11132),i=e.i(99695);let c={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 d({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),d=(e,s)=>{if(0===s.length)return null;let n=c[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:[d("in_progress",s),d("blocked",o),d("queued",n),d("completed",l)]})}var u=e.i(19580),p=e.i(74049);function m(){let e=(0,s.useRouter)(),i=(0,s.useSearchParams)(),{projects:c,isLoading:d,error:u,refetch:m,createProject:h,updateProject:x,deleteProject:g}=(0,p.useProjects)(),b=(0,l.useProjectFormState)(),[v,j]=(0,r.useState)(null),[y,k]=(0,r.useState)(!1),[N,w]=(0,r.useState)(null),{form:C,repos:S,handleRepoChange:_,addRepo:E,removeRepo:P,resetForm:T,hydrateFromProject:O,isSubmitting:L,setIsSubmitting:A,formError:$,setFormError:R,setForm:I}=b,M=()=>{j(null),T(),k(!0)},F=e=>{j(e),O(e),k(!0)};(0,r.useEffect)(()=>{let e=i.get("edit");if(!e||0===c.length||y)return;let t=c.find(t=>t.id===e);t&&F(t)},[i,c,y]);let D=(0,r.useCallback)(t=>{t.slug&&e.push(`/projects/${t.slug}`)},[e]),U=(0,r.useCallback)(e=>{w(e)},[]),B=(0,r.useCallback)(()=>{w(null)},[]),q=()=>{T(),k(!1),j(null),i.get("edit")&&e.replace("/projects")},J=async()=>{if(!C.name.trim())return void R("Project name is required");let e=S.find(e=>e.name.trim()&&!e.path.trim());if(e)return void R(`Local path is required for repository "${e.name}"`);R(null),A(!0);let t=(0,l.createProjectPayload)(C,S);try{v?await x(v.id,t):await h(t),q()}catch(e){R(e instanceof Error?e.message:"Failed to save project")}finally{A(!1)}},z=async e=>{if(window.confirm(`Delete project "${e.name}"? This cannot be undone.`))try{await g(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:m,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===c.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."})]}),c.map(e=>(0,t.jsx)(o,{project:e,onEdit:F,onDelete:z,onManageTasks:U,onClick:D},e.id))]}),(0,t.jsx)(l.default,{isOpen:y,onClose:q,onSubmit:J,editingProject:v,form:C,repos:S,isSubmitting:L,formError:$,onFieldChange:(e,t)=>I(r=>({...r,[e]:t})),onRepoChange:_,onAddRepo:E,onRemoveRepo:P}),N&&(0,t.jsx)(f,{project:N,onClose:B})]})})}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)(d,{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",()=>m],39012)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78583,e=>{"use strict";let t=(0,e.i(75254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],78583)},14683,e=>{"use strict";let t=(0,e.i(75254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],14683)},78894,e=>{"use strict";let t=(0,e.i(75254).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],78894)},95468,e=>{"use strict";let t=(0,e.i(75254).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],95468)},73375,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],73375)},73884,e=>{"use strict";let t=(0,e.i(75254).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],73884)},63209,e=>{"use strict";let t=(0,e.i(75254).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],63209)},2651,e=>{"use strict";let t={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function r(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:t.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):t.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:t.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof e.hasCompletedFirstRun?e.hasCompletedFirstRun:t.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):t.fileIgnorePatterns}:t}let a="/api/userPreferences";function s(e){return e.json().then(e=>e&&"object"==typeof e?r(e.preferences??e):r(e)).catch(()=>r(null))}function n(e){return e.statusText||`Failed to reach ${a} (${e.status})`}async function i(){let e=await fetch(a,{cache:"no-store"});if(!e.ok)throw Error(n(e));return s(e)}async function l(e){let t=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(n(t));return s(t)}e.s(["fetchUserPreferences",()=>i,"updateUserPreferences",()=>l],2651)},29415,e=>{"use strict";function t(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}e.s(["stripMarkers",()=>t])},86311,e=>{"use strict";let t=(0,e.i(75254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],86311)},39312,e=>{"use strict";let t=(0,e.i(75254).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],39312)},40160,e=>{"use strict";let t=(0,e.i(75254).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>t],40160)},61911,e=>{"use strict";let t=(0,e.i(75254).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],61911)},16715,e=>{"use strict";let t=(0,e.i(75254).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],16715)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],3116)},50030,e=>{"use strict";var t=e.i(71645);let r=new Set(["spawning","running"]);function a(e,a){let s=a?.intervalMs??1500,n=a?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[c,o]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[h,p]=(0,t.useState)([]),f=(0,t.useRef)(e);f.current=e;let y=(0,t.useRef)(a?.messages??[]);y.current=a?.messages??[];let m=(0,t.useRef)(a?.setMessages);m.current=a?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=a?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[a?.messages]);let k=(0,t.useCallback)(async()=>{let e=f.current;if(!e){l(new Set),o([]),d({}),p([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){l(new Set),o([]),d({}),p([]);return}try{let s=e.workspaceId||e.threadId,n=s?`/api/history?threadId=${encodeURIComponent(s)}&since=${g.current}`:null,i=s?`/api/chat-runs?threadId=${encodeURIComponent(s)}&limit=20`:null,c=[fetch(t)];n&&c.push(fetch(n)),i&&c.push(fetch(i));let[u,h,k]=await Promise.all(c),I=f.current;if(I?.threadId!==e.threadId||I?.workspaceId!==e.workspaceId)return;if(u.ok){let e=await u.json();o(e);let t=new Set(e.filter(e=>r.has(e.state)).map(e=>e.agentId));l(t);let a={};for(let t of e){if(!r.has(t.state))continue;let e=y.current.find(e=>e.id===t.sinceMessageId),s=e?.rootMessageId??t.sinceMessageId;a[t.agentId]={content:"",rootMessageId:s}}d(a)}if(k?.ok){var a;let e=(a=await k.json(),Array.isArray(a)?a.map(e=>{if(!e||"object"!=typeof e)return null;let t="string"==typeof e.chatRunId?e.chatRunId:"string"==typeof e.id?e.id:null,r="string"==typeof e.threadId?e.threadId:null,a="string"==typeof e.status?e.status:null,s="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&a&&("queued"===a||"running"===a||"awaiting_user"===a||"blocked"===a||"completed"===a||"failed"===a||"cancelled"===a)?{chatRunId:t,threadId:r,rootMessageId:s,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);p(e)}if(h?.ok&&m.current){let e=await h.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),m.current(t=>{let r=new Set(t.map(e=>e.id)),a=e.filter(e=>!r.has(e.id)),s=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?s:[...s,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),I=e?.threadId||e?.workspaceId||null,w=h.some(e=>"queued"===e.status||"running"===e.status),M=c.some(e=>r.has(e.state)),C=w||M?s:n;return(0,t.useEffect)(()=>{if(!I){l(new Set),o([]),d({}),p([]);return}k();let e=setInterval(k,C);return()=>clearInterval(e)},[I,C,k]),{activeAgents:i,processes:c,streaming:u,chatRuns:h,poll:k}}e.s(["useProcessPolling",()=>a])},38895,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(30426);function s({params:e}){let{id:s}=(0,r.use)(e);return(0,t.jsx)(a.ChatContainer,{initialRootMessageId:s})}e.s(["default",()=>s])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55436,e=>{"use strict";let t=(0,e.i(75254).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],55436)},90272,27612,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>r],90272);let a=(0,t.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>a],27612)},11132,e=>{"use strict";var t=e.i(18050),r=e.i(71645);function a({initialPath:e,onSelect:a,onCancel:s}){let[o,n]=(0,r.useState)(e||""),[i,l]=(0,r.useState)(null),[d,c]=(0,r.useState)(!1),[p,u]=(0,r.useState)(null),m=(0,r.useRef)(null),x=(0,r.useCallback)(async e=>{c(!0),u(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void u(a.error||"Failed to browse");l(a),n(a.current),m.current?.scrollTo(0,0)}catch{u("Failed to connect")}finally{c(!1)}},[]);return(0,r.useEffect)(()=>{x(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:o,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"===e.key&&x(o)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>x(o),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:m,className:"max-h-48 overflow-y-auto",children:[d&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),p&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:p}),!d&&i&&(0,t.jsxs)("div",{className:"py-1",children:[i.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>x(i.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===i.dirs.length&&!i.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),i.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>x(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:i?.current||o}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(i?.current||o),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}let s={name:"",description:""},o={name:"",path:"",notes:""};function n(){let[e,t]=(0,r.useState)(s),[a,n]=(0,r.useState)([o]),[i,l]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),p=(0,r.useCallback)((e,t,r)=>{n(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),u=(0,r.useCallback)(()=>{n(e=>[...e,{...o}])},[]),m=(0,r.useCallback)(e=>{n(t=>t.filter((t,r)=>r!==e))},[]),x=(0,r.useCallback)(()=>{t(s),n([o]),c(null)},[]),h=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?n(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):n([o]),c(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:p,addRepo:u,removeRepo:m,resetForm:x,hydrateFromProject:h,isSubmitting:i,setIsSubmitting:l,formError:d,setFormError:c}}function i(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.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:s,isEditingProject:o,isSubmitting:n,onFieldChange:i,onRepoChange:l,onAddRepo:d,onRemoveRepo:c}){let[p,u]=(0,r.useState)([]),[m,x]=(0,r.useState)(null),h=(0,r.useRef)(0);(0,r.useEffect)(()=>{o?u([]):u(s.map((e,t)=>t)),h.current=s.length},[o,s.length]),(0,r.useEffect)(()=>{if(!o){h.current=s.length;return}let e=h.current;u(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),h.current=s.length},[o,s.length]);let v=(0,r.useCallback)(e=>{u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),b=(0,r.useCallback)(e=>!o||p.includes(e),[p,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=>i("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:n})]})}),(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=>i("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:n})]}),(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:d,className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:n,children:"+ Add Repository"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(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)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Repo #",r+1]}),o&&!b(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed repository"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o&&(0,t.jsx)("button",{type:"button",onClick:()=>v(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:n,children:b(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>c(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:n,children:"Remove"})]})]}),b(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>l(r,"name",e.target.value),placeholder:"Name (e.g. Frontend)",className:"input text-sm",disabled:n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>l(r,"path",e.target.value),placeholder:"Local path (mandatory)",className:"input text-sm flex-1",disabled:n}),(0,t.jsx)("button",{type:"button",onClick:()=>x(m===r?null:r),className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:n,children:"Browse"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{l(r,"path",e),x(null)},onCancel:()=>x(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>l(r,"notes",e.target.value),placeholder:"Repo-specific rules and notes (placeholder for conventions, constraints, ownership, deploy notes...)",className:"input text-sm w-full min-h-24 resize-y",disabled:n})})]}):null]},r))})]})]})}function d({isOpen:e,onClose:a,onSubmit:s,editingProject:o,form:n,repos:i,isSubmitting:d,formError:c,onFieldChange:p,onRepoChange:u,onAddRepo:m,onRemoveRepo:x}){let[h,v]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!o)return v([]);try{let t=await fetch(`/api/projects/${o.id}/memory?producer=system`),r=t.ok?await t.json():{memory:[]};e||v(r.memory??[])}catch{e||v([])}}(),()=>{e=!0}},[o]),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&&a(),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:o?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:o?"Update your project settings and repositories.":"Define a new project and connect repositories."})]}),(0,t.jsx)("button",{onClick:a,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:[o&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),h.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:h.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(l,{form:n,repos:i,isEditingProject:!!o,isSubmitting:d,onFieldChange:p,onRepoChange:u,onAddRepo:m,onRemoveRepo:x}),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:a,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:s,disabled:d,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:d?(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..."]}):o?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>i,"default",()=>d,"useProjectFormState",()=>n],11132)},68542,31245,27025,54238,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(64659),s=e.i(63059),o=e.i(88081),n=e.i(75254);let i=(0,n.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>i],31245);let l=(0,n.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>l],27025);var d=e.i(90272);let c=(0,n.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"}]]);var p=e.i(88699),u=e.i(23385);let m=(0,n.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var x=e.i(7233),h=e.i(55436),v=e.i(27612),b=e.i(37727),g=e.i(22016),f=e.i(25459),j=e.i(11132);function y({threads:e,participants:n=[],activeThreadId:y,isLoading:k,isCreating:w,onSelectThread:N,onCreateThread:_,onRenameThread:C,onDeleteThread:S,deletingThreadId:I=null,renamingThreadId:z=null,activeParticipantIds:A=[],onToggleParticipantActive:P,visible:D=!1,isRestoringActiveThread:R=!1,onToggle:F,onSearch:$,projects:E=[],onCreateProject:M,onUpdateProject:L,onDeleteProject:T,onAddAgentToProject:K,onRemoveAgentFromProject:V,onAddAgentViaForm:U,onReorderProjectAgents:B,onUpdateParticipant:H,onSelectProject:W,getProjectBoardHref:O,activeProjectId:G=null,activeProjectView:X=null}){let q,J,Y=(0,r.useRef)(null),[Z,Q]=(0,r.useState)(new Set),[ee,et]=(0,r.useState)(null),[er,ea]=(0,r.useState)(new Set),[es,eo]=(0,r.useState)(!1),[en,ei]=(0,r.useState)(null),[el,ed]=(0,r.useState)(null),ec=(0,j.useProjectFormState)(),[ep,eu]=(0,r.useState)(null),em=(0,r.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[ex,eh]=(0,r.useState)(null),[ev,eb]=(0,r.useState)(null),eg=ev?n.find(e=>e.id===ev)??null:null,[ef,ej]=(0,r.useState)(null),[ey,ek]=(0,r.useState)(null),ew=async()=>{if(!en&&!el)return;if(!ec.form.name.trim())return void ec.setFormError("Project name is required");let e=ec.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ec.setFormError(`Local path is required for repository "${e.name}"`);ec.setFormError(null),ec.setIsSubmitting(!0);let t=(0,j.createProjectPayload)(ec.form,ec.repos);el?await L?.(el.id,t):await M?.(t,en?.threadId),ec.setIsSubmitting(!1),ei(null),ed(null)},eN=async e=>{ec.resetForm();try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to load project");let r=(await t.json()).project;ed(r),ec.hydrateFromProject(r)}catch(e){console.error("Failed to load project settings",e)}};(0,r.useEffect)(()=>{let e=!1;async function t(){if(ef?.repoId)try{let t=await fetch(`/api/repos/${ef.repoId}/knowledge?producer=system`),r=t.ok?await t.json():{knowledge:[]};e||ej(e=>e&&e.repoId===ef.repoId?{...e,generatedKnowledge:r.knowledge??[],isLoadingKnowledge:!1}:e)}catch{e||ej(e=>e&&e.repoId===ef.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return ef?.repoId&&t(),()=>{e=!0}},[ef?.repoId]);let e_=e=>{U?U(e):(ea(new Set),et({projectId:e}))},eC=ee?E.find(e=>e.id===ee.projectId):null,eS=new Set(eC?.agents.map(e=>e.agent_id)??[]),eI=ee?n.filter(e=>!eS.has(e.id)):[],ez=e.length>0,eA=!!D,eP=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),eD=new Map(e.map(e=>[e.id,e])),eR=E.filter(e=>!e.is_default),eF=eP.filter(e=>!eR.some(t=>t.thread_ids?.includes(e.id))),e$=(0,r.useCallback)(e=>O?.(e)??`/projects/${e.slug}`,[O]);!function({focusTarget:e,shouldFocus:t}){(0,r.useEffect)(()=>{if(!t||"u"<typeof document)return;let r=e.current;if(!r||r instanceof HTMLButtonElement&&r.disabled)return;let a=document.activeElement;if(!(a&&(r===a||r.contains(a))))try{r.focus({preventScroll:!0})}catch{r.focus()}},[e,t])}({focusTarget:Y,shouldFocus:eA&&!(k&&!ez||R&&ez)&&!ez&&!w});let eE=()=>{eu({title:"Create discussion",placeholder:"Discussion title",defaultValue:"",onSubmit:e=>void _({title:e})})};return eA?(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":k?"true":void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand-content flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand-icon","aria-hidden":"true",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-title",children:"Workspace"})]}),F&&(0,t.jsx)("button",{type:"button",onClick:F,"aria-label":"Hide discussions",title:"Hide discussions",className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,t.jsx)(c,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[$&&(0,t.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,t.jsxs)("button",{type:"button",onClick:$,className:"flex h-8 w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 text-xs text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] hover:text-[var(--app-shell-muted)]",children:[(0,t.jsx)(h.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Search..."}),(0,t.jsx)("kbd",{className:"ml-auto rounded border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1 py-0.5 font-sans text-[10px] font-medium text-[var(--app-shell-soft-text)]",children:"⌘K"})]})}),(0,t.jsx)("nav",{className:"workspace-sidebar__section",style:{gap:0},children:(0,t.jsxs)(g.default,{href:"/agents",className:"workspace-sidebar__nav-item",children:[(0,t.jsx)(i,{size:14,className:"flex-shrink-0"}),"Manage Agents"]})}),(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__section-header group/projects-header",children:[(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,t.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/projects-header:opacity-100",onClick:()=>{ec.resetForm(),ed(null),ei({})},"aria-label":"Create project",title:"Create project",children:(0,t.jsx)(x.Plus,{size:14})})})]}),eR.map(e=>{let r=Z.has(e.id),i=eP.filter(t=>e.thread_ids?.includes(t.id)),c=e.id===G,h=e.thread_ids?.find(e=>eD.has(e))??e.thread_ids?.[0]??i[0]?.id??null,b=c&&"thread"===X&&h===y,j=c&&"board"===X,k=c&&"knowledge"===X;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",children:[(0,t.jsx)("button",{type:"button",className:"inline-flex items-center justify-center rounded-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>{var t;return t=e.id,void Q(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},"aria-label":r?`Collapse ${e.name}`:`Expand ${e.name}`,title:r?"Collapse project":"Expand project",children:r?(0,t.jsx)(a.ChevronDown,{size:14,className:"flex-shrink-0"}):(0,t.jsx)(s.ChevronRight,{size:14,className:"flex-shrink-0"})}),(0,t.jsx)(l,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:e.name})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void eN(e.id),"aria-label":`Open project settings for ${e.name}`,title:"Project settings",children:(0,t.jsx)(p.Pencil,{size:12})}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var t;let r;return t=e.id,r=E.find(e=>e.id===t),void eh({title:"Delete project",message:`Delete "${r?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void T?.(t)})},"aria-label":`Delete project ${e.name}`,title:`Delete project ${e.name}`,children:(0,t.jsx)(v.Trash2,{size:12})})]})]}),r&&(0,t.jsxs)("div",{className:"ml-4 my-1 flex flex-col gap-0.5 border-l border-[var(--app-shell-border)] pl-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:h?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${b?"workspace-sidebar__nav-item--active":""}`,onClick:()=>N(h),"aria-current":b?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Discussion"})]}):(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:eE,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Discussion"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(g.default,{href:e$(e),className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,"aria-current":j?"page":void 0,children:[(0,t.jsx)(m,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Board"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(g.default,{href:`/projects/${e.slug}/knowledge`,className:`workspace-sidebar__nav-item ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,t.jsx)(u.BrainCircuit,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Knowledge"})]})}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/repos-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Repos"}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>ej({projectId:e.id,projectName:e.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add repo",title:"Add repo",children:(0,t.jsx)(x.Plus,{size:12})})]}),e.repos.length>0?e.repos.map(r=>(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item min-w-0 flex-1 text-left",onClick:()=>ej({projectId:e.id,projectName:e.name,repoId:r.id,name:r.name,path:r.path||"",gitUrl:r.git_url||"",notes:r.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,t.jsx)(d.FolderGit2,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)] ml-2"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:r.name})]}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-[var(--muted-foreground)] hover:text-red-400",onClick:async t=>{t.stopPropagation();let a=e.repos.filter(e=>e.id!==r.id).map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}));await L?.(e.id,{repos:a})},"aria-label":"Delete repo",title:"Delete repo",children:(0,t.jsx)(v.Trash2,{size:12})})]},`${e.id}:${r.name}:${r.path??""}`)):(0,t.jsx)("p",{className:"px-3 py-1 text-[11px] text-[var(--muted-foreground)]",children:"No repos"})]}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/agents-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Agents"}),e.agents.length>0&&(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>e_(e.id),"aria-label":"Add agents",title:"Add agents",children:(0,t.jsx)(x.Plus,{size:12})})]}),e.agents.length>0?(0,t.jsx)(t.Fragment,{children:e.agents.map((r,a)=>{let s=n.find(e=>e.id===r.agent_id),o=ey?.projectId===e.id&&ey?.agentId===r.agent_id,i=ey?.projectId===e.id&&ey?.overIndex===a&&!o;return(0,t.jsx)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.effectAllowed="move",ek({projectId:e.id,agentId:r.agent_id,overIndex:a})},onDragOver:t=>{t.preventDefault(),ey&&ey.projectId===e.id&&ek(e=>e?{...e,overIndex:a}:null)},onDragEnd:()=>{if(ey&&ey.projectId===e.id&&B){let t=e.agents.map(e=>e.agent_id),r=t.indexOf(ey.agentId),a=ey.overIndex;if(-1!==r&&r!==a){let s=[...t],[o]=s.splice(r,1);s.splice(a,0,o),B(e.id,s)}}ek(null)},className:`group/agent flex items-center ${i?"border-t-2 border-[var(--border)]":"border-t-2 border-transparent"} ${o?"opacity-40":""}`,children:(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item flex-1 min-w-0 !py-1",onClick:()=>eb(r.agent_id),children:[(0,t.jsx)("span",{className:`cursor-grab text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] flex-shrink-0 mr-0.5 transition-opacity ${0===a?"opacity-100":"opacity-0 group-hover/agent:opacity-100"}`,title:"Drag to reorder",children:"⠿"}),(0,t.jsx)("img",{src:(0,f.agentAvatarUrl)(r.agent_id,16,s?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:s?.name??r.agent_id}),0===a&&(0,t.jsx)("span",{className:"ml-auto text-[9px] text-[var(--muted-foreground)] font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},r.agent_id)})}):(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-3 py-1 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>e_(e.id),children:[(0,t.jsx)(x.Plus,{size:10}),(0,t.jsx)("span",{children:"Add agents"})]})]})]})]},e.id)}),eF.length>0&&(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Unassigned Threads"}),eF.map(e=>{let r=e.id===y,a=e.title?.trim()||"Untitled thread";return(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${r?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>N(e.id),"aria-current":r?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a})]})},e.id)})]})]})]}),(0,t.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,t.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:[(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),ef&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{ef.isSaving||ej(null)},children:(0,t.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:ef.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:ef.repoId?ef.name||"Repository":"Add Repository"})]}),(0,t.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{ef.isSaving||ej(null)},"aria-label":"Close repo details",disabled:ef.isSaving,children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,t.jsx)("input",{value:ef.name,onChange:e=>ej(t=>t?{...t,name:e.target.value,error:null}:t),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:ef.isSaving})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,t.jsx)("input",{value:ef.path,onChange:e=>ej(t=>t?{...t,path:e.target.value,error:null}:t),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:ef.isSaving})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Repo Notes"}),(0,t.jsx)("textarea",{value:ef.notes,onChange:e=>ej(t=>t?{...t,notes:e.target.value,error:null}:t),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:ef.isSaving,placeholder:"Repo-specific rules, notes, conventions, deployment constraints..."})]}),ef.repoId?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Repo Note"}),ef.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading repo note…"}):ef.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:ef.generatedKnowledge.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No repo note yet."})]}):null,ef.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:ef.error}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,t.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>ej(null),disabled:ef.isSaving,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:ef.isSaving||!L,onClick:async()=>{let e=E.find(e=>e.id===ef.projectId);if(!e)return void ej(e=>e?{...e,error:"Project not found."}:e);let t=ef.name.trim(),r=ef.path.trim();if(!t)return void ej(e=>e?{...e,error:"Repo name is required."}:e);if(!r)return void ej(e=>e?{...e,error:"Repo path is required."}:e);ej(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=ef.repoId?e.repos.map(e=>e.id===ef.repoId?{id:e.id,name:t,path:r,git_url:ef.gitUrl.trim()||void 0,notes:ef.notes.trim()||void 0}:{id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}):[...e.repos.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes})),{name:t,path:r,git_url:ef.gitUrl.trim()||void 0,notes:ef.notes.trim()||void 0}];await L?.(e.id,{repos:a}),ej(null)}catch(e){ej(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save repo details."}:t)}},children:ef.isSaving?"Saving...":ef.repoId?"Save":"Add Repo"})]})]})]})}),ee&&!es&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>et(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",eC?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>et(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,t.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>eo(!0),children:[(0,t.jsx)(x.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eI.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):eI.map(e=>{let r=er.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${r?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{ea(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${r?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,children:r&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("img",{src:(0,f.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:e.model})]})]},e.id)})]}),eI.length>0&&(0,t.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>et(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===er.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of er)K?.(ee.projectId,e);et(null)},children:["Add ",er.size>0?`(${er.size})`:""]})]})]})}),es&&(0,t.jsx)(f.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[]},submitLabel:"Create & Add",projects:E?.filter(e=>!e.is_default).map(t=>{let r=(t.thread_ids??[]).map(t=>e.find(e=>e.id===t)?.title?.trim()).filter(Boolean).join(", ")||"No discussion";return{id:t.id,name:t.name,label:`${r} › ${t.name}`}}),initialProjectIds:ee?[ee.projectId]:[],onSubmit:async(e,t)=>{let r=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=r[n.length%r.length],s=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),o=t?.[0],i=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s,name:e.name,provider:e.provider,model:e.model,color:e.color??a,...e.identity?{identity:e.identity}:{},skills:e.skills??[],...o?{projectId:o}:{}})});if(i.ok){let e=await i.json().catch(()=>({})),r="string"==typeof e?.id&&e.id.trim()?e.id.trim():s;for(let e of(t??[]).slice(1))K?.(e,r);eo(!1),et(null)}},onCancel:()=>{eo(!1)}}),ep&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eu(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ep.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eu(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),r=t.get("value")?.trim();r&&(ep.onSubmit(r),eu(null))},children:[(0,t.jsx)("input",{ref:em,name:"value",type:"text",defaultValue:ep.defaultValue,placeholder:ep.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eu(null),children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:ep.defaultValue?"Save":"Create"})]})]})]})}),ex&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eh(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ex.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eh(null),children:(0,t.jsx)(b.X,{size:16})})]}),(0,t.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:ex.message}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eh(null),children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{ex.onConfirm(),eh(null)},children:"Delete"})]})]})]})}),(en||el)&&(0,t.jsx)(j.default,{isOpen:!0,onClose:()=>{ec.resetForm(),ei(null),ed(null)},onSubmit:()=>void ew(),editingProject:el,form:ec.form,repos:ec.repos,isSubmitting:ec.isSubmitting,formError:ec.formError,onFieldChange:(e,t)=>ec.setForm(r=>({...r,[e]:t})),onRepoChange:ec.handleRepoChange,onAddRepo:ec.addRepo,onRemoveRepo:ec.removeRepo}),eg&&(q=E.filter(e=>e.agents.some(e=>e.agent_id===eg.id)),J=E.filter(e=>!e.agents.some(e=>e.agent_id===eg.id)),(0,t.jsx)(f.AgentForm,{title:"Edit agent",initial:{name:eg.name,provider:eg.provider,model:eg.model||"",identity:eg.identity||"",color:eg.color,skills:eg.skills||[]},agentId:eg.id,submitLabel:"Save",projectMemberships:{current:q.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:J.map(e=>({id:e.id,name:e.name}))},onAddToProject:K?e=>K(e,eg.id):void 0,onRemoveFromProject:V?e=>V(e,eg.id):void 0,onSubmit:async e=>{H&&await H({...eg,name:e.name,provider:e.provider,model:e.model,color:e.color??eg.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[]}),eb(null)},onCancel:()=>eb(null)}))]}):(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:F,className:"workspace-sidebar__brand-icon border-none outline-none cursor-pointer","aria-label":"Show discussions",title:"Show discussions",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})})}),(0,t.jsx)("div",{className:"mt-auto p-2",children:(0,t.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}e.s(["WorkspaceSidebar",()=>y],68542);let k="agx-chat:uiSettings",w={threadSidebarVisible:!1};function N(){return void 0!==window.localStorage}function _(){if(!N())return{...w};let e=window.localStorage.getItem(k);if(!e)return{...w};try{let t=JSON.parse(e);return{...w,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{...w}}}function C(){return _().threadSidebarVisible}function S(e){var t={..._(),threadSidebarVisible:e};if(N())try{window.localStorage.setItem(k,JSON.stringify(t))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>C,"persistWorkspaceSidebarVisible",()=>S],54238)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75254,e=>{"use strict";var t=e.i(71645);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:o="",children:l,iconNode:u,...c},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",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},[...u.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)(a,{ref:l,iconNode:s,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...o}));return i.displayName=n(e),i};e.s(["default",()=>i],75254)},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return o}};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 o(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 l(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}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",o=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),s&&"/"!==s[0]&&(s="/"+s)):u||(u=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${s}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return o(e)}},18581,(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(71645);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)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},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 o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();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 g extends Error{}class v extends Error{}class y 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})}},73668,(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(18967),s=e.r(52817);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}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return y}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let a=e.r(90809),i=e.r(18050),o=a._(e.r(71645)),l=e.r(61746),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let m=e.r(91949),p=e.r(73668),h=e.r(9396);function x(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let n,s,a,[l,g]=(0,o.useOptimistic)(m.IDLE_LINK_STATUS),y=(0,o.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:T=!1,onNavigate:L,ref:M,unstable_dynamicOnHover:A,...R}=t;n=N,T&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let $=o.default.useContext(u.AppRouterContext),I=!1!==w,U=!1!==w?null===(r=w)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:F,as:D}=o.default.useMemo(()=>{let e=x(b);return{href:e,as:j?x(j):e}},[b,j]);if(T){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=o.default.Children.only(n)}let z=T?s&&"object"==typeof s&&s.ref:M,B=o.default.useCallback(e=>(null!==$&&(y.current=(0,m.mountLinkInstance)(e,F,$,U,I,g)),()=>{y.current&&((0,m.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,m.unmountPrefetchableInstance)(e)}),[I,F,$,U,g]),W={ref:(0,c.useMergedRef)(B,z),onClick(t){T||"function"!=typeof O||O(t),T&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!$||t.defaultPrevented||function(t,r,n,s,a,i,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||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(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);o.default.startTransition(()=>{d(n||r,a?"replace":"push",i??!0,s.current)})}}(t,F,D,y,P,E,L)},onMouseEnter(e){T||"function"!=typeof S||S(e),T&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),$&&I&&(0,m.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){T||"function"!=typeof _||_(e),T&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),$&&I&&(0,m.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,d.isAbsoluteUrl)(D)?W.href=D:T&&!k&&("a"!==s.type||"href"in s.props)||(W.href=(0,f.addBasePath)(D)),a=T?o.default.cloneElement(s,W):(0,i.jsx)("a",{...R,...W,children:n}),(0,i.jsx)(v.Provider,{value:l,children:a})}e.r(84508);let v=(0,o.createContext)(m.IDLE_LINK_STATUS),y=()=>(0,o.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)},16715,e=>{"use strict";let t=(0,e.i(75254).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],16715)},78894,e=>{"use strict";let t=(0,e.i(75254).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],78894)},14683,e=>{"use strict";let t=(0,e.i(75254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],14683)},73884,e=>{"use strict";let t=(0,e.i(75254).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],73884)},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},75092,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(22016),s=e.i(16715),a=e.i(71689),i=e.i(14683),o=e.i(78894),l=e.i(73884);let u=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)(l.XCircle,{className:"w-3 h-3 text-red-400"});case"unavailable":return(0,t.jsx)(o.AlertTriangle,{className:"w-3 h-3 text-[var(--muted-foreground)]"})}},c=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-[var(--muted-foreground)] text-xs font-medium",children:"Unavailable"})}};function d(){let[e,o]=(0,r.useState)(null),[l,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}`);o(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-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:(0,t.jsx)(a.ArrowLeft,{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:l,className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors disabled:opacity-50",children:(0,t.jsx)(s.RefreshCw,{className:`w-4 h-4 ${l?"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-[var(--muted-foreground)] uppercase tracking-wider mb-3",children:"Services"}),(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]",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:[u(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-[var(--muted-foreground)]",children:[e.latencyMs,"ms"]}),c(e.status)]})]},e.name)),0===h.length&&!l&&(0,t.jsx)("div",{className:"px-4 py-3 text-sm text-[var(--muted-foreground)]",children:"No services found"})]})]}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-[var(--muted-foreground)] uppercase tracking-wider mb-3",children:"CLI Providers"}),(0,t.jsx)("div",{className:"rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]",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:[u(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-[var(--muted-foreground)]",children:e.detail}),c(e.status)]})]},e.name))})]}),e?.limits&&(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-xs font-medium text-[var(--muted-foreground)] uppercase tracking-wider mb-3",children:"Operational Limits"}),(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]",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-[var(--muted-foreground)] text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Max Workers"})]}),(0,t.jsx)("span",{className:"text-xs text-[var(--app-shell-soft-text)] 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-[var(--muted-foreground)] text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:"Write QPS Ceiling"})]}),(0,t.jsx)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:e.limits.writeQpsCeiling})]}),(0,t.jsx)("div",{className:"px-4 py-2",children:(0,t.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",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-[var(--app-shell-soft-text)]",children:"See LIMITS.md"})]})})]})]}),e&&(0,t.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)] text-center",children:["Last checked: ",new Date(e.timestamp).toLocaleTimeString()]})]})})}e.s(["default",()=>d])}]);