@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
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,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)},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)},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)},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)},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 n(e){return e.json().then(e=>e&&"object"==typeof e?r(e.preferences??e):r(e)).catch(()=>r(null))}function s(e){return e.statusText||`Failed to reach ${a} (${e.status})`}async function o(){let e=await fetch(a,{cache:"no-store"});if(!e.ok)throw Error(s(e));return n(e)}async function i(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(s(t));return n(t)}e.s(["fetchUserPreferences",()=>o,"updateUserPreferences",()=>i],2651)},50030,e=>{"use strict";var t=e.i(71645);let r=new Set(["spawning","running"]);function a(e,a){let n=a?.intervalMs??1500,s=a?.idleIntervalMs??1e4,[o,i]=(0,t.useState)(new Set),[l,c]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[f,h]=(0,t.useState)([]),p=(0,t.useRef)(e);p.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 w=(0,t.useCallback)(async()=>{let e=p.current;if(!e){i(new Set),c([]),d({}),h([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){i(new Set),c([]),d({}),h([]);return}try{let n=e.workspaceId||e.threadId,s=n?`/api/history?threadId=${encodeURIComponent(n)}&since=${g.current}`:null,o=n?`/api/chat-runs?threadId=${encodeURIComponent(n)}&limit=20`:null,l=[fetch(t)];s&&l.push(fetch(s)),o&&l.push(fetch(o));let[u,f,w]=await Promise.all(l),k=p.current;if(k?.threadId!==e.threadId||k?.workspaceId!==e.workspaceId)return;if(u.ok){let e=await u.json();c(e);let t=new Set(e.filter(e=>r.has(e.state)).map(e=>e.agentId));i(t);let a={};for(let t of e){if(!r.has(t.state))continue;let e=y.current.find(e=>e.id===t.sinceMessageId),n=e?.rootMessageId??t.sinceMessageId;a[t.agentId]={content:"",rootMessageId:n}}d(a)}if(w?.ok){var a;let e=(a=await w.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,n="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:n,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);h(e)}if(f?.ok&&m.current){let e=await f.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)),n=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?n:[...n,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),k=e?.threadId||e?.workspaceId||null,v=f.some(e=>"queued"===e.status||"running"===e.status),b=l.some(e=>r.has(e.state)),S=v||b?n:s;return(0,t.useEffect)(()=>{if(!k){i(new Set),c([]),d({}),h([]);return}w();let e=setInterval(w,S);return()=>clearInterval(e)},[k,S,w]),{activeAgents:o,processes:l,streaming:u,chatRuns:f,poll:w}}e.s(["useProcessPolling",()=>a])},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)},99438,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata,status:a?.status,outcomeNote:a?.outcomeNote,projectId:"string"==typeof a?.projectId?a.projectId:"string"==typeof a?.teamId?a.teamId:a?.projectId===null||a?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function n(e){r().setItem(t,JSON.stringify(e))}function s(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let o=new class{async saveThread(e){let t=Date.now(),r=a(),o=r.threads[e.id],i=o?.createdAt??e.createdAt??t,l=e.updatedAt??t,c={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:i,updatedAt:l,status:e.status,outcomeNote:e.outcomeNote,projectId:e.projectId??e.teamId};return r.threads[e.id]=c,n(r),s(c)}async loadThread(e){let t=a().threads[e];return t?s(t):null}async listThreads(e){let t=Object.values(a().threads),r=e?.order??"desc",n=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),o=Math.max(0,e?.offset??0),i=e?.limit,l="number"==typeof i&&i>=0?n.slice(o,o+i):n.slice(o);return{total:t.length,threads:l.map(s)}}async deleteThread(e){let t=a();t.threads[e]&&(delete t.threads[e],n(t))}};e.s(["threadService",0,{listThreads:async()=>[...(await o.listThreads({order:"desc"})).threads.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createThread(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await o.loadThread(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return o.saveThread({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return o.saveThread(r)},async deleteThread(e){let t=e.trim();if(!t)return;let r=await o.loadThread(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameThread(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let n=await o.loadThread(r);return n?(n.title?.trim()??"")===a?n:o.saveThread({id:n.id,title:a,messages:n.messages,metadata:n.metadata,createdAt:n.createdAt}):null},async updateThreadStatus(e,t){let r=await o.loadThread(e);return r?r.status===t?r:o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:t,outcomeNote:r.outcomeNote}):null},async updateThreadOutcomeNote(e,t){let r=await o.loadThread(e);return r?r.outcomeNote===t?r:o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:t}):null},async updateMessageThreadStatus(e,t,r){let a=await o.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,threadStatus:r}:e);return o.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async updateMessageOutcomeNote(e,t,r){let a=await o.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,outcomeNote:r}:e);return o.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async saveThreadMessages(e,t){let r=await o.loadThread(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],n=t[r];if(a.id!==n.id||a.role!==n.role||a.participantId!==n.participantId||a.content!==n.content||a.timestamp!==n.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:o.saveThread({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],99438)},16625,e=>{"use strict";var t=e.i(71645),r=e.i(18566),a=e.i(99438);let n="agx-chat:last-thread";function s(){return void 0!==window.localStorage}function o(){if(s())try{window.localStorage.removeItem(n)}catch{}}let i=e=>[...e].sort((e,t)=>t.createdAt-e.createdAt);function l(e){let l=(0,r.useSearchParams)(),c=(0,t.useRef)(!0),[u,d]=(0,t.useState)([]),[f,h]=(0,t.useState)(null),[p,y]=(0,t.useState)(!0),[m,g]=(0,t.useState)(!0),[w,k]=(0,t.useState)(!1),[v,b]=(0,t.useState)(null),[S,j]=(0,t.useState)(null),C=(0,t.useRef)(!1),T=(0,t.useCallback)(e=>{h(e)},[]);(0,t.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,t.useEffect)(()=>{let t=!1;return(async()=>{try{var r;let u,f=(e||l.get("thread")||"").trim()||null,p=await a.threadService.listThreads();if(f&&!p.some(e=>e.id===f)){let e=await a.threadService.createThread({id:f});p=i([...p.filter(t=>t.id!==e.id),e])}if(t||!c.current)return;d(p);let y=f||function(){if(!s())return null;try{return window.localStorage.getItem(n)}catch{return null}}(),{threadId:m,shouldClearSavedId:g,restoredFromStorage:w}=(r=p,u=r[0]?.id??null,y?r.some(e=>e.id===y)?{threadId:y,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:u,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:u,shouldClearSavedId:!1,restoredFromStorage:!1});g&&o(),C.current||(C.current=!0),w&&m?T(m):m?h(e=>e??m):h(null)}catch(e){console.error("Failed to load threads",e)}finally{c.current&&(y(!1),g(!1))}})(),()=>{t=!0}},[T,l,e]),(0,t.useEffect)(()=>{if(C.current)if(f){if(s())try{window.localStorage.setItem(n,f)}catch{}}else o()},[f]);let I=(0,t.useCallback)(async e=>{k(!0);try{let t=await a.threadService.createThread(e);if(!c.current)return t;return d(e=>i([...e.filter(e=>e.id!==t.id),t])),h(t.id),t}catch(e){throw console.error("Failed to create thread",e),e}finally{c.current&&k(!1)}},[]),A=(0,t.useCallback)(async e=>{if(e){b(e);try{if(await a.threadService.deleteThread(e),!c.current)return;let t=[];d(r=>t=i(r.filter(t=>t.id!==e))),h(r=>r===e?t[0]?.id??null:r)}catch(e){throw console.error("Failed to delete thread",e),e}finally{c.current&&b(null)}}},[]),E=(0,t.useCallback)(async(e,t)=>{let r=e.trim(),n=t.trim();if(r&&n){j(r);try{let e=await a.threadService.renameThread(r,n);if(!e||!c.current)return;d(t=>i(t.map(t=>t.id===e.id?e:t)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{c.current&&j(e=>e===r?null:e)}}},[]),P=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.saveThreadMessages(e,t);if(!r||!c.current)return;d(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),M=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadStatus(e,t);if(!r||!c.current)return;d(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),_=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadOutcomeNote(e,t);if(!r||!c.current)return;d(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),O=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageThreadStatus(e,t,r);if(!n||!c.current)return;d(e=>i(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message thread status",e)}},[]),x=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageOutcomeNote(e,t,r);if(!n||!c.current)return;d(e=>i(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message outcome note",e)}},[]),N=null!==f&&v===f;return{threads:u,activeThreadId:f,selectThread:T,createThread:I,deleteThread:A,isLoading:p,isRestoringActiveThread:m,isCreating:w,deletingThreadId:v,renamingThreadId:S,isDeletingActiveThread:N,updateThreadMessages:P,renameThread:E,updateThreadStatus:M,updateThreadOutcomeNote:_,updateMessageThreadStatus:O,updateMessageOutcomeNote:x}}e.s(["useThreadState",()=>l],16625)},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)},18566,(e,t,r)=>{t.exports=e.r(76562)},74049,e=>{"use strict";var t=e.i(71645);function r(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!1),[s,o]=(0,t.useState)(null),i=(0,t.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{n(!1)}},[]);(0,t.useEffect)(()=>{i()},[i]);let l=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:s,refetch:i,createProject:l,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?n:t)),n},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!0),s=(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,n]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),n.ok&&(r=((await n.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{n(!1)}},[]);(0,t.useEffect)(()=>{s()},[s]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,n=a.name.trim(),s=(a.slug||n.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:n,slug:s})});if(!o.ok)return null;let{project:i}=await o.json(),l=Array.isArray(t)?t:t?[t]:[];for(let e of l)await fetch(`/api/projects/${i.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let c={...i,repos:i.repos??[],agents:[],thread_ids:l,workspace_ids:l};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),i=(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{}},[]),l=(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 n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...n,repos:n.repos??t.repos}:t)),n}catch{return null}},[]),u=(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 n=((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:n}:t))}catch{}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let n=((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:n}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:c,renameProject:i,deleteProject:l,addAgent:u,removeAgent:d,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 n=((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:n}: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 s()}catch{}},[s]),refresh:s}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},23385,e=>{"use strict";let t=(0,e.i(75254).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);e.s(["BrainCircuit",()=>t],23385)},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(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:i="",children:l,iconNode:c,...u},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:o?24*Number(s)/Number(a):s,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),o=(e,n)=>{let o=(0,t.forwardRef)(({className:o,...i},l)=>(0,t.createElement)(s,{ref:l,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=a(e),o};e.s(["default",()=>o],75254)},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 l},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});function s(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 i(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 l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),n=n.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${a}${c}${n}${u}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=s(e,a)),t&&(n.current=s(t,a))},[e,t])}function s(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 b},MissingStaticPage:function(){return v},NormalizeError:function(){return w},PageNotFoundError:function(){return k},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return s},execOnce:function(){return o},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return S}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();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 h(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 a=await e.getInitialProps(t);if(r&&f(r))return a;if(!a)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class w extends Error{}class k extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(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 s}});let a=e.r(18967),n=e.r(52817);function s(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},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 k}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(90809),o=e.r(18050),i=s._(e.r(71645)),l=e.r(61746),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let h=e.r(91949),p=e.r(73668),y=e.r(9396);function m(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let a,n,s,[l,g]=(0,i.useOptimistic)(h.IDLE_LINK_STATUS),k=(0,i.useRef)(null),{href:v,as:b,children:S,prefetch:j=null,passHref:C,replace:T,shallow:I,scroll:A,onClick:E,onMouseEnter:P,onTouchStart:M,legacyBehavior:_=!1,onNavigate:O,ref:x,unstable_dynamicOnHover:N,...R}=t;a=S,_&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let $=i.default.useContext(c.AppRouterContext),F=!1!==j,L=!1!==j?null===(r=j)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,{href:U,as:D}=i.default.useMemo(()=>{let e=m(v);return{href:e,as:b?m(b):e}},[v,b]);if(_){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=i.default.Children.only(a)}let z=_?n&&"object"==typeof n&&n.ref:x,q=i.default.useCallback(e=>(null!==$&&(k.current=(0,h.mountLinkInstance)(e,U,$,L,F,g)),()=>{k.current&&((0,h.unmountLinkForCurrentNavigation)(k.current),k.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,U,$,L,g]),V={ref:(0,u.useMergedRef)(q,z),onClick(t){_||"function"!=typeof E||E(t),_&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!$||t.defaultPrevented||function(t,r,a,n,s,o,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.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,p.isLocalURL)(r)){s&&(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);i.default.startTransition(()=>{d(a||r,s?"replace":"push",o??!0,n.current)})}}(t,U,D,k,T,A,O)},onMouseEnter(e){_||"function"!=typeof P||P(e),_&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),$&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===N)},onTouchStart:function(e){_||"function"!=typeof M||M(e),_&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),$&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===N)}};return(0,d.isAbsoluteUrl)(D)?V.href=D:_&&!C&&("a"!==n.type||"href"in n.props)||(V.href=(0,f.addBasePath)(D)),s=_?i.default.cloneElement(n,V):(0,o.jsx)("a",{...R,...V,children:a}),(0,o.jsx)(w.Provider,{value:l,children:s})}e.r(84508);let w=(0,i.createContext)(h.IDLE_LINK_STATUS),k=()=>(0,i.useContext)(w);("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)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},55838,(e,t,r)=>{"use strict";var a=e.r(71645),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=a.useState,o=a.useEffect,i=a.useLayoutEffect,l=a.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var u="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=s({inst:{value:r,getSnapshot:t}}),n=a[0].inst,u=a[1];return i(function(){n.value=r,n.getSnapshot=t,c(n)&&u({inst:n})},[e,r,t]),o(function(){return c(n)&&u({inst:n}),e(function(){c(n)&&u({inst:n})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var a=e.r(71645),n=e.r(2239),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useSyncExternalStore,i=a.useRef,l=a.useEffect,c=a.useMemo,u=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,n){var d=i(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=o(e,(d=c(function(){function e(e){if(!l){if(l=!0,o=e,e=a(e),void 0!==n&&f.hasValue){var t=f.value;if(n(t,e))return i=t}return i=e}if(t=i,s(o,e))return t;var r=a(e);return void 0!==n&&n(t,r)?(o=e,t):(o=e,i=r)}var o,i,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,a,n]))[0],d[1]);return l(function(){f.hasValue=!0,f.value=h},[h]),u(h),h}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},88081,e=>{"use strict";let t=(0,e.i(75254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},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])},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)},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)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16625,e=>{"use strict";var t=e.i(71645),r=e.i(18566),a=e.i(99438);let n="agx-chat:last-thread";function o(){return void 0!==window.localStorage}function i(){if(o())try{window.localStorage.removeItem(n)}catch{}}let s=e=>[...e].sort((e,t)=>t.createdAt-e.createdAt);function u(e){let u=(0,r.useSearchParams)(),c=(0,t.useRef)(!0),[l,d]=(0,t.useState)([]),[f,p]=(0,t.useState)(null),[h,m]=(0,t.useState)(!0),[y,g]=(0,t.useState)(!0),[v,w]=(0,t.useState)(!1),[j,b]=(0,t.useState)(null),[S,T]=(0,t.useState)(null),k=(0,t.useRef)(!1),C=(0,t.useCallback)(e=>{p(e)},[]);(0,t.useEffect)(()=>(c.current=!0,()=>{c.current=!1}),[]),(0,t.useEffect)(()=>{let t=!1;return(async()=>{try{var r;let l,f=(e||u.get("thread")||"").trim()||null,h=await a.threadService.listThreads();if(f&&!h.some(e=>e.id===f)){let e=await a.threadService.createThread({id:f});h=s([...h.filter(t=>t.id!==e.id),e])}if(t||!c.current)return;d(h);let m=f||function(){if(!o())return null;try{return window.localStorage.getItem(n)}catch{return null}}(),{threadId:y,shouldClearSavedId:g,restoredFromStorage:v}=(r=h,l=r[0]?.id??null,m?r.some(e=>e.id===m)?{threadId:m,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:l,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:l,shouldClearSavedId:!1,restoredFromStorage:!1});g&&i(),k.current||(k.current=!0),v&&y?C(y):y?p(e=>e??y):p(null)}catch(e){console.error("Failed to load threads",e)}finally{c.current&&(m(!1),g(!1))}})(),()=>{t=!0}},[C,u,e]),(0,t.useEffect)(()=>{if(k.current)if(f){if(o())try{window.localStorage.setItem(n,f)}catch{}}else i()},[f]);let E=(0,t.useCallback)(async e=>{w(!0);try{let t=await a.threadService.createThread(e);if(!c.current)return t;return d(e=>s([...e.filter(e=>e.id!==t.id),t])),p(t.id),t}catch(e){throw console.error("Failed to create thread",e),e}finally{c.current&&w(!1)}},[]),_=(0,t.useCallback)(async e=>{if(e){b(e);try{if(await a.threadService.deleteThread(e),!c.current)return;let t=[];d(r=>t=s(r.filter(t=>t.id!==e))),p(r=>r===e?t[0]?.id??null:r)}catch(e){throw console.error("Failed to delete thread",e),e}finally{c.current&&b(null)}}},[]),A=(0,t.useCallback)(async(e,t)=>{let r=e.trim(),n=t.trim();if(r&&n){T(r);try{let e=await a.threadService.renameThread(r,n);if(!e||!c.current)return;d(t=>s(t.map(t=>t.id===e.id?e:t)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{c.current&&T(e=>e===r?null:e)}}},[]),O=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.saveThreadMessages(e,t);if(!r||!c.current)return;d(e=>s(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),P=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadStatus(e,t);if(!r||!c.current)return;d(e=>s(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),N=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadOutcomeNote(e,t);if(!r||!c.current)return;d(e=>s(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),x=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageThreadStatus(e,t,r);if(!n||!c.current)return;d(e=>s(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message thread status",e)}},[]),I=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageOutcomeNote(e,t,r);if(!n||!c.current)return;d(e=>s(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message outcome note",e)}},[]),M=null!==f&&j===f;return{threads:l,activeThreadId:f,selectThread:C,createThread:E,deleteThread:_,isLoading:h,isRestoringActiveThread:y,isCreating:v,deletingThreadId:j,renamingThreadId:S,isDeletingActiveThread:M,updateThreadMessages:O,renameThread:A,updateThreadStatus:P,updateThreadOutcomeNote:N,updateMessageThreadStatus:x,updateMessageOutcomeNote:I}}e.s(["useThreadState",()=>u],16625)},99438,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata,status:a?.status,outcomeNote:a?.outcomeNote,projectId:"string"==typeof a?.projectId?a.projectId:"string"==typeof a?.teamId?a.teamId:a?.projectId===null||a?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function n(e){r().setItem(t,JSON.stringify(e))}function o(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let i=new class{async saveThread(e){let t=Date.now(),r=a(),i=r.threads[e.id],s=i?.createdAt??e.createdAt??t,u=e.updatedAt??t,c={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:s,updatedAt:u,status:e.status,outcomeNote:e.outcomeNote,projectId:e.projectId??e.teamId};return r.threads[e.id]=c,n(r),o(c)}async loadThread(e){let t=a().threads[e];return t?o(t):null}async listThreads(e){let t=Object.values(a().threads),r=e?.order??"desc",n=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),i=Math.max(0,e?.offset??0),s=e?.limit,u="number"==typeof s&&s>=0?n.slice(i,i+s):n.slice(i);return{total:t.length,threads:u.map(o)}}async deleteThread(e){let t=a();t.threads[e]&&(delete t.threads[e],n(t))}};e.s(["threadService",0,{listThreads:async()=>[...(await i.listThreads({order:"desc"})).threads.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createThread(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await i.loadThread(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return i.saveThread({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return i.saveThread(r)},async deleteThread(e){let t=e.trim();if(!t)return;let r=await i.loadThread(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await i.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameThread(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let n=await i.loadThread(r);return n?(n.title?.trim()??"")===a?n:i.saveThread({id:n.id,title:a,messages:n.messages,metadata:n.metadata,createdAt:n.createdAt}):null},async updateThreadStatus(e,t){let r=await i.loadThread(e);return r?r.status===t?r:i.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:t,outcomeNote:r.outcomeNote}):null},async updateThreadOutcomeNote(e,t){let r=await i.loadThread(e);return r?r.outcomeNote===t?r:i.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:t}):null},async updateMessageThreadStatus(e,t,r){let a=await i.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,threadStatus:r}:e);return i.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async updateMessageOutcomeNote(e,t,r){let a=await i.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,outcomeNote:r}:e);return i.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async saveThreadMessages(e,t){let r=await i.loadThread(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],n=t[r];if(a.id!==n.id||a.role!==n.role||a.participantId!==n.participantId||a.content!==n.content||a.timestamp!==n.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:i.saveThread({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],99438)},18566,(e,t,r)=>{t.exports=e.r(76562)},74049,e=>{"use strict";var t=e.i(71645);function r(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!1),[o,i]=(0,t.useState)(null),s=(0,t.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),i(null)}catch(e){i(e instanceof Error?e:Error("Unknown error"))}finally{n(!1)}},[]);(0,t.useEffect)(()=>{s()},[s]);let u=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:o,refetch:s,createProject:u,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?n:t)),n},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!0),o=(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,n]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),n.ok&&(r=((await n.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{n(!1)}},[]);(0,t.useEffect)(()=>{o()},[o]);let i=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,n=a.name.trim(),o=(a.slug||n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),i=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:n,slug:o})});if(!i.ok)return null;let{project:s}=await i.json(),u=Array.isArray(t)?t:t?[t]:[];for(let e of u)await fetch(`/api/projects/${s.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let c={...s,repos:s.repos??[],agents:[],thread_ids:u,workspace_ids:u};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),s=(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{}},[]),u=(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 n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...n,repos:n.repos??t.repos}:t)),n}catch{return null}},[]),l=(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 n=((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:n}:t))}catch{}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let n=((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:n}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:i,updateProject:c,renameProject:s,deleteProject:u,addAgent:l,removeAgent:d,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 n=((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:n}: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 o()}catch{}},[o]),refresh:o}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},23385,e=>{"use strict";let t=(0,e.i(75254).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);e.s(["BrainCircuit",()=>t],23385)},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(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:s="",children:u,iconNode:c,...l},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:i?24*Number(o)/Number(a):o,className:r("lucide",s),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(l)&&{"aria-hidden":"true"},...l},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])),i=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...s},u)=>(0,t.createElement)(o,{ref:u,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=a(e),i};e.s(["default",()=>i],75254)},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 u},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});function o(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,i(e));else t.set(r,i(a));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return s},formatWithValidation:function(){return c},urlObjectKeys:function(){return u}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",s=e.hash||"",u=e.query||"",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)),u&&"object"==typeof u&&(u=String(o.urlQueryToSearchParams(u)));let l=e.search||u&&`?${u}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||i.test(a))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),s&&"#"!==s[0]&&(s="#"+s),l&&"?"!==l[0]&&(l="?"+l),n=n.replace(/[?#]/g,encodeURIComponent),l=l.replace("#","%23"),`${a}${c}${n}${l}${s}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return s(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(71645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=o(e,a)),t&&(n.current=o(t,a))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return j},NormalizeError:function(){return v},PageNotFoundError:function(){return w},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return l},isAbsoluteUrl:function(){return u},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return S}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>s.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function l(){let{href:e}=window.location,t=c();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 p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&f(r))return a;if(!a)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class w 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 b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(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 o}});let a=e.r(18967),n=e.r(52817);function o(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},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 w}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(90809),i=e.r(18050),s=o._(e.r(71645)),u=e.r(61746),c=e.r(8372),l=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),h=e.r(73668),m=e.r(9396);function y(e){return"string"==typeof e?e:(0,u.formatUrl)(e)}function g(t){var r;let a,n,o,[u,g]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:j,as:b,children:S,prefetch:T=null,passHref:k,replace:C,shallow:E,scroll:_,onClick:A,onMouseEnter:O,onTouchStart:P,legacyBehavior:N=!1,onNavigate:x,ref:I,unstable_dynamicOnHover:M,...$}=t;a=S,N&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let L=s.default.useContext(c.AppRouterContext),R=!1!==T,F=!1!==T?null===(r=T)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:U,as:D}=s.default.useMemo(()=>{let e=y(j);return{href:e,as:b?y(b):e}},[j,b]);if(N){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=s.default.Children.only(a)}let J=N?n&&"object"==typeof n&&n.ref:I,B=s.default.useCallback(e=>(null!==L&&(w.current=(0,p.mountLinkInstance)(e,U,L,F,R,g)),()=>{w.current&&((0,p.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,p.unmountPrefetchableInstance)(e)}),[R,U,L,F,g]),z={ref:(0,l.useMergedRef)(B,J),onClick(t){N||"function"!=typeof A||A(t),N&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!L||t.defaultPrevented||function(t,r,a,n,o,i,u){if("u">typeof window){let c,{nodeName:l}=t.currentTarget;if("A"===l.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,h.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),u){let e=!1;if(u({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(a||r,o?"replace":"push",i??!0,n.current)})}}(t,U,D,w,C,_,x)},onMouseEnter(e){N||"function"!=typeof O||O(e),N&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),L&&R&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){N||"function"!=typeof P||P(e),N&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),L&&R&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(D)?z.href=D:N&&!k&&("a"!==n.type||"href"in n.props)||(z.href=(0,f.addBasePath)(D)),o=N?s.default.cloneElement(n,z):(0,i.jsx)("a",{...$,...z,children:a}),(0,i.jsx)(v.Provider,{value:u,children:o})}e.r(84508);let v=(0,s.createContext)(p.IDLE_LINK_STATUS),w=()=>(0,s.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},55838,(e,t,r)=>{"use strict";var a=e.r(71645),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=a.useState,i=a.useEffect,s=a.useLayoutEffect,u=a.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var l="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=o({inst:{value:r,getSnapshot:t}}),n=a[0].inst,l=a[1];return s(function(){n.value=r,n.getSnapshot=t,c(n)&&l({inst:n})},[e,r,t]),i(function(){return c(n)&&l({inst:n}),e(function(){c(n)&&l({inst:n})})},[e]),u(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:l},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var a=e.r(71645),n=e.r(2239),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=n.useSyncExternalStore,s=a.useRef,u=a.useEffect,c=a.useMemo,l=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,n){var d=s(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=i(e,(d=c(function(){function e(e){if(!u){if(u=!0,i=e,e=a(e),void 0!==n&&f.hasValue){var t=f.value;if(n(t,e))return s=t}return s=e}if(t=s,o(i,e))return t;var r=a(e);return void 0!==n&&n(t,r)?(i=e,t):(i=e,s=r)}var i,s,u=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,a,n]))[0],d[1]);return u(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},88081,e=>{"use strict";let t=(0,e.i(75254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99438,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata,status:a?.status,outcomeNote:a?.outcomeNote,projectId:"string"==typeof a?.projectId?a.projectId:"string"==typeof a?.teamId?a.teamId:a?.projectId===null||a?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function s(e){r().setItem(t,JSON.stringify(e))}function n(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let o=new class{async saveThread(e){let t=Date.now(),r=a(),o=r.threads[e.id],i=o?.createdAt??e.createdAt??t,l=e.updatedAt??t,d={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:i,updatedAt:l,status:e.status,outcomeNote:e.outcomeNote,projectId:e.projectId??e.teamId};return r.threads[e.id]=d,s(r),n(d)}async loadThread(e){let t=a().threads[e];return t?n(t):null}async listThreads(e){let t=Object.values(a().threads),r=e?.order??"desc",s=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),o=Math.max(0,e?.offset??0),i=e?.limit,l="number"==typeof i&&i>=0?s.slice(o,o+i):s.slice(o);return{total:t.length,threads:l.map(n)}}async deleteThread(e){let t=a();t.threads[e]&&(delete t.threads[e],s(t))}};e.s(["threadService",0,{listThreads:async()=>[...(await o.listThreads({order:"desc"})).threads.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createThread(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await o.loadThread(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return o.saveThread({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return o.saveThread(r)},async deleteThread(e){let t=e.trim();if(!t)return;let r=await o.loadThread(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameThread(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let s=await o.loadThread(r);return s?(s.title?.trim()??"")===a?s:o.saveThread({id:s.id,title:a,messages:s.messages,metadata:s.metadata,createdAt:s.createdAt}):null},async updateThreadStatus(e,t){let r=await o.loadThread(e);return r?r.status===t?r:o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:t,outcomeNote:r.outcomeNote}):null},async updateThreadOutcomeNote(e,t){let r=await o.loadThread(e);return r?r.outcomeNote===t?r:o.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:t}):null},async updateMessageThreadStatus(e,t,r){let a=await o.loadThread(e);if(!a)return null;let s=a.messages.map(e=>e.id===t?{...e,threadStatus:r}:e);return o.saveThread({id:a.id,title:a.title,messages:s,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async updateMessageOutcomeNote(e,t,r){let a=await o.loadThread(e);if(!a)return null;let s=a.messages.map(e=>e.id===t?{...e,outcomeNote:r}:e);return o.saveThread({id:a.id,title:a.title,messages:s,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async saveThreadMessages(e,t){let r=await o.loadThread(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],s=t[r];if(a.id!==s.id||a.role!==s.role||a.participantId!==s.participantId||a.content!==s.content||a.timestamp!==s.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:o.saveThread({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],99438)},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),i=(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)(()=>{i()},[i]);let l=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:n,refetch:i,createProject:l,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}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:i}=await o.json(),l=Array.isArray(t)?t:t?[t]:[];for(let e of l)await fetch(`/api/projects/${i.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let d={...i,repos:i.repos??[],agents:[],thread_ids:l,workspace_ids:l};return r(e=>[...e,d].sort((e,t)=>e.name.localeCompare(t.name))),d}catch{return null}},[]),i=(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{}},[]),l=(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{}},[]),d=(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}},[]),c=(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:d,renameProject:i,deleteProject:l,addAgent:c,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])},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(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:l,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:o?24*Number(n)/Number(a):n,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),o=(e,s)=>{let o=(0,t.forwardRef)(({className:o,...i},l)=>(0,t.createElement)(n,{ref:l,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=a(e),o};e.s(["default",()=>o],75254)},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 l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return i}};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 i(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 l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},61746,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return i},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};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 i(e){let{auth:t,hostname:r}=e,a=e.protocol||"",s=e.pathname||"",i=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==d?(d="//"+(d||""),s&&"/"!==s[0]&&(s="/"+s)):d||(d=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${a}${d}${s}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return i(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 j},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return f},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return u},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return x},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return w}};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 i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function 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 x(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await x(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 f="u">typeof performance,h=f&&["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 w(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 y}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(90809),o=e.r(18050),i=n._(e.r(71645)),l=e.r(61746),d=e.r(8372),c=e.r(18581),u=e.r(18967),p=e.r(5550);e.r(33525);let m=e.r(91949),x=e.r(73668),f=e.r(9396);function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let a,s,n,[l,g]=(0,i.useOptimistic)(m.IDLE_LINK_STATUS),y=(0,i.useRef)(null),{href:b,as:j,children:w,prefetch:N=null,passHref:k,replace:S,shallow:C,scroll:A,onClick:T,onMouseEnter:E,onTouchStart:_,legacyBehavior:P=!1,onNavigate:O,ref:z,unstable_dynamicOnHover:I,...$}=t;a=w,P&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let L=i.default.useContext(d.AppRouterContext),M=!1!==N,U=!1!==N?null===(r=N)||"auto"===r?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:D,as:R}=i.default.useMemo(()=>{let e=h(b);return{href:e,as:j?h(j):e}},[b,j]);if(P){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=i.default.Children.only(a)}let F=P?s&&"object"==typeof s&&s.ref:z,B=i.default.useCallback(e=>(null!==L&&(y.current=(0,m.mountLinkInstance)(e,D,L,U,M,g)),()=>{y.current&&((0,m.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,m.unmountPrefetchableInstance)(e)}),[M,D,L,U,g]),J={ref:(0,c.useMergedRef)(B,F),onClick(t){P||"function"!=typeof T||T(t),P&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!L||t.defaultPrevented||function(t,r,a,s,n,o,l){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,x.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);i.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,D,R,y,S,A,O)},onMouseEnter(e){P||"function"!=typeof E||E(e),P&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),L&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){P||"function"!=typeof _||_(e),P&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),L&&M&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,u.isAbsoluteUrl)(R)?J.href=R:P&&!k&&("a"!==s.type||"href"in s.props)||(J.href=(0,p.addBasePath)(R)),n=P?i.default.cloneElement(s,J):(0,o.jsx)("a",{...$,...J,children:a}),(0,o.jsx)(v.Provider,{value:l,children:n})}e.r(84508);let v=(0,i.createContext)(m.IDLE_LINK_STATUS),y=()=>(0,i.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)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},55838,(e,t,r)=>{"use strict";var a=e.r(71645),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useState,o=a.useEffect,i=a.useLayoutEffect,l=a.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=n({inst:{value:r,getSnapshot:t}}),s=a[0].inst,c=a[1];return i(function(){s.value=r,s.getSnapshot=t,d(s)&&c({inst:s})},[e,r,t]),o(function(){return d(s)&&c({inst:s}),e(function(){d(s)&&c({inst:s})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:c},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var a=e.r(71645),s=e.r(2239),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=s.useSyncExternalStore,i=a.useRef,l=a.useEffect,d=a.useMemo,c=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,s){var u=i(null);if(null===u.current){var p={hasValue:!1,value:null};u.current=p}else p=u.current;var m=o(e,(u=d(function(){function e(e){if(!l){if(l=!0,o=e,e=a(e),void 0!==s&&p.hasValue){var t=p.value;if(s(t,e))return i=t}return i=e}if(t=i,n(o,e))return t;var r=a(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,i=r)}var o,i,l=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,a,s]))[0],u[1]);return l(function(){p.hasValue=!0,p.value=m},[m]),c(m),m}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},63059,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],63059)},88081,e=>{"use strict";let t=(0,e.i(75254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},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)},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)},61628,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(22016),s=e.i(71689),n=e.i(64659),o=e.i(63059),i=e.i(74886),l=e.i(43531),d=e.i(40160),c=e.i(75254);let u=(0,c.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var p=e.i(88081),m=e.i(88699),x=e.i(7233);let f=(0,c.default)("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),h=(0,c.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var g=e.i(61911),v=e.i(37727),y=e.i(74049),b=e.i(25459),j=e.i(99438);function w(e){return e?e.projects??[]:[]}function N(){let[e,c]=(0,r.useState)([]),[N,k]=(0,r.useState)([]),{projects:S,createProject:C,addAgent:A,removeAgent:T,refresh:E}=(0,y.useProjectsWithAgents)(),[_,P]=(0,r.useState)(new Set),[O,z]=(0,r.useState)(null),[I,$]=(0,r.useState)(new Set),[L,M]=(0,r.useState)(!1),[U,D]=(0,r.useState)(null),[R,F]=(0,r.useState)(!1),[B,J]=(0,r.useState)(new Set),[H,K]=(0,r.useState)(!0),[W,X]=(0,r.useState)(!1),[V,q]=(0,r.useState)(null),[Z,Q]=(0,r.useState)(null),[G,Y]=(0,r.useState)(!1),[ee,et]=(0,r.useState)(!1),[er,ea]=(0,r.useState)("choice"),[es,en]=(0,r.useState)(""),[eo,ei]=(0,r.useState)(!1),[el,ed]=(0,r.useState)(null),[ec,eu]=(0,r.useState)(new Set),[ep,em]=(0,r.useState)(new Set),[ex,ef]=(0,r.useState)(!1),[eh,eg]=(0,r.useState)(null),ev=(0,r.useRef)(null),[ey,eb]=(0,r.useState)(new Set),ej=()=>{fetch("/api/participants").then(e=>e.json()).then(e=>c(Array.isArray(e)?e:[]))},ew=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/processes");if(!e.ok)return;let t=await e.json();eb(new Set(t.filter(e=>"spawning"===e.state||"running"===e.state).map(e=>e.agentId)))}catch{}},[]);(0,r.useEffect)(()=>{ej(),j.threadService.listThreads().then(k),ew();let e=setInterval(ew,3e3);return()=>clearInterval(e)},[ew]);let eN=new Map(N.map(e=>[e.id,e])),ek=S.filter(e=>!e.is_default),eS=async()=>{if(0!==B.size){X(!0);try{let e=await fetch("/api/agent-specs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:Array.from(B),includeSelf:H})});if(!e.ok)throw Error("Share failed");let t=await e.json();q(t.code),Q(t.expires_at)}catch(e){console.error("Share error:",e)}finally{X(!1)}}},eC=async()=>{if(0!==B.size){X(!0);try{let e=Array.from(B),t=await fetch("/api/agents/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentIds:e})});if(!t.ok)throw Error("Export failed");let r=(await t.json()).agents.map(e=>({...e,self:H?e.self:null})),a={version:1,exportedAt:new Date().toISOString(),agents:r,projects:[]},s=new Blob([JSON.stringify(a,null,2)],{type:"application/json"}),n=URL.createObjectURL(s),o=document.createElement("a");o.href=n,o.download=1===r.length?`${r[0].name.toLowerCase().replace(/\s+/g,"-")}.agent.json`:"agents.bundle.json",o.click(),URL.revokeObjectURL(n),F(!1)}catch(e){console.error("Export error:",e)}finally{X(!1)}}},eA=async()=>{if(0!==es.trim().length){ei(!0),eg(null),ed(null);try{let e=await fetch(`/api/agent-specs/pull?code=${encodeURIComponent(es.trim())}`);if(!e.ok){let t=await e.json().catch(()=>({error:"Failed to pull"}));eg(t.error||"Code not found or expired");return}let t=(await e.json()).bundle;ed(t),eu(new Set(t.agents.map(e=>e.id))),em(new Set(w(t).map(e=>e.name)))}catch{eg("Failed to connect. Is agx-api running?")}finally{ei(!1)}}},eT=async()=>{if(el){ef(!0);try{let t=new Set(e.map(e=>e.id));for(let e of el.agents){if(!ec.has(e.id))continue;let r={name:e.name,provider:e.provider,model:e.model,color:e.color,identity:e.identity||void 0,identityFile:e.identityFile||void 0,skills:e.skills||[],variables:e.variables||{}};t.has(e.id)?(r.id=e.id,await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})):await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}for(let e of w(el)){if(!ep.has(e.name))continue;let t=await C(e.name);if(t)for(let r of e.agentIds)ec.has(r)&&await A(t.id,r)}ej(),await E(),et(!1),ed(null)}catch(e){console.error("Import error:",e),eg("Import failed. Check console for details.")}finally{ef(!1)}}},eE=O?S.find(e=>e.id===O.projectId):null,e_=new Set(eE?.agents.map(e=>e.agent_id)??[]),eP=O?e.filter(e=>!e_.has(e.id)):[],eO=({checked:e})=>(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${e?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--app-shell-soft-text)]"}`,children:e&&(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"})})});return(0,t.jsxs)("div",{className:"min-h-screen bg-[var(--secondary)] p-6",children:[(0,t.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,t.jsxs)(a.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",children:[(0,t.jsx)(s.ArrowLeft,{size:16}),"Back"]}),(0,t.jsx)("h1",{className:"text-2xl font-semibold text-[var(--foreground)]",children:"Manage Agents"}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 transition-colors",onClick:()=>M(!0),children:[(0,t.jsx)(x.Plus,{size:13}),"New Agent"]}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 transition-colors",onClick:()=>{J(new Set(e.map(e=>e.id))),K(!0),q(null),Q(null),Y(!1),F(!0)},disabled:0===e.length,children:[(0,t.jsx)(f,{size:13}),"Share"]}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-violet-600 bg-violet-50 border border-violet-200 rounded-lg hover:bg-violet-100 transition-colors",onClick:()=>{ea("choice"),en(""),ed(null),eu(new Set),em(new Set),eg(null),et(!0)},children:[(0,t.jsx)(d.Download,{size:13}),"Import"]}),(0,t.jsx)("input",{ref:ev,type:"file",accept:".json",className:"hidden",onChange:e=>{let t=e.target.files?.[0];if(!t)return;eg(null);let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||!Array.isArray(e.agents))throw Error("Invalid bundle format");ed(e),eu(new Set(e.agents.map(e=>e.id))),em(new Set(w(e).map(e=>e.name)))}catch{eg("Invalid file. Expected an .agent.json bundle.")}},r.readAsText(t),e.target.value=""}})]})]}),eh&&!ee&&(0,t.jsxs)("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-50 border border-red-200 text-sm text-red-700 flex items-center justify-between",children:[(0,t.jsx)("span",{children:eh}),(0,t.jsx)("button",{type:"button",onClick:()=>eg(null),className:"text-red-400 hover:text-red-600",children:(0,t.jsx)(v.X,{size:14})})]}),0===e.length?(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm",children:"No agents configured yet."}):(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:e.map(e=>(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] p-4 hover:shadow-md transition-shadow text-left group",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 mb-3",children:[(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(e.id,48,e.color),alt:e.name,className:"w-12 h-12 rounded-full bg-[var(--secondary)]"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-[var(--foreground)] truncate",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] truncate mt-0.5",children:e.model}),ey.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 mt-1 text-[10px] font-medium text-emerald-600",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Working"]})]})]}),e.skills&&e.skills.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-1 mb-3",children:[e.skills.slice(0,3).map((e,r)=>(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-blue-50 text-blue-600 truncate max-w-[120px]",children:e.file.split("/").pop()},r)),e.skills.length>3&&(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-[var(--secondary)] text-[var(--app-shell-soft-text)]",children:["+",e.skills.length-3]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between pt-2 border-t border-[var(--border)]",children:[(0,t.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-[var(--secondary)] text-[var(--muted-foreground)] uppercase tracking-wide",children:e.provider}),(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{type:"button",title:"Edit",onClick:()=>D(e),className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,t.jsx)(m.Pencil,{size:13})}),(0,t.jsx)(a.default,{href:`/agents/${e.id}`,title:"View profile",className:"p-1.5 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] rounded hover:bg-[var(--item-hover-bg)] transition-colors",children:(0,t.jsx)(u,{size:13})})]})]})]},e.id))}),(0,t.jsxs)("div",{className:"mt-10",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold text-[var(--foreground)]",children:"Project assignments"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-[var(--app-shell-soft-text)]",children:"Assign agents to existing projects."})]}),0===ek.length?(0,t.jsx)("p",{className:"text-sm text-[var(--app-shell-soft-text)]",children:"No projects available for assignment."}):(0,t.jsx)("div",{className:"bg-[var(--card-bg)] rounded-xl border border-[var(--border)] divide-y divide-[var(--border)]",children:ek.map(r=>{let a=_.has(r.id),s=(r.thread_ids??[]).map(e=>eN.get(e)?.title?.trim()||"Untitled").filter(Boolean);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3.5 group",children:[(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 flex-1 min-w-0 text-left",onClick:()=>{var e;return e=r.id,void P(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},children:[a?(0,t.jsx)(n.ChevronDown,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}):(0,t.jsx)(o.ChevronRight,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,t.jsx)(g.Users,{size:16,className:"text-[var(--app-shell-soft-text)] flex-shrink-0"}),(0,t.jsx)("span",{className:"font-medium text-[var(--foreground)] text-sm",children:r.name}),(0,t.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)]",children:[r.agents.length," ",1===r.agents.length?"agent":"agents",s.length>0&&` \xb7 ${s.length} ${1===s.length?"thread":"threads"}`]})]}),(0,t.jsx)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]",title:"Add agents",onClick:()=>{$(new Set),z({projectId:r.id})},children:[(0,t.jsx)(x.Plus,{size:14}),"Add agents"]})})]}),a&&(0,t.jsxs)("div",{className:"px-5 pb-4 pt-1 ml-9 flex flex-col gap-1",children:[0===r.agents.length&&(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-soft-text)] py-1",children:"No agents in this project."}),r.agents.map(a=>{let s=e.find(e=>e.id===a.agent_id);return(0,t.jsxs)("div",{className:"flex items-center gap-2.5 py-1.5 group/agent",children:[(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(a.agent_id,24,s?.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"text-sm text-[var(--secondary-foreground)] truncate flex-1",children:s?.name??a.agent_id}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:s?.model}),(0,t.jsx)("button",{type:"button",className:"opacity-0 group-hover/agent:opacity-100 text-[var(--app-shell-soft-text)] hover:text-red-500 transition-opacity",onClick:()=>void T(r.id,a.agent_id),title:"Remove from project",children:(0,t.jsx)(v.X,{size:14})})]},a.agent_id)}),(0,t.jsxs)("button",{type:"button",className:"mt-2 inline-flex items-center gap-1.5 self-start rounded-lg border border-[var(--border)] px-2.5 py-1.5 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--item-hover-bg)] hover:text-[var(--foreground)]",onClick:()=>{$(new Set),z({projectId:r.id})},children:[(0,t.jsx)(x.Plus,{size:12}),"Add agents"]}),s.length>0&&(0,t.jsxs)("div",{className:"mt-2 pt-2 border-t border-[var(--border)]",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-1",children:"Threads"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map((e,r)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-1 rounded-md bg-indigo-50 text-indigo-600",children:[(0,t.jsx)(p.Hash,{size:11}),e]},r))})]})]})]},r.id)})})]})]}),R&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>F(!1),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Share Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>F(!1),children:(0,t.jsx)(v.X,{size:16})})]}),V?(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-4",children:[(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] mb-3",children:"Share this code with the recipient:"}),(0,t.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,t.jsx)("span",{className:"text-3xl font-mono font-bold tracking-[0.3em] text-[var(--foreground)]",children:V}),(0,t.jsx)("button",{type:"button",className:"p-2 text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] transition-colors",onClick:()=>{V&&(navigator.clipboard.writeText(V),Y(!0),setTimeout(()=>Y(!1),2e3))},children:G?(0,t.jsx)(l.Check,{size:18,className:"text-green-500"}):(0,t.jsx)(i.Copy,{size:18})})]})]}),Z&&(0,t.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Expires ",new Date(Z).toLocaleTimeString()]}),(0,t.jsx)("button",{type:"button",className:"px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors",onClick:()=>F(!1),children:"Done"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"overflow-y-auto flex-1",children:[ek.length>0&&(0,t.jsxs)("div",{className:"border-b border-[var(--border)] px-5 py-3",children:[(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide mb-2",children:"Select by project"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ek.map(r=>{let a=r.agents.map(e=>e.agent_id),s=a.length>0&&a.every(e=>B.has(e)),n=a.some(e=>B.has(e));return(0,t.jsxs)("button",{type:"button",className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-[11px] font-medium transition-colors ${s?"bg-[var(--foreground)] text-white":n?"bg-[var(--app-shell-soft-text)] text-[var(--secondary-foreground)]":"bg-[var(--secondary)] text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{J(e=>{let t=new Set(e);return s?a.forEach(e=>t.delete(e)):a.forEach(e=>t.add(e)),t})},title:a.map(t=>e.find(e=>e.id===t)?.name??t).join(", "),children:[(0,t.jsx)(g.Users,{size:10}),r.name,(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:r.agents.length})]},r.id)})})]}),(0,t.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,t.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:"Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{B.size===e.length?J(new Set):J(new Set(e.map(e=>e.id)))},children:B.size===e.length?"Deselect all":"Select all"})]}),e.map(e=>{let r=B.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${r?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{J(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(eO,{checked:r}),(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:e.name}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)]",children:e.provider})]},e.id)})]}),(0,t.jsx)("div",{className:"px-5 py-3",children:(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-3 w-full px-3 py-2 rounded-lg text-sm transition-colors ${H?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>K(!H),children:[(0,t.jsx)(eO,{checked:H}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Include self.md (agent bio)"})]})})]}),(0,t.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:[B.size," ",1===B.size?"agent":"agents"]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("button",{type:"button",disabled:0===B.size||W,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--card-bg)] border border-[var(--border)] rounded-lg hover:bg-[var(--item-hover-bg)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eC(),children:[(0,t.jsx)(d.Download,{size:12}),W?"Exporting...":"Export to File"]}),(0,t.jsxs)("button",{type:"button",disabled:0===B.size||W,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eS(),children:[(0,t.jsx)(f,{size:12}),W?"Pushing...":"Push to Hub"]}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>F(!1),children:"Cancel"})]})]})]})]})}),O&&!L&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>z(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 ",eE?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>z(null),children:(0,t.jsx)(v.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(--secondary-foreground)] hover:bg-[var(--item-hover-bg)] transition-colors border-b border-[var(--border)]",onClick:()=>M(!0),children:[(0,t.jsx)(x.Plus,{size:14,className:"text-[var(--app-shell-soft-text)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eP.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--app-shell-soft-text)] text-center",children:"All agents are already in this project"}):eP.map(e=>{let r=I.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(--secondary)] text-[var(--foreground)]":"text-[var(--secondary-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{$(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)(eO,{checked:r}),(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsx)("div",{className:"min-w-0 flex-1 text-left",children:(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name})})]},e.id)})]}),eP.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(--secondary-foreground)] transition-colors",onClick:()=>z(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===I.size,className:"px-3 py-1.5 text-xs font-medium text-white bg-[var(--foreground)] rounded-lg hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of I)A(O.projectId,e);z(null)},children:["Add ",I.size>0?`(${I.size})`:""]})]})]})}),L&&(0,t.jsx)(b.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[]},submitLabel:"Create",projects:ek.map(e=>{let t=(e.thread_ids??[]).map(e=>eN.get(e)?.title?.trim()).filter(Boolean).join(", ")||"No thread";return{id:e.id,name:e.name,label:`${t} › ${e.name}`}}),initialProjectIds:O?[O.projectId]:[],onSubmit:async(t,r)=>{let a=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],s=a[e.length%a.length],n=t.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),o=r?.[0],i=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:n,name:t.name,provider:t.provider,model:t.model,color:t.color??s,...t.identity?{identity:t.identity}:{},skills:t.skills??[],...o?{projectId:o}:{}})});if(i.ok){let e=await i.json().catch(()=>({})),t="string"==typeof e?.id&&e.id.trim()?e.id.trim():n;for(let e of(r??[]).slice(1))await A(e,t);M(!1),z(null),ej(),E()}},onCancel:()=>{M(!1)}}),U&&(0,t.jsx)(b.AgentForm,{title:"Edit agent",initial:{name:U.name,provider:U.provider,model:U.model||"",identity:U.identity||"",color:U.color,skills:U.skills||[]},agentId:U.id,submitLabel:"Save",projectMemberships:{current:S.filter(e=>e.agents.some(e=>e.agent_id===U.id)).map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:S.filter(e=>!e.agents.some(e=>e.agent_id===U.id)).map(e=>({id:e.id,name:e.name}))},onAddToProject:e=>A(e,U.id),onRemoveFromProject:e=>T(e,U.id),onSubmit:async e=>{await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:U.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[]})}),D(null),ej()},onCancel:()=>D(null)}),ee&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>et(!1),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-[440px] max-h-[80vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:"Import Agents"}),(0,t.jsx)("button",{type:"button",className:"text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>et(!1),children:(0,t.jsx)(v.X,{size:16})})]}),"choice"===er&&!el&&(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col gap-3",children:[(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-violet-300 hover:bg-violet-50 transition-colors text-left",onClick:()=>ea("pull"),children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-lg bg-violet-100 flex items-center justify-center flex-shrink-0",children:(0,t.jsx)(d.Download,{size:16,className:"text-violet-600"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Pull from Hub"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Enter a share code to import agents"})]})]}),(0,t.jsxs)("button",{type:"button",className:"flex items-center gap-3 px-4 py-3.5 rounded-lg border border-[var(--border)] hover:border-[var(--border)] hover:bg-[var(--item-hover-bg)] transition-colors text-left",onClick:()=>{ea("file"),setTimeout(()=>ev.current?.click(),100)},children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-lg bg-[var(--secondary)] flex items-center justify-center flex-shrink-0",children:(0,t.jsx)(h,{size:16,className:"text-[var(--muted-foreground)]"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-[var(--foreground)]",children:"Upload File"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:"Import from a .agent.json bundle"})]})]})]}),"pull"===er&&!el&&(0,t.jsxs)("div",{className:"px-5 py-5 flex flex-col gap-3",children:[(0,t.jsx)("label",{className:"text-sm text-[var(--muted-foreground)]",children:"Enter share code:"}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:es,onChange:e=>en(e.target.value.toUpperCase()),placeholder:"e.g. A3X9K2",maxLength:6,className:"w-full px-3 py-2.5 text-center text-2xl font-mono font-bold tracking-[0.3em] border border-[var(--border)] rounded-lg outline-none focus:border-violet-400 focus:ring-1 focus:ring-violet-200 transition-all bg-[var(--card-bg)] text-[var(--foreground)]",onKeyDown:e=>{"Enter"===e.key&&eA()}}),eh&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:eh}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 mt-1",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--secondary-foreground)] transition-colors",onClick:()=>{ea("choice"),eg(null)},children:"Back"}),(0,t.jsx)("button",{type:"button",disabled:0===es.trim().length||eo,className:"px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eA(),children:eo?"Fetching...":"Fetch"})]})]}),"file"===er&&!el&&(0,t.jsxs)("div",{className:"px-5 py-6 flex flex-col items-center gap-3",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Select a .agent.json file to import"}),(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-[var(--muted-foreground)] bg-[var(--secondary)] rounded-lg hover:bg-[var(--item-hover-bg)] transition-colors",onClick:()=>ev.current?.click(),children:[(0,t.jsx)(h,{size:13}),"Choose File"]}),eh&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:eh}),(0,t.jsx)("button",{type:"button",className:"text-xs text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)] mt-1",onClick:()=>{ea("choice"),eg(null)},children:"Back"})]}),el&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"overflow-y-auto flex-1",children:[el.exportedAt&&(0,t.jsx)("div",{className:"px-5 py-3 border-b border-[var(--border)] bg-[var(--secondary)]",children:(0,t.jsxs)("p",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:["Exported ",new Date(el.exportedAt).toLocaleDateString()," · ",el.agents.length," agents",w(el).length>0?`, ${w(el).length} projects`:""]})}),(0,t.jsxs)("div",{className:"border-b border-[var(--border)]",children:[(0,t.jsxs)("div",{className:"px-5 pt-3 pb-1 flex items-center justify-between",children:[(0,t.jsxs)("p",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)] uppercase tracking-wide",children:[el.agents.length," agent",1===el.agents.length?"":"s"," found"]}),(0,t.jsx)("button",{type:"button",className:"text-[11px] text-[var(--app-shell-soft-text)] hover:text-[var(--muted-foreground)]",onClick:()=>{ec.size===el.agents.length?eu(new Set):eu(new Set(el.agents.map(e=>e.id)))},children:ec.size===el.agents.length?"Deselect all":"Select all"})]}),el.agents.map(r=>{let a=ec.has(r.id),s=e.find(e=>e.id===r.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2.5 text-sm transition-colors ${a?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--item-hover-bg)]"}`,onClick:()=>{eu(e=>{let t=new Set(e);return t.has(r.id)?t.delete(r.id):t.add(r.id),t})},children:[(0,t.jsx)(eO,{checked:a}),(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(r.id,24,r.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 text-xs font-medium",children:r.name}),(0,t.jsxs)("div",{className:"truncate text-[10px] text-[var(--app-shell-soft-text)]",children:[r.provider,r.model?` \xb7 ${r.model}`:""]})]}),s&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-50 text-amber-600 flex-shrink-0",children:"update"}),!s&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-green-50 text-green-600 flex-shrink-0",children:"new"}),r.self&&(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex-shrink-0",children:"+ self.md"})]},r.id)})]}),w(el).length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"px-5 pt-3 pb-1",children:(0,t.jsx)("p",{className:"text-[11px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Projects"})}),w(el).map(e=>{let r=ep.has(e.name);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-5 py-2 text-sm transition-colors ${r?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{em(t=>{let r=new Set(t);return r.has(e.name)?r.delete(e.name):r.add(e.name),r})},children:[(0,t.jsx)(eO,{checked:r}),(0,t.jsx)(g.Users,{size:14,className:"text-[var(--muted-foreground)] flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium flex-1",children:e.name}),(0,t.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)]",children:[e.agentIds.length," agents"]})]},e.name)})]})]}),eh&&(0,t.jsx)("div",{className:"px-5 py-2",children:(0,t.jsx)("p",{className:"text-xs text-red-500",children:eh})}),(0,t.jsxs)("div",{className:"px-5 py-3 border-t border-[var(--border)] flex items-center justify-between",children:[(0,t.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:[ec.size," ",1===ec.size?"agent":"agents",ep.size>0?`, ${ep.size} ${1===ep.size?"project":"projects"}`:""]}),(0,t.jsxs)("div",{className:"flex 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:()=>{ed(null),eu(new Set),em(new Set)},children:"Back"}),(0,t.jsxs)("button",{type:"button",disabled:0===ec.size||ex,className:"inline-flex items-center gap-1.5 px-4 py-1.5 text-xs font-medium text-white bg-violet-600 rounded-lg hover:bg-violet-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>void eT(),children:[(0,t.jsx)(h,{size:12}),ex?"Importing...":`Import ${ec.size} agent${1===ec.size?"":"s"}`]})]})]})]})]})})]})}e.s(["default",()=>N],61628)}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/687d09973325dcf8.js","static/chunks/7d4c1d97169c8522.js","static/chunks/9048e44ed538b21a.js","static/chunks/ee5f1457fbc593e1.js","static/chunks/09f9eeea393db0fd.js"],runtimeModuleIds:[46168]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=(self.TURBOPACK_CHUNK_SUFFIX??document?.currentScript?.getAttribute?.("src")?.replace(/^(.*(?=\?)|^.*$)/,""))||"",n=new WeakMap;function o(e,t){this.m=e,this.e=t}let l=o.prototype,i=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function u(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function c(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function f(e,t){u(e,"__esModule",{value:!0}),s&&u(e,s,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)u(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?u(e,n,{get:o,set:t[r++],enumerable:!0}):u(e,n,{get:o,enumerable:!0})}Object.seal(e)}l.s=function(e,t){let r,n;null!=t?n=(r=c(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,f(n,e)},l.j=function(e,t){var r,o;let l,s,u;null!=t?s=(l=c(this.c,t)).exports:(l=this.m,s=this.e);let a=(r=l,o=s,(u=n.get(r))||(n.set(r,u=[]),r.exports=r.namespaceObject=new Proxy(o,{get(e,t){if(i.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of u){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of u)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),u);"object"==typeof e&&null!==e&&a.push(e)},l.v=function(e,t){(null!=t?c(this.c,t):this.m).exports=e},l.n=function(e,t){let r;(r=null!=t?c(this.c,t):this.m).exports=r.namespaceObject=e};let p=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,h=[null,p({}),p([]),p(p)];function d(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!h.includes(t);t=p(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),f(t,n),t}function m(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=d(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function y(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}l.i=m,l.A=function(e){return this.r(e)(m.bind(this))},l.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},l.r=function(e){return B(e,this.m).exports},l.f=function(e){function t(t){if(t=b(t),i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=Symbol("turbopack queues"),g=Symbol("turbopack exports"),w=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}l.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=y(),u=Object.assign(s,{[g]:r.exports,[O]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),c={get:()=>u,set(e){e!==u&&(u[g]=e)}};Object.defineProperty(r,"exports",c),Object.defineProperty(r,"namespaceObject",c),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(O in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[g]:{},[O]:e=>e(t)};return e.then(e=>{r[g]=e,C(t)},e=>{r[w]=e,C(t)}),r}}return{[g]:e,[O]:()=>{}}}),r=()=>t.map(e=>{if(e[w])throw e[w];return e[g]}),{promise:l,resolve:i}=y(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[O](u)),s.queueCount?l:r()},function(e){e?i(u[w]=e):l(u[g]),C(n)}),n&&-1===n.status&&(n.status=0)};let U=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function j(e,t){throw Error(`Invariant: ${t(e)}`)}U.prototype=URL.prototype,l.U=U,l.z=function(e){throw Error("dynamic usage of require is not supported")},l.g=globalThis;let R=o.prototype;var k,_=((k=_||{})[k.Runtime=0]="Runtime",k[k.Parent=1]="Parent",k[k.Update=2]="Update",k);let v=new Map;l.M=v;let $=new Map,P=new Map;async function S(e,t,r){let n;if("string"==typeof r)return E(e,t,K(r));let o=r.included||[],l=o.map(e=>!!v.has(e)||$.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>P.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)P.has(e)||r.add(e);for(let n of r){let r=E(e,t,K(n));P.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=E(e,t,K(r.path)),i))P.has(o)||P.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}R.l=function(e){return S(1,this.m.id,e)};let T=Promise.resolve(void 0),A=new WeakMap;function E(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,T);l=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function K(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}R.L=function(e){return E(1,this.m.id,e)},R.R=function(e){let t=this.r(e);return t?.default??t},R.P=function(e){return`/ROOT/${e??""}`},R.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/687d09973325dcf8.js","static/chunks/7d4c1d97169c8522.js","static/chunks/9048e44ed538b21a.js","static/chunks/dfff51033c303fc7.js","static/chunks/09f9eeea393db0fd.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=(self.TURBOPACK_CHUNK_SUFFIX??document?.currentScript?.getAttribute?.("src")?.replace(/^(.*(?=\?)|^.*$)/,""))||"",n=new WeakMap;function o(e,t){this.m=e,this.e=t}let l=o.prototype,i=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function u(e,t,r){i.call(e,t)||Object.defineProperty(e,t,r)}function c(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function f(e,t){u(e,"__esModule",{value:!0}),s&&u(e,s,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)u(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?u(e,n,{get:o,set:t[r++],enumerable:!0}):u(e,n,{get:o,enumerable:!0})}Object.seal(e)}l.s=function(e,t){let r,n;null!=t?n=(r=c(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,f(n,e)},l.j=function(e,t){var r,o;let l,s,u;null!=t?s=(l=c(this.c,t)).exports:(l=this.m,s=this.e);let a=(r=l,o=s,(u=n.get(r))||(n.set(r,u=[]),r.exports=r.namespaceObject=new Proxy(o,{get(e,t){if(i.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of u){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of u)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),u);"object"==typeof e&&null!==e&&a.push(e)},l.v=function(e,t){(null!=t?c(this.c,t):this.m).exports=e},l.n=function(e,t){let r;(r=null!=t?c(this.c,t):this.m).exports=r.namespaceObject=e};let p=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,h=[null,p({}),p([]),p(p)];function d(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!h.includes(t);t=p(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),f(t,n),t}function m(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=d(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function y(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}l.i=m,l.A=function(e){return this.r(e)(m.bind(this))},l.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},l.r=function(e){return B(e,this.m).exports},l.f=function(e){function t(t){if(t=b(t),i.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),i.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=Symbol("turbopack queues"),g=Symbol("turbopack exports"),w=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}l.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=y(),u=Object.assign(s,{[g]:r.exports,[O]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),c={get:()=>u,set(e){e!==u&&(u[g]=e)}};Object.defineProperty(r,"exports",c),Object.defineProperty(r,"namespaceObject",c),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(O in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[g]:{},[O]:e=>e(t)};return e.then(e=>{r[g]=e,C(t)},e=>{r[w]=e,C(t)}),r}}return{[g]:e,[O]:()=>{}}}),r=()=>t.map(e=>{if(e[w])throw e[w];return e[g]}),{promise:l,resolve:i}=y(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[O](u)),s.queueCount?l:r()},function(e){e?i(u[w]=e):l(u[g]),C(n)}),n&&-1===n.status&&(n.status=0)};let U=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function j(e,t){throw Error(`Invariant: ${t(e)}`)}U.prototype=URL.prototype,l.U=U,l.z=function(e){throw Error("dynamic usage of require is not supported")},l.g=globalThis;let R=o.prototype;var k,_=((k=_||{})[k.Runtime=0]="Runtime",k[k.Parent=1]="Parent",k[k.Update=2]="Update",k);let v=new Map;l.M=v;let $=new Map,P=new Map;async function S(e,t,r){let n;if("string"==typeof r)return E(e,t,K(r));let o=r.included||[],l=o.map(e=>!!v.has(e)||$.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>P.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)P.has(e)||r.add(e);for(let n of r){let r=E(e,t,K(n));P.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=E(e,t,K(r.path)),i))P.has(o)||P.set(o,n)}for(let e of o)$.has(e)||$.set(e,n);await n}R.l=function(e){return S(1,this.m.id,e)};let T=Promise.resolve(void 0),A=new WeakMap;function E(t,r,n){let o=e.loadChunkCached(t,n),l=A.get(o);if(void 0===l){let e=A.set.bind(A,o,T);l=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),A.set(o,l)}return l}function K(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}R.L=function(e){return E(1,this.m.id,e)},R.R=function(e){let t=this.r(e);return t?.default??t},R.P=function(e){return`/ROOT/${e??""}`},R.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
2
2
  self.TURBOPACK_CHUNK_SUFFIX = ${JSON.stringify(r)};
3
3
  self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(K),null,2)};
4
4
  importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let x=/\.js(?:\?[^#]*)?(?:#.*)?$/,N=/\.css(?:\?[^#]*)?(?:#.*)?$/;function M(e){return N.test(e)}l.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},l.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let L={};l.c=L;let B=(e,t)=>{let r=L[e];if(r){if(r.error)throw r.error;return r}return q(e,_.Parent,t.id)};function q(e,t,r){let n=v.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let l=a(e),i=l.exports;L[e]=l;let s=new o(l,i);try{n(s,l,i)}catch(e){throw l.error=e,e}return l.namespaceObject&&l.exports!==l.namespaceObject&&d(l.exports,l.namespaceObject),l}function I(r){let n,o=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("u">typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r[0]);return 2===r.length?n=r[1]:(n=void 0,!function(e,t,r,n){let o=1;for(;o<e.length;){let t=e[o],n=o+1;for(;n<e.length&&"function"!=typeof e[n];)n++;if(n===e.length)throw Error("malformed chunk format, expected a factory function");if(!r.has(t)){let l=e[n];for(Object.defineProperty(l,"name",{value:"module evaluation"});o<n;o++)t=e[o],r.set(t,l)}o=n+1}}(r,0,v)),e.registerChunk(o,n)}let W=new Map;function H(e){let t=W.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},W.set(e,t)}return t}e={async registerChunk(e,t){if(H(K(e)).resolve(),null!=t){for(let e of t.otherChunks)H(K("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(t=>S(0,e,t))),t.runtimeModuleIds.length>0)for(let r of t.runtimeModuleIds)!function(e,t){let r=L[t];if(r){if(r.error)throw r.error;return}q(t,_.Runtime,e)}(e,r)}},loadChunkCached:(e,t)=>(function(e,t){let r=H(t);if(r.loadingStarted)return r.promise;if(e===_.Runtime)return r.loadingStarted=!0,M(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(M(t));else if(x.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(TURBOPACK_WORKER_LOCATION+t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(M(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(x.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let l=fetch(K(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(K(r));return await WebAssembly.compileStreaming(o)}};let F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:I},F.forEach(I)})();
@@ -1,10 +1,10 @@
1
1
  <h1 align="center">AGX</h1>
2
2
 
3
3
  <p align="center">
4
- <strong>Chat with AI agents. Watch them plan. Approve before they act.</strong>
4
+ <strong>Your AI team's command center.</strong>
5
5
  </p>
6
6
 
7
- AGX transforms your favorite AI coding assistants (Claude Code, Gemini, Codex, Ollama, and Z.AI) into a team of autonomous agents. You brainstorm in chat, they build an execution plan, and you approve critical steps before they run.
7
+ AGX started CLI-first and is growing into your AI team's command center. Chat with agents, turn decisions into tracked work, pause at approval gates, and resume from checkpoints in one connected workspace. Bring your own providers: Claude Code, Gemini, Codex, Ollama, and Z.AI.
8
8
 
9
9
  ---
10
10
 
@@ -84,7 +84,7 @@ agx chat
84
84
 
85
85
  ## How It Works
86
86
 
87
- Most AI tools are "fire and forget"—you paste a prompt, getting a wall of text or a single file edit. AGX is an **orchestration engine**:
87
+ Most AI tools are "fire and forget"—you paste a prompt, getting a wall of text or a single file edit. AGX is a **command center** for running work with agents, not just chatting with them:
88
88
 
89
89
  1. **The Brainstorm**: You chat with agents to refine the spec. This context is preserved.
90
90
  2. **The Graph**: AGX compiles the plan into a **Execution Graph**. Nodes are units of work (shell commands, file edits, API calls). Edges are dependencies.
@@ -1,19 +1,20 @@
1
1
  import { NextRequest } from "next/server";
2
- import {
3
- createMultiplexedStream,
4
- type StreamProjectContext,
5
- type StreamProjectDetail,
6
- } from "@/lib/stream-multiplexer";
2
+ import { type StreamProjectContext, type StreamProjectDetail } from "@/lib/stream-multiplexer";
7
3
  import { loadDbParticipants } from "@/lib/agent-participants";
8
- import { loadHistory, saveMessages, sweepStaleWorkingReactions } from "@/lib/history-store";
4
+ import { createChatRun, loadHistory, saveMessages, sweepStaleWorkingReactions } from "@/lib/history-store";
9
5
  import { finalizeAttachments } from "@/lib/attachment-store";
10
6
  import { getSQLiteDb } from "@/lib/sqlite-query-adapter";
11
7
  import { db } from "@/lib/db-instance";
12
8
  import { buildExecutionProvenance, getProjectSkills, getProjectVariables, getProjectMemory } from "@/lib/db";
13
9
  import { listResolvedRepoKnowledge } from "@/lib/repo-knowledge";
10
+ import { getKnowledgeNote } from "@/lib/knowledge-notes";
14
11
  import { LOCAL_USER } from "@/lib/auth-mode";
15
12
  import { deactivateSchedulesByRootMessageId } from "@/src/graph/store";
16
13
  import type { GroupMessage, Participant } from "@/lib/types";
14
+ import { getQueue, QUEUE_NAMES } from "@/lib/queue/boss";
15
+ import type { ChatRunPayload, ChatRunJobData } from "@/lib/orchestrator/chat-types";
16
+ import { ensureOrchestratorRuntime } from "@/lib/orchestrator/runtime";
17
+ import { getDebugLogPath, writeDebugLog } from "@/lib/debug-log";
17
18
 
18
19
  export const runtime = "nodejs";
19
20
  export const dynamic = "force-dynamic";
@@ -359,8 +360,9 @@ async function resolveProjectContext(
359
360
  const [projectSkills, projectVars, projectMem] = await Promise.all([
360
361
  getProjectSkills(activeProject.id),
361
362
  getProjectVariables(activeProject.id),
362
- getProjectMemory(activeProject.id),
363
+ getProjectMemory(activeProject.id, "human"),
363
364
  ]);
365
+ const projectSystemNote = getKnowledgeNote("project", activeProject.id);
364
366
  if (projectSkills.length > 0) {
365
367
  skills = projectSkills.map((s) => ({ file: s.file, ...(s.condition ? { condition: s.condition } : {}) }));
366
368
  }
@@ -370,6 +372,12 @@ async function resolveProjectContext(
370
372
  if (projectMem.length > 0) {
371
373
  memory = projectMem.map((m) => ({ content: m.content, ...(m.source ? { source: m.source } : {}) }));
372
374
  }
375
+ if (projectSystemNote?.content) {
376
+ memory = [
377
+ ...(memory ?? []),
378
+ { content: projectSystemNote.content, source: "system-note" },
379
+ ];
380
+ }
373
381
  const resolvedRepoKnowledge = listResolvedRepoKnowledge(activeProject.repos ?? []).map((entry) => ({
374
382
  repoName: entry.repoName,
375
383
  path: entry.path ?? null,
@@ -433,6 +441,10 @@ export async function POST(request: NextRequest) {
433
441
  const scopedProjectSlug = normalizeProjectSlug(body.projectSlug);
434
442
 
435
443
  if (!threadId) {
444
+ writeDebugLog("chat.post.reject", {
445
+ reason: "missing_thread_id",
446
+ promptLength: prompt.length,
447
+ });
436
448
  return new Response(JSON.stringify({ error: "threadId is required" }), {
437
449
  status: 400,
438
450
  headers: { "Content-Type": "application/json" },
@@ -440,6 +452,10 @@ export async function POST(request: NextRequest) {
440
452
  }
441
453
 
442
454
  if (!prompt) {
455
+ writeDebugLog("chat.post.reject", {
456
+ reason: "missing_prompt",
457
+ threadId,
458
+ });
443
459
  return new Response(JSON.stringify({ error: "No prompt provided" }), {
444
460
  status: 400,
445
461
  headers: { "Content-Type": "application/json" },
@@ -481,6 +497,12 @@ export async function POST(request: NextRequest) {
481
497
  });
482
498
 
483
499
  if (allParticipants.length === 0) {
500
+ writeDebugLog("chat.post.reject", {
501
+ reason: "no_participants",
502
+ threadId,
503
+ requestedActiveIds,
504
+ scopedProjectSlug,
505
+ });
484
506
  return new Response(JSON.stringify({ error: "No active agents configured for this project" }), {
485
507
  status: 400,
486
508
  headers: { "Content-Type": "application/json" },
@@ -611,35 +633,59 @@ export async function POST(request: NextRequest) {
611
633
  content: m.content,
612
634
  }));
613
635
 
614
- // Fire-and-forget: kick off the multiplexer in the background.
615
- // Messages and reactions are persisted to DB by the multiplexer;
616
- // the client polls /api/history?since= to pick them up.
617
- const streamPromise = createMultiplexedStream({
636
+ const chatRunId = crypto.randomUUID();
637
+ const chatRunPayload: ChatRunPayload = {
618
638
  threadId,
619
- allParticipants,
620
- mentioned,
621
- initialParallelIds: parallelMentioned,
622
639
  prompt: fullPrompt,
623
640
  projectContext,
624
- signal: undefined,
641
+ mentionedIds: Array.from(mentioned),
642
+ initialParallelIds: Array.from(parallelMentioned),
625
643
  maxRounds,
626
644
  recentHistory: recentTargetableMessages,
627
645
  currentUserMessageId: userMessageId,
628
646
  rootMessageId: agentRootMessageId,
647
+ participantIds: allParticipants.map((participant) => participant.id),
648
+ };
649
+
650
+ writeDebugLog("chat.post.accepted", {
651
+ threadId,
652
+ chatRunId,
653
+ userMessageId,
654
+ rootMessageId: agentRootMessageId,
655
+ explicitRootMessageId,
656
+ participantIds: allParticipants.map((participant) => participant.id),
657
+ providerIdsMentioned: Array.from(mentioned),
658
+ parallelIds: Array.from(parallelMentioned),
659
+ scopedProjectSlug: scopedProjectSlug || null,
660
+ hasProjectContext: Boolean(projectContext),
661
+ promptLength: prompt.length,
662
+ debugLogPath: getDebugLogPath(),
629
663
  });
630
664
 
631
- // Drain the stream in the background so it runs to completion
632
- void (async () => {
633
- try {
634
- const reader = streamPromise.getReader();
635
- while (true) {
636
- const { done } = await reader.read();
637
- if (done) break;
638
- }
639
- } catch (err) {
640
- console.error("[chat] background stream error:", err);
641
- }
642
- })();
665
+ await createChatRun({
666
+ id: chatRunId,
667
+ threadId,
668
+ rootMessageId: agentRootMessageId,
669
+ userId: LOCAL_USER.id,
670
+ projectSlug: scopedProjectSlug || null,
671
+ maxSteps: maxRounds,
672
+ activeParticipantIds: allParticipants.map((participant) => participant.id),
673
+ payload: chatRunPayload as unknown as Record<string, unknown>,
674
+ });
675
+
676
+ await ensureOrchestratorRuntime();
677
+ writeDebugLog("chat.runtime.ready", { chatRunId, threadId });
678
+ const queue = await getQueue();
679
+ await queue.send<ChatRunJobData>(QUEUE_NAMES.CHAT_RUN_PROCESS, {
680
+ chatRunId,
681
+ userId: LOCAL_USER.id,
682
+ signal: "start",
683
+ });
684
+ writeDebugLog("chat.queue.sent", {
685
+ chatRunId,
686
+ threadId,
687
+ queue: QUEUE_NAMES.CHAT_RUN_PROCESS,
688
+ });
643
689
 
644
- return Response.json({ ok: true, userMessageId });
690
+ return Response.json({ ok: true, userMessageId, chatRunId }, { status: 202 });
645
691
  }
@@ -0,0 +1,19 @@
1
+ import { NextResponse } from "next/server";
2
+ import { getChatRun, listChatRunSteps } from "@/lib/history-store";
3
+
4
+ export const runtime = "nodejs";
5
+ export const dynamic = "force-dynamic";
6
+
7
+ export async function GET(
8
+ _request: Request,
9
+ { params }: { params: Promise<{ id: string }> }
10
+ ) {
11
+ const { id } = await params;
12
+ const run = await getChatRun(id);
13
+ if (!run) {
14
+ return NextResponse.json({ error: "Chat run not found" }, { status: 404 });
15
+ }
16
+
17
+ const steps = await listChatRunSteps(id);
18
+ return NextResponse.json({ ...run, steps });
19
+ }