@mndrk/agx 2.0.26 → 2.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (867) hide show
  1. package/README.md +4 -6
  2. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +7 -0
  4. package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
  5. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
  7. package/cloud-runtime/standalone/.next/routes-manifest.json +51 -0
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
  45. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -4
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
  49. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
  51. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
  70. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
  71. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
  77. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
  79. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  83. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  84. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  85. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  86. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  87. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  88. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  89. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
  90. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  93. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  95. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
  99. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
  101. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  103. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +6 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
  109. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
  119. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
  121. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
  125. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
  127. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
  129. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
  131. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  135. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -5
  137. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
  140. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -4
  142. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
  144. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -4
  146. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  151. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -3
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -4
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
  207. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
  209. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
  211. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  213. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +7 -6
  215. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
  219. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
  220. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
  221. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
  222. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
  223. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
  224. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
  225. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
  226. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
  228. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  233. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  234. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  235. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
  241. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  243. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  255. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  256. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  262. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  263. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  265. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
  276. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
  277. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
  278. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
  279. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
  280. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
  281. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
  282. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
  283. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
  287. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
  288. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
  289. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
  290. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
  291. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
  292. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
  293. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
  294. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
  295. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
  296. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  298. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  299. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  300. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  301. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  306. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  308. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  309. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  311. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  312. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  313. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  315. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  317. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
  318. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  320. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  321. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  322. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  323. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
  328. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  329. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  331. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  332. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  333. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  334. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  335. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
  339. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  340. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  341. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
  342. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  343. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  344. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  345. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  346. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  347. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  348. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  349. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  350. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  351. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  352. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +7 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__18423486._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__19520d85._.js +75 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c18c0d1._.js +3 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32b13ba9._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +4 -0
  367. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4837d72a._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  371. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +46 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +46 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a348fba._.js +42 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +52 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6acb940d._.js +3 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +3 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7ffcc20c._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__875279cb._.js +112 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  392. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  395. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9b3fde6._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +46 -0
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c480c9c2._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +3 -0
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +7 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +3 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +146 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
  418. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +5 -5
  419. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
  422. package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
  423. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
  424. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
  425. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
  430. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
  432. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
  433. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
  434. package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
  435. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
  436. package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  439. package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +97 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  450. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
  452. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +94 -42
  453. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +91 -44
  454. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
  455. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
  456. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
  457. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
  459. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
  460. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
  463. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
  464. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
  467. package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
  468. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
  470. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +3 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +3 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +3 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +3 -0
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +3 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _84879a01._.js} +2 -2
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _9eeb2fa0._.js} +2 -2
  488. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
  489. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
  490. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _a1d30b20._.js} +2 -2
  491. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _c87c359c._.js} +2 -2
  492. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
  494. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  495. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _dd31b6e0._.js} +2 -2
  496. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +3 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
  498. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  499. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
  500. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
  501. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
  502. package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
  503. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  504. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  505. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
  506. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  507. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +5 -0
  508. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
  509. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  510. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  511. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  512. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  513. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  514. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  515. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  516. package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
  517. package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +1 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  519. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
  520. package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 116985039c24f1f8.js} +9 -9
  521. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  522. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  523. package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +6 -0
  524. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
  525. package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 56a01238098d495d.js} +9 -9
  526. package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 601996727991149e.js} +9 -9
  527. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  528. package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
  529. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  530. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  531. package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → b2dcd19ebe3af3f6.js} +9 -9
  532. package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +1 -0
  533. package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
  534. package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +8 -0
  535. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
  536. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  537. package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
  538. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  539. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  540. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  541. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
  542. package/cloud-runtime/standalone/README.md +3 -3
  543. package/cloud-runtime/standalone/app/api/chat/route.ts +74 -28
  544. package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
  545. package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
  546. package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
  547. package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
  548. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  549. package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
  550. package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
  551. package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
  552. package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
  553. package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
  554. package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
  555. package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
  556. package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
  557. package/cloud-runtime/standalone/app/globals.css +1 -4
  558. package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
  559. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +792 -0
  560. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
  561. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
  562. package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
  563. package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
  564. package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
  565. package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
  566. package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
  567. package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
  568. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +441 -81
  569. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
  570. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  571. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
  572. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +83 -50
  573. package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
  574. package/cloud-runtime/standalone/hooks/useGroupChat.ts +28 -1
  575. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +70 -6
  576. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  577. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  578. package/cloud-runtime/standalone/lib/db.ts +1 -1
  579. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  580. package/cloud-runtime/standalone/lib/history-store.ts +610 -40
  581. package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
  582. package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
  583. package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
  584. package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
  585. package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
  586. package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
  587. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +219 -0
  588. package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
  589. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +26 -0
  590. package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
  591. package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
  592. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  593. package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
  594. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
  595. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
  596. package/cloud-runtime/standalone/lib/task-context.ts +7 -4
  597. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
  598. package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
  599. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  600. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  601. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  602. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  603. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  604. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  605. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  606. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  607. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  608. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  609. package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  610. package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  611. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  612. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  613. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  614. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  615. package/cloud-runtime/standalone/package-lock.json +13 -0
  616. package/cloud-runtime/standalone/package.json +1 -0
  617. package/cloud-runtime/standalone/server.js +1 -1
  618. package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
  619. package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
  620. package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
  621. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
  622. package/cloud-runtime/standalone/src/graph/types.ts +3 -3
  623. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
  624. package/cloud-runtime/standalone/transcri +0 -0
  625. package/cloud-runtime/standalone/tsconfig.json +3 -1
  626. package/cloud-runtime/standalone/worker/index.js +3447 -215
  627. package/cloud-runtime/standalone/worker/index.ts +8 -1
  628. package/lib/cli/runCli.js +0 -97
  629. package/lib/commands/update.js +159 -17
  630. package/package.json +1 -1
  631. package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
  632. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
  633. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
  634. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
  635. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
  636. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
  637. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
  639. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
  640. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +0 -3
  641. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
  642. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
  643. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
  644. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
  645. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  646. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
  647. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  648. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
  649. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
  650. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
  651. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
  652. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
  653. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
  654. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
  655. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  656. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
  657. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
  658. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
  659. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
  660. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
  661. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
  662. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
  663. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
  664. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
  665. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
  666. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
  667. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
  668. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
  669. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
  670. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
  671. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
  672. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  673. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
  674. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
  675. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
  676. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
  677. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
  678. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
  679. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
  680. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
  681. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
  682. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
  683. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
  684. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
  685. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
  686. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
  687. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
  688. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
  689. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
  690. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
  691. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  692. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
  693. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
  694. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
  695. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
  696. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
  697. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
  698. package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
  699. package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
  700. package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
  701. package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
  702. package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
  703. package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
  704. package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
  705. package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
  706. package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
  707. package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
  708. package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
  709. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
  710. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
  711. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
  712. package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
  713. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
  714. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
  715. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
  716. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
  717. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
  718. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
  719. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
  720. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
  721. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
  722. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
  723. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
  724. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
  725. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
  726. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
  727. package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
  728. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
  729. package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
  730. package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
  731. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
  732. package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
  733. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
  734. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
  735. package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
  736. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
  737. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
  738. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
  739. package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
  740. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
  741. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  742. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  743. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  744. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  745. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  746. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  747. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  748. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  749. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  750. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  751. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  752. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  753. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  754. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  755. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  756. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  757. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  758. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  759. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  760. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  761. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  762. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  763. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  764. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  765. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  766. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  767. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  768. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  769. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  770. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  771. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  772. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  773. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  774. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  775. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  776. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  777. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  778. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  779. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  780. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  781. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  782. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  783. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  784. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  785. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  786. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  787. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  788. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  789. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  790. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  791. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  792. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  793. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  794. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  795. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  796. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  797. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  798. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  799. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  800. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  801. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  802. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  803. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  804. package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
  805. package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
  806. package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
  807. package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
  808. package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
  809. package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
  810. package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
  811. package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
  812. package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
  813. package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
  814. package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
  815. package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
  816. package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
  817. package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
  818. package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
  819. package/cloud-runtime/standalone/docs/runbook.md +0 -155
  820. package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
  821. package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
  822. package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
  823. package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
  824. package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
  825. package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
  826. package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
  827. package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
  828. package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
  829. package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
  830. package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
  831. package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
  832. package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
  833. package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
  834. package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
  835. package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
  836. package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  837. package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
  838. package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
  839. package/cloud-runtime/standalone/notes/context-audit.md +0 -21
  840. package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
  841. package/cloud-runtime/standalone/notes/project-layer.md +0 -123
  842. package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
  843. package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
  844. package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
  845. package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
  846. package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
  847. package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
  848. package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
  849. package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
  850. package/cloud-runtime/standalone/playwright-report/index.html +0 -85
  851. package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
  852. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
  853. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
  854. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
  855. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
  856. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
  857. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
  858. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
  859. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
  860. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
  861. package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
  862. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
  863. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  864. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  865. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
  866. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  867. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +0 -0
@@ -1,10 +1,10 @@
1
- module.exports=[7704,a=>{a.v({fileMentionFadeIn:"FileMentionPopover-module__1CTxzW__fileMentionFadeIn",popover:"FileMentionPopover-module__1CTxzW__popover"})},24610,a=>{"use strict";var b=a.i(90944),c=a.i(72131);function d(a){return`threadId=${encodeURIComponent(a)}`}function e(a){return`workspaceId=${encodeURIComponent(a)}`}var f=a.i(4301),g=a.i(95348),h=a.i(86976),i=a.i(38246),j=a.i(15682),k=a.i(20138),l=a.i(94125);function m(){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function n({participantId:a,participantName:c,participantColor:d,content:e}){let f=(0,l.stripMarkers)(e),g=f.length>0;return(0,b.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,b.jsx)(i.default,{href:`/agents/${a}`,className:"w-9 h-9 rounded-full bg-[var(--muted)] overflow-hidden shrink-0 shadow-sm border border-[var(--border)] hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(a,36,d),alt:"",className:"w-full h-full object-cover"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,b.jsx)(i.default,{href:`/agents/${a}`,className:"font-bold text-[15px] hover:underline",style:{color:d},children:c}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)] font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,b.jsx)("div",{className:"text-[15px] text-[var(--foreground)] leading-relaxed min-h-[1.5rem] flex items-center",children:g?(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(j.Markdown,{content:f}),(0,b.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[var(--muted-foreground)] italic",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,b.jsx)(m,{})]})})]})]})}var o=a.i(60137);let p=(0,o.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"}]]);var q=a.i(84505);function r({attachments:a,compact:c=!1}){if(0===a.length)return null;let d=a.filter(a=>a.mimeType.startsWith("image/")),e=a.filter(a=>!a.mimeType.startsWith("image/")),f=c?"max-w-[120px]":"max-w-[240px]",g=c?"max-h-[90px]":"max-h-[180px]";return(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[d.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:d.map(a=>(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-[var(--border)] hover:border-[var(--border)] transition-colors",children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:`${f} ${g} object-cover`,loading:"lazy"})},a.id))}),e.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map(a=>{var d;return(0,b.jsxs)("a",{href:a.url,download:a.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:border-[var(--border)] transition-colors ${c?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,b.jsx)(p,{className:`text-[var(--muted-foreground)] shrink-0 ${c?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,b.jsx)("span",{className:`truncate ${c?"max-w-[100px]":"max-w-[150px]"}`,children:a.filename}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0",children:(d=a.size)<1024?`${d}B`:d<1048576?`${(d/1024).toFixed(0)}KB`:`${(d/1048576).toFixed(1)}MB`}),(0,b.jsx)(q.Download,{className:`text-[var(--muted-foreground)] shrink-0 ${c?"w-2.5 h-2.5":"w-3 h-3"}`})]},a.id)})})]})}var s=a.i(1027);let t=(0,o.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var u=a.i(5784),v=a.i(50522),w=a.i(15618),x=a.i(33508);let y=(0,o.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var z=a.i(5151),A=a.i(33441);let B=process.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function C(){let a=await fetch(`${B}/api/projects`);if(!a.ok){if(503===a.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${a.status}`)}let b=await a.json();return b.projects??b}async function D(a,b){let c=await fetch(`${B}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a,description:b})});if(!c.ok)throw Error(`Failed to create project: ${c.status}`);return c.json()}async function E(a,b){let c=await fetch(`${B}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,...b})});if(!c.ok)throw Error(`Failed to create task: ${c.status}`);let d=await c.json(),e=d.task??d;return d.id&&!e.id&&(e.id=d.id),e}async function F(a){let b=await fetch(`${B}/api/tasks/${a}`);if(!b.ok)return null;let c=await b.json();return c.task??c}async function G(a,b,c,d){let e=[],f={...d},g=new Map((function(a){let b=new Set(a.map(a=>a.id)),c=new Map;for(let d of a)c.set(d.id,(d.dependsOn||[]).filter(a=>b.has(a)));let d=[],e=new Set,f=new Set;for(let b of a)!function b(g){if(!e.has(g)&&!f.has(g)){for(let a of(f.add(g),c.get(g)||[]))b(a);f.delete(g),e.add(g),d.push(a.find(a=>a.id===g))}}(b.id);return d})(a).map(a=>[a.id,a]));for(;g.size>0;){let a=[];for(let b of g.values())(b.dependsOn||[]).every(a=>!g.has(a)||f[a])&&a.push(b);0===a.length&&a.push(...g.values());let c=await Promise.allSettled(a.map(async a=>{let c=f[a.id];if(c&&await F(c))return{task:a,remoteId:c};let d=(a.dependsOn||[]).map(a=>f[a]).filter(Boolean),e=await E(a.description,{title:a.title,project_id:b,depends_on:d.length>0?d:void 0});return{task:a,remoteId:e.id}}));for(let b of c)if("fulfilled"===b.status){let{task:a,remoteId:c}=b.value;f[a.id]=c,e.push({clientTaskId:a.id,remoteTaskId:c,status:"created"}),g.delete(a.id)}else{let d=a[c.indexOf(b)];e.push({clientTaskId:d.id,status:"failed",error:b.reason instanceof Error?b.reason.message:"Unknown error"}),g.delete(d.id)}}return{buildId:c,projectId:b,results:e}}let H=(0,o.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var I=a.i(96101),J=a.i(73570);function K({onSelect:a,onClose:d}){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(!0),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1);(0,c.useEffect)(()=>{(async()=>{try{let a=await C();f(a)}catch(a){a instanceof Error&&"SCHEMA_NOT_READY"===a.message?j("agx-cloud database not ready. Run migrations first."):j("Failed to load projects. Is agx-cloud running?")}finally{h(!1)}})()},[]);let q=(0,c.useCallback)(async()=>{let b=m.trim();if(b){l(!0);try{let c=await D(b);a(c.id,c.name)}catch(a){j("Failed to create project")}finally{l(!1)}}},[m,a]);return(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-elevated)] rounded-2xl shadow-xl border border-[var(--app-shell-border)] w-full max-w-sm mx-4 overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-[var(--app-shell-border)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(I.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)]"}),(0,b.jsx)("h3",{className:"text-sm font-bold text-[var(--foreground)]",children:"Select Project"})]}),(0,b.jsx)("button",{type:"button",onClick:d,className:"p-1 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-md hover:bg-[var(--app-shell-subtle)]",children:(0,b.jsx)(x.X,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[g&&(0,b.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,b.jsx)(H,{className:"w-5 h-5 text-[var(--app-shell-muted)] animate-spin"})}),i&&(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,b.jsx)(J.AlertTriangle,{className:"w-4 h-4 shrink-0"}),i]}),!g&&!i&&0===e.length&&(0,b.jsx)("p",{className:"text-xs text-[var(--app-shell-muted)] text-center py-4",children:"No projects found. Create one below."}),!g&&e.map(c=>(0,b.jsxs)("button",{type:"button",onClick:()=>a(c.id,c.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors flex items-center gap-3 group",children:[(0,b.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--app-shell-subtle)] flex items-center justify-center shrink-0",children:(0,b.jsx)(I.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)] group-hover:text-[var(--foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)] truncate",children:c.name}),c.description&&(0,b.jsx)("div",{className:"text-[11px] text-[var(--app-shell-muted)] truncate",children:c.description})]})]},c.id))]}),(0,b.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-[var(--app-shell-border)]",children:o?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),onKeyDown:a=>"Enter"===a.key&&q(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg outline-none focus:ring-1 focus:ring-[var(--ring)] text-[var(--foreground)]"}),(0,b.jsx)("button",{type:"button",onClick:q,disabled:k||!m.trim(),className:"h-8 px-3 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-lg disabled:opacity-40",children:k?"…":"Create"}),(0,b.jsx)("button",{type:"button",onClick:()=>p(!1),className:"h-8 px-2 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:(0,b.jsx)(x.X,{className:"w-3.5 h-3.5"})})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>p(!0),className:"flex items-center gap-1.5 text-xs font-bold text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:[(0,b.jsx)(w.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function L({draft:a,onUpdate:d,onBuild:e,building:f}){let[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1),m=(0,c.useCallback)(()=>{let b=a.tasks.map((a,b)=>{let c=`${b+1}. **${a.title}**`;return a.description&&"Add description..."!==a.description&&(c+=`
2
- ${a.description.replace(/\n/g,"\n ")}`),c}).join("\n");navigator.clipboard.writeText(b).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},[a.tasks]),n=(0,c.useCallback)((b,c)=>{let e=a.tasks.map(a=>a.id===b?{...a,...c}:a);d({...a,tasks:e,revision:a.revision+1})},[a,d]),o=(0,c.useCallback)(b=>{let c=a.tasks.filter(a=>a.id!==b);d({...a,tasks:c,revision:a.revision+1})},[a,d]),p=(0,c.useCallback)(()=>{let b={id:crypto.randomUUID(),title:"New task",description:"Add description..."};d({...a,tasks:[...a.tasks,b],revision:a.revision+1})},[a,d]),q=(0,c.useCallback)(()=>{j(!0)},[]),r=(0,c.useCallback)((b,c)=>{j(!1),e(a,b,c)},[a,e]),B="idle"===a.buildStatus||!a.buildStatus;return(0,b.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,b.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[a.tasks.length," task",1!==a.tasks.length?"s":""]}),a.tasks.length>0&&(0,b.jsx)("button",{type:"button",onClick:m,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:k?(0,b.jsx)(A.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(z.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsx)("div",{className:"space-y-1 mb-4",children:a.tasks.map(a=>{let c=g===a.id;return(0,b.jsxs)("div",{className:"group",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors",children:[B&&(0,b.jsx)(t,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)] opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,b.jsx)("button",{type:"button",onClick:()=>h(c?null:a.id),className:"shrink-0 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:c?(0,b.jsx)(u.ChevronDown,{className:"w-3.5 h-3.5"}):(0,b.jsx)(v.ChevronRight,{className:"w-3.5 h-3.5"})}),B?(0,b.jsx)("input",{type:"text",value:a.title,onChange:b=>n(a.id,{title:b.target.value}),className:"flex-1 text-xs font-semibold text-[var(--foreground)] bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,b.jsx)("span",{className:"flex-1 text-xs font-semibold text-[var(--foreground)]",children:a.title}),B&&(0,b.jsx)("button",{type:"button",onClick:()=>o(a.id),className:"shrink-0 text-[var(--app-shell-soft-text)] hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,b.jsx)(x.X,{className:"w-3.5 h-3.5"})})]}),c&&(0,b.jsx)("div",{className:"ml-9 mr-2 mb-2",children:B?(0,b.jsx)("textarea",{value:a.description,onChange:b=>n(a.id,{description:b.target.value}),rows:4,className:"w-full text-xs text-[var(--muted-foreground)] bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg p-2 outline-none focus:ring-1 focus:ring-[var(--ring)] resize-y"}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] whitespace-pre-wrap",children:a.description})})]},a.id)})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[B&&(0,b.jsxs)("button",{type:"button",onClick:p,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-full border border-dashed border-[var(--app-shell-border)] hover:border-[var(--app-shell-border-strong)] transition-all",children:[(0,b.jsx)(w.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,b.jsx)("div",{className:"flex-1"}),B&&(0,b.jsxs)("button",{type:"button",onClick:q,disabled:f||0===a.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,b.jsx)(y,{className:"w-3 h-3"}),f?"Pushing…":"Push to agx"]})]}),i&&(0,b.jsx)(K,{onSelect:r,onClose:()=>j(!1)})]})}let M=new Set(["completed","done","failed","blocked"]);var N=a.i(67453),O=a.i(65151);let P=(0,o.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var Q=a.i(62722);let R={queued:(0,b.jsx)(O.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),pending:(0,b.jsx)(O.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),in_progress:(0,b.jsx)(H,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,b.jsx)(H,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,b.jsx)(P,{className:"w-4 h-4 text-amber-500"}),completed:(0,b.jsx)(N.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,b.jsx)(N.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,b.jsx)(Q.XCircle,{className:"w-4 h-4 text-rose-500"})};function S({draft:a,onPush:d,pushing:e}){let[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(!1),j=(0,c.useCallback)(()=>{let b=a.tasks.map((a,b)=>`${b+1}. **${a.title}**${a.description?`
3
- ${a.description.replace(/\n/g,"\n ")}`:""}`).join("\n");navigator.clipboard.writeText(b).then(()=>{i(!0),setTimeout(()=>i(!1),1500)})},[a.tasks]),{tasks:k,error:l}=function({projectId:a,enabled:b,interval:d=3e4}){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(null),i=(0,c.useRef)(0),j=(0,c.useRef)([]),k=(0,c.useCallback)(async()=>{if(a&&"undefined"!==a)try{let b=process.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",c=await fetch(`${b}/api/tasks?project=${a}`);if(!c.ok)throw Error(`Poll failed: ${c.status}`);let d=await c.json(),e=d.tasks??d;j.current=e,f(e),h(null)}catch(a){h(a instanceof Error?a.message:"Poll failed")}},[a]);return(0,c.useEffect)(()=>{if(!b||!a)return;i.current=Date.now(),k();let c=setInterval(()=>{Date.now()-i.current>18e5||j.current.length>0&&j.current.every(a=>M.has(a.status))?clearInterval(c):k()},d);return()=>clearInterval(c)},[b,a,d,k]),{tasks:e,error:g,refetch:k}}({projectId:a.projectId??null,enabled:!!a.projectId&&"done"===a.buildStatus}),m=new Map;if(a.builtTaskIds)for(let[b,c]of Object.entries(a.builtTaskIds)){let a=k.find(a=>a.id===c);a&&m.set(b,a)}let n=a.tasks.filter(a=>{let b=m.get(a.id);return b&&("completed"===b.status||"done"===b.status)}).length,o=a.tasks.length>0?n/a.tasks.length:0,p=(0,c.useCallback)(()=>{a.projectId&&a.projectName?d?.(a,a.projectId,a.projectName):g(!0)},[a,d]),q=(0,c.useCallback)((b,c)=>{g(!1),d?.(a,b,c)},[a,d]);a.tasks.some(b=>!a.builtTaskIds?.[b.id]);let r=a.tasks.some(a=>{let b=m.get(a.id);return b&&"queued"!==b.status&&"pending"!==b.status});return(0,b.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,b.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"}),a.projectName&&(0,b.jsxs)("span",{className:"text-[10px] font-semibold text-[var(--muted-foreground)]",children:["· ",a.projectName]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[n,"/",a.tasks.length," Complete"]}),a.tasks.length>0&&(0,b.jsx)("button",{type:"button",onClick:j,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:h?(0,b.jsx)(A.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(z.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsx)("div",{className:"space-y-3 mb-4",children:a.tasks.map(a=>{let c=m.get(a.id),d=c?.status||"queued",e=R[d]||R.queued;return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e,(0,b.jsx)("span",{className:"text-xs font-semibold text-[var(--muted-foreground)]",children:a.title})]},a.id)})}),(0,b.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*o)}%`}})}),d&&!r&&(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===a.buildStatus&&(0,b.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)("button",{type:"button",onClick:p,disabled:e,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,b.jsx)(y,{className:"w-3 h-3"}),e?"Pushing…":"Push to agx"]})]}),l&&(0,b.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",l]}),f&&(0,b.jsx)(K,{onSelect:q,onClose:()=>g(!1)})]})}let T=(0,c.forwardRef)(({children:a,className:c="",...d},e)=>{let f=`absolute top-4 right-4 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 bg-white border border-gray-200 shadow-md dark:shadow-lg dark:bg-gray-900 dark:border-gray-800 rounded-lg p-1 ${c}`.trim();return(0,b.jsx)("div",{ref:e,className:f,...d,children:a})});T.displayName="ActionToolbar";let U=()=>(0,b.jsx)("div",{className:"w-px h-4 bg-gray-200 dark:bg-gray-800 mx-1"}),V=(0,c.forwardRef)(({className:a="",variant:c="neutral",size:d="md",children:e,...f},g)=>{let h=`inline-flex items-center justify-center rounded-md transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:opacity-50 disabled:pointer-events-none ${({sm:"p-1 w-6 h-6",md:"p-1.5 w-8 h-8",lg:"p-2 w-10 h-10"})[d]} ${({neutral:"text-gray-500 hover:text-gray-900 hover:bg-gray-100 dark:text-gray-400 dark:hover:text-white dark:hover:bg-gray-800",ghost:"text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]",primary:"text-[var(--primary)] hover:text-[var(--primary-foreground)] hover:bg-[var(--primary-hover)]",destructive:"text-gray-500 hover:text-red-600 hover:bg-red-50 dark:text-gray-400 dark:hover:text-red-400 dark:hover:bg-red-400/10"})[c]} ${a}`.trim();return(0,b.jsx)("button",{ref:g,className:h,...f,children:e})});V.displayName="IconButton";var W=a.i(63588),X=a.i(2835),Y=a.i(81560),Z=a.i(46842),$=a.i(41710);let _=(0,o.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),aa=(0,o.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),ab=(0,o.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),ac=(0,o.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),ad=[{value:"active",label:"Active",color:"#f59e0b"},{value:"paused",label:"Paused",color:"#f97316"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"done",label:"Done",color:"#3b82f6"},{value:"archived",label:"Archived",color:"#9ca3af"}],ae=new Set(["done","in-review","archived"]),af="<!-- thread-summary -->";function ag({messages:a,streaming:d,participants:e,onOpenThread:f,onCopyThread:g,onAddToChat:h,onDeleteThreadRoot:m,onSummarize:o,onCreateTasks:p,onUpdateTaskDraft:q,onBuildTasks:s,summarizingThreads:t,extractingTasks:u,buildingDrafts:v,taskDrafts:w,deletingThreadRootId:x,highlightedMessageId:y,onUpdateMessageThreadStatus:A,onUpdateMessageOutcomeNote:B,shipModeThreads:C}){let D=(0,c.useRef)(new Map),[E,F]=(0,c.useState)(null),[G,I]=(0,c.useState)("active"),J=Object.fromEntries(e.map(a=>[a.id,a])),K=(0,c.useMemo)(()=>[...a.filter(a=>!a.rootMessageId)].reverse(),[a]),M={active:new Set(["active"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),done:new Set(["done"]),archived:new Set(["archived"])},N=(0,c.useMemo)(()=>K.filter(a=>M[G].has(a.threadStatus??"active")),[K,G]),O=(0,c.useMemo)(()=>({active:K.filter(a=>M.active.has(a.threadStatus??"active")).length,paused:K.filter(a=>M.paused.has(a.threadStatus??"active")).length,"in-review":K.filter(a=>M["in-review"].has(a.threadStatus??"active")).length,done:K.filter(a=>M.done.has(a.threadStatus??"active")).length,archived:K.filter(a=>M.archived.has(a.threadStatus??"active")).length}),[K]),P=(0,c.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.rootMessageId;if(!a)continue;let d=b.get(a);d||(d={rootMessageId:a,replyCount:0,participants:[],lastActivityAt:0,allReplies:[]},b.set(a,d)),d.replyCount++,d.lastActivityAt=Math.max(d.lastActivityAt,c.timestamp),d.lastReply=c,d.allReplies.push(c),c.participantId&&!d.participants.includes(c.participantId)?d.participants.push(c.participantId):c.participantId||d.participants.includes("user")||d.participants.push("user")}for(let a of b.values())a.allReplies.sort((a,b)=>a.timestamp-b.timestamp);return b})(a),[a]),Q=(0,c.useCallback)((a,b)=>{b?D.current.set(a,b):D.current.delete(a)},[]),R=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!y){R.current=null;return}if(y===R.current)return;R.current=y;let a=D.current.get(y);a&&a.scrollIntoView({behavior:"smooth",block:"center"})},[y,a]),(0,b.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[K.length>0&&(0,b.jsx)("div",{className:"flex items-center justify-center gap-1 p-1 rounded-lg w-fit mx-auto border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] mb-4",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"done",label:"Done"},{key:"archived",label:"Archived"}].map(a=>{let c=O[a.key],d=G===a.key;return(0,b.jsxs)("button",{type:"button",onClick:()=>I(a.key),className:`px-3 py-1.5 text-xs font-bold rounded-md transition-all ${d?"bg-[var(--app-shell-surface)] text-[var(--foreground)] shadow-sm":"text-[var(--app-shell-muted)] hover:text-[var(--foreground)]"}`,children:[a.label,c>0&&(0,b.jsx)("span",{className:`ml-1.5 text-[10px] ${d?"opacity-60":"opacity-50"}`,children:c})]},a.key)})}),0===K.length&&0===Object.keys(d).length&&(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-32 space-y-3",children:[(0,b.jsx)(W.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,b.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a thread"})]}),K.length>0&&0===N.length&&(0,b.jsx)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-16 space-y-2",children:(0,b.jsxs)("span",{className:"text-sm font-medium",children:["No ",G," threads"]})}),N.map(a=>{let c,e=a.participantId?J[a.participantId]:null,y=P.get(a.id),B=x===a.id,D=y?.allReplies.find(a=>a.content.startsWith(af)),G=D?D.content.slice(af.length).trim():null,I=a.threadStatus??"active",K=ae.has(I),M=ad.find(a=>a.value===I)??ad[0],N=Object.values(d).some(b=>b.rootMessageId===a.id);if(K){let c;return(0,b.jsx)("div",{ref:b=>Q(a.id,b),"data-message-id":a.id,className:`max-w-2xl mx-auto bg-[var(--app-shell-subtle)] rounded-xl border border-[var(--app-shell-border)] mb-3 group transition-all hover:border-[var(--app-shell-border-strong)] relative cursor-pointer ${E===a.id?"z-50":""}`,onClick:()=>f?.(a.id),children:(0,b.jsxs)("div",{className:"px-4 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(X.Hash,{className:"w-3.5 h-3.5 text-[var(--app-shell-muted)] shrink-0"}),(0,b.jsx)("span",{className:"text-sm font-medium text-[var(--app-shell-muted)] truncate flex-1",children:(0,l.stripMarkers)(a.content.split("\n")[0])}),C?.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,b.jsx)(ac,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),N&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),a.outcomeNote&&(0,b.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)] truncate max-w-[200px]",children:a.outcomeNote}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)] shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a.timestamp)}),A&&(c=E===a.id,(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),F(c?null:a.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-elevated)]",style:{borderColor:M.color+"40",color:M.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:M.color}}),M.label]}),c&&(0,b.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:a=>a.stopPropagation(),children:ad.map(c=>(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${c.value===I?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:b=>{b.stopPropagation(),A(a.id,c.value),F(null)},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:c.color}}),c.label]},c.value))})]})),y&&y.replyCount>0&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] shrink-0",children:[y.replyCount," replies"]})]}),(G||w?.[a.id])&&(0,b.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[G&&(0,b.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed prose prose-sm prose-neutralmax-w-none",children:(0,b.jsx)(j.Markdown,{content:G,isUser:!1})}),w?.[a.id]&&w[a.id].tasks.length>0&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] flex items-center gap-1",children:[(0,b.jsx)(_,{className:"w-3 h-3"}),w[a.id].tasks.length," ",1===w[a.id].tasks.length?"task":"tasks"]})]})]})},a.id)}return(0,b.jsxs)("div",{className:`max-w-2xl mx-auto surface-card mb-6 group relative ${E===a.id?"z-50":""}`,children:[(g||h||m)&&(0,b.jsxs)(T,{className:"z-10",children:[h&&(0,b.jsx)(V,{type:"button",variant:"primary",size:"sm",onClick:()=>h(a.id),title:"Mention in chat",children:(0,b.jsx)(ab,{className:"w-3.5 h-3.5"})}),(0,b.jsx)(V,{type:"button",variant:"neutral",size:"sm",onClick:()=>{navigator.clipboard.writeText(a.id)},title:"Copy message ID",children:(0,b.jsx)(aa,{className:"w-3.5 h-3.5"})}),g&&(0,b.jsx)(V,{type:"button",variant:"neutral",size:"sm",onClick:()=>g(a.id),title:"Copy thread as markdown",children:(0,b.jsx)(z.Copy,{className:"w-3.5 h-3.5"})}),m&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{}),(0,b.jsx)(V,{type:"button",variant:"destructive",size:"sm",onClick:()=>m(a.id),disabled:B,title:"Delete this thread",children:B?(0,b.jsx)(H,{className:"w-3.5 h-3.5 animate-spin"}):(0,b.jsx)(Y.Trash2,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"p-5",children:(0,b.jsxs)("div",{ref:b=>Q(a.id,b),"data-message-id":a.id,className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==a.role&&(0,b.jsx)(i.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-[var(--app-shell-subtle)] overflow-hidden border border-[var(--app-shell-border)] shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-[var(--ring)] transition-shadow",children:e?(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(e.id,40,e.color),alt:e.name,className:"w-full h-full object-cover"}):(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(a.participantId||"assistant",40),alt:a.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==a.role&&(0,b.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,b.jsx)(i.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",children:e?.name||a.participantId||"Assistant"})}),(0,b.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>f?.(a.id),children:[(0,b.jsx)("h3",{className:"text-lg font-bold text-[var(--foreground)] leading-tight group-hover/msg-title:text-[var(--primary)] transition-colors line-clamp-1",children:(0,l.stripMarkers)(a.content.split("\n")[0])}),(0,b.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)]",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a.timestamp)}),A&&(c=E===a.id,(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),F(c?null:a.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-subtle)]",style:{borderColor:M.color+"40",color:M.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:M.color}}),M.label]}),c&&(0,b.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:a=>a.stopPropagation(),children:ad.map(c=>(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${c.value===I?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:b=>{b.stopPropagation(),A(a.id,c.value),F(null)},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:c.color}}),c.label]},c.value))})]})),C?.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,b.jsx)(ac,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),N&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(a.content.length>80||a.content.includes("\n"))&&(0,b.jsx)("div",{className:"mt-2 text-[15px] text-[var(--muted-foreground)] leading-relaxed line-clamp-3",children:(0,b.jsx)(j.Markdown,{content:(0,l.stripMarkers)(a.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===a.role})})]})]})]}),a.attachments&&a.attachments.length>0&&(0,b.jsx)("div",{className:`mb-4 ${"user"!==a.role?"ml-[52px]":""}`,children:(0,b.jsx)(r,{attachments:a.attachments,compact:!0})}),G&&(0,b.jsx)("div",{className:"mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed",children:(0,b.jsx)(j.Markdown,{content:G,isUser:!1})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-2 mt-2 border-t border-[var(--card-border)]",children:[o&&y&&y.replyCount>0&&(0,b.jsxs)("button",{type:"button",onClick:()=>o(a.id),disabled:t?.has(a.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[t?.has(a.id)?(0,b.jsx)(H,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,b.jsx)($.Clock,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),t?.has(a.id)?"Summarizing…":"Summarize"]}),p&&y&&y.replyCount>0&&(0,b.jsxs)("button",{type:"button",onClick:()=>p(a.id),disabled:u?.has(a.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[u?.has(a.id)?(0,b.jsx)(H,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,b.jsx)(_,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),u?.has(a.id)?"Extracting…":w?.[a.id]?"Re-extract tasks":"Create tasks"]}),y&&y.replyCount>0&&f&&(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>f(a.id),children:[(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:[y.replyCount," replies"]}),(0,b.jsx)("div",{className:"flex -space-x-2",children:y.participants.slice(0,3).map(a=>{if("user"===a)return(0,b.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] flex items-center justify-center z-10",children:(0,b.jsx)(Z.User,{className:"w-3 h-3 text-[var(--muted-foreground)]"})},"user");let c=J[a];return c?(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(a,24,c.color),alt:c.name,className:"w-6 h-6 rounded-full border-2 border-[var(--card-bg)] object-cover z-10"},a):(0,b.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] z-10"},a)})})]})]}),w?.[a.id]&&(w[a.id].builtTaskIds&&Object.keys(w[a.id].builtTaskIds).length>0?(0,b.jsx)(S,{draft:w[a.id],onPush:(b,c,d)=>s?.(a.id,b,c,d),pushing:v?.has(w[a.id].draftId)}):(0,b.jsx)(L,{draft:w[a.id],onUpdate:b=>q?.(a.id,b),onBuild:(b,c,d)=>s?.(a.id,b,c,d),building:v?.has(w[a.id].draftId)})),u?.has(a.id)&&(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-[var(--app-shell-muted)]",children:[(0,b.jsx)(H,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Extracting tasks…"})]})]})}),Object.entries(d).filter(([,b])=>b.rootMessageId===a.id).map(([a,c])=>{let d=J[a];return(0,b.jsx)("div",{className:"px-6 pb-4",children:(0,b.jsx)(n,{participantId:a,participantName:d?.name||a,participantColor:d?.color||"#888",content:c.content})},`streaming-${a}`)})]})]},a.id)})]})})}let ah=(0,o.default)("message-square-text",[["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"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var ai=a.i(8406);let aj={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function ak({type:a,count:c,participantIds:d}){let e=aj[a],f=d.join(", "),g=f?`${e.label}: ${f}`:e.label;return(0,b.jsxs)("span",{title:g,className:"inline-flex items-center gap-1 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-2 py-0.5 text-xs text-[var(--foreground)]",children:[(0,b.jsx)("span",{"aria-hidden":!0,children:e.symbol}),(0,b.jsx)("span",{className:"tabular-nums",children:c})]})}function al({reactions:a}){if(!a||0===a.length)return null;let c=[...a].sort((a,b)=>b.count!==a.count?b.count-a.count:a.type.localeCompare(b.type));return(0,b.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:c.map(a=>(0,b.jsx)(ak,{type:a.type,count:a.count,participantIds:a.participantIds},a.type))})}function am({messages:a,streaming:d,participants:e,rootMessageId:f,onClose:g,onCopyThread:h,onAddToChat:m,onDeleteThreadRoot:n,highlightedMessageId:o,renderReplyComposer:p,activeProcesses:q=[]}){let s=(0,c.useRef)(null),t=(0,c.useRef)(new Map),u=Object.fromEntries(e.map(a=>[a.id,a])),v=(0,c.useMemo)(()=>{let b=a.find(a=>a.id===f),c=a.filter(a=>a.rootMessageId===f).sort((a,b)=>a.timestamp-b.timestamp);return b?[b,...c]:c},[a,f]),w=(0,c.useRef)(null),x=(0,c.useRef)(!1),y=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let a=w.current;if(!a)return;let b=()=>{let{scrollTop:b,scrollHeight:c,clientHeight:d}=a;x.current=c-b-d>80};return a.addEventListener("scroll",b,{passive:!0}),()=>a.removeEventListener("scroll",b)},[]),(0,c.useEffect)(()=>{if(o&&o!==y.current){y.current=o;let a=t.current.get(o);a&&a.scrollIntoView({behavior:"smooth",block:"center"})}else o||x.current||(y.current=null,s.current?.scrollIntoView({behavior:"smooth"}))},[o,v,d]),(0,b.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-[var(--app-shell-bg)] transition-colors",children:[q.length>0&&(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] backdrop-blur-md transition-colors",children:[(0,b.jsxs)("div",{className:"inline-flex items-center gap-2 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsx)(ai.Sparkles,{className:"h-3.5 w-3.5 text-indigo-500",strokeWidth:1.75}),(0,b.jsx)("span",{className:"uppercase tracking-[0.16em]",children:"Working"})]}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:q.map(a=>{let c=u[a.agentId];return(0,b.jsxs)("div",{className:"relative",title:`${c?.name||a.agentId} — ${a.state}`,children:[(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(a.agentId,24,c?.color),alt:c?.name||a.agentId,className:"w-6 h-6 rounded-full border-2 border-[var(--app-shell-surface)] shadow-sm"}),(0,b.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-[var(--app-shell-surface)] animate-pulse"})]},a.agentId)})})]}),(0,b.jsx)("div",{ref:w,className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[v.map(a=>{let c,d="user"===a.role,e=a.participantId?u[a.participantId]:null;return(0,b.jsxs)("div",{ref:b=>{var c;return c=a.id,void(b?t.current.set(c,b):t.current.delete(c))},"data-message-id":a.id,className:"group relative flex gap-4 ",children:[(0,b.jsx)("div",{className:"flex-shrink-0 mt-1",children:d?(0,b.jsx)("div",{className:"w-9 h-9 bg-[var(--app-shell-subtle)] rounded-full flex items-center justify-center text-[var(--app-shell-muted)] shadow-sm",children:(0,b.jsx)(Z.User,{className:"w-5 h-5"})}):(0,b.jsx)(i.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,b.jsx)("img",{src:e?(0,k.agentAvatarUrl)(e.id,36,e.color):(0,k.agentAvatarUrl)(a.participantId||"assistant",36),alt:e?.name||a.participantId||"Assistant",className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,b.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[d?(0,b.jsx)("span",{className:"font-bold text-sm text-[var(--foreground)]",children:"You"}):(0,b.jsx)(i.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:e?.color?{color:e.color}:void 0,children:e?.name||a.participantId||"Assistant"}),void 0===a.rootMessageId&&a.id===f&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] rounded font-mono uppercase",children:"ROOT"}),(0,b.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:(c=a.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(c))})]}),(0,b.jsxs)("div",{className:`rounded-2xl p-4 text-[15px] leading-relaxed transition-all shadow-sm border ${d?"bg-[var(--app-shell-subtle)] text-[var(--foreground)] border-[var(--app-shell-border)]":"bg-[var(--app-shell-surface)] text-[var(--foreground)] border-[var(--app-shell-border)] hover:shadow-md hover:border-[var(--app-shell-border-strong)]"} ${a.id===o?"ring-2 ring-[var(--ring)]":""}`,children:[(0,b.jsx)(j.Markdown,{content:(0,l.stripMarkers)(a.content),isUser:d}),a.attachments&&a.attachments.length>0&&(0,b.jsx)(r,{attachments:a.attachments}),a.reactions&&a.reactions.length>0&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(al,{reactions:a.reactions})})]}),(0,b.jsxs)("div",{className:"absolute top-4 right-4 opacity-0 group-hover:opacity-100 transition-opacity flex items-center gap-1 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-xl shadow-sm p-1 z-10 backdrop-blur-sm",children:[a.id===f&&(0,b.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(a.id)},className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded transition-colors",title:"Copy message ID",children:(0,b.jsx)(aa,{size:14})}),a.id===f&&h&&(0,b.jsx)("button",{onClick:()=>h(a.id),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded transition-colors",title:"Copy Thread",children:(0,b.jsx)(ah,{size:14})}),(0,b.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(a.content)},className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded transition-colors",title:"Copy as Markdown",children:(0,b.jsx)(z.Copy,{size:14})}),a.id===f&&n&&(0,b.jsx)("button",{onClick:()=>n(a.id),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--destructive)] hover:bg-[var(--destructive-muted)] rounded transition-colors",title:"Delete Thread",children:(0,b.jsx)(Y.Trash2,{size:14})})]})]})]},a.id)}),Object.entries(d).filter(([,a])=>a.rootMessageId===f).map(([a,c])=>{let d=u[a],e=c.content.trim().length>0;return(0,b.jsxs)("div",{className:"flex gap-4 group relative",children:[(0,b.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,b.jsx)(i.default,{href:`/agents/${d?.id||a}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,b.jsx)("img",{src:d?(0,k.agentAvatarUrl)(d.id,36,d.color):(0,k.agentAvatarUrl)(a,36),alt:d?.name||a,className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,b.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.default,{href:`/agents/${d?.id||a}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:d?.color?{color:d.color}:void 0,children:d?.name||a}),!e&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),e&&(0,b.jsx)("div",{className:"rounded-2xl p-4 text-[15px] leading-relaxed shadow-sm border bg-[var(--app-shell-surface)] text-[var(--foreground)] border-[var(--app-shell-border)]",children:(0,b.jsx)(j.Markdown,{content:(0,l.stripMarkers)(c.content),isUser:!1})})]})]},`streaming-${a}`)}),(0,b.jsx)("div",{ref:s,className:"h-4"})]})}),(0,b.jsx)("div",{className:"z-20",children:p(f)})]})}var an=a.i(82434);let ao=(0,o.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function ap({query:a,results:c,total:d,participants:e,threadTitleById:f,isLoading:g,error:h,onSelectResult:j,headerSlot:l}){let m=Object.fromEntries(e.map(a=>[a.id,a]));return(0,b.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[l?(0,b.jsx)("div",{className:"sticky top-0 z-20 bg-[var(--app-shell-subtle)]/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto",children:l})}):null,(0,b.jsxs)("div",{className:"mb-4 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3",children:[(0,b.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Search results"}),(0,b.jsx)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:g?"Searching…":`${d} result${1===d?"":"s"} for "${a}"`}),h?(0,b.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:h}):null]}),g||h||0!==c.length?null:(0,b.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-[var(--app-shell-muted)]",children:[(0,b.jsx)(ao,{className:"h-6 w-6",strokeWidth:1.5}),(0,b.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,b.jsx)("div",{className:"space-y-3 pb-6",children:c.map(a=>{var c;let d=a.participantId?m[a.participantId]:null,e=f[a.threadId]||"Untitled thread",g="user"===a.role?"You":d?.name||a.participantId||"Assistant";return(0,b.jsxs)("button",{type:"button",onClick:()=>j(a),className:"w-full rounded-xl border border-[var(--border)] bg-[var(--card-bg)] p-4 text-left transition hover:border-[var(--border)] hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-[var(--muted)]",children:"user"===a.role?(0,b.jsx)(Z.User,{className:"h-4 w-4 text-[var(--foreground)]"}):d?(0,b.jsx)(i.default,{href:`/agents/${d.id}`,onClick:a=>a.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,b.jsx)("img",{src:(0,k.agentAvatarUrl)(d.id,32,d.color),alt:"",className:"h-full w-full object-cover"})}):(0,b.jsx)(an.Bot,{className:"h-4 w-4 text-[var(--foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0",children:["user"!==a.role&&d?(0,b.jsx)(i.default,{href:`/agents/${d.id}`,onClick:a=>a.stopPropagation(),className:"truncate text-sm font-semibold text-[var(--foreground)] hover:underline block",children:g}):(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:g}),(0,b.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:e})]})]}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:(c=a.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(c))})]}),(0,b.jsx)("p",{className:"text-sm leading-relaxed text-[var(--foreground)]",children:function(a){let c=a.split(/(<\/?mark>)/g),d=!1,e=[];for(let[a,f]of c.entries()){if("<mark>"===f){d=!0;continue}if("</mark>"===f){d=!1;continue}f&&e.push(d?(0,b.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:f},`${a}-mark`):(0,b.jsx)("span",{children:f},`${a}-text`))}return e}(a.snippet)})]},`${a.threadId}-${a.messageId}`)})})]})})}var aq=a.i(13872),ar=a.i(28977),as=a.i(9345);let at=/^[A-Za-z0-9_\-:]*$/,au={id:"all",name:"All",provider:"claude",model:null,color:"#6B7280"};function av(a,b,c){return c?a.startsWith(c)?3:b.startsWith(c)?2:a.includes(c)?1:null:0}let aw=/^[a-zA-Z0-9_-]*$/,ax=new Set(["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","text/plain","text/csv","text/markdown","application/json","application/zip","application/gzip","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation"]),ay=new Set([".exe",".bat",".cmd",".com",".msi",".scr",".pif",".vbs",".vbe",".js",".jse",".ws",".wsf",".wsc",".wsh",".ps1",".ps2",".psc1",".psc2",".reg",".inf",".lnk",".dll",".sys",".drv"]),az=[{path:`${process.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${process.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${process.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${process.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${process.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function aA(a,b){let c=function(a,b){let c=a.trim().replace(/\/+$/,"");if("~"===c)return"~";if(c.startsWith("~/")||c.startsWith("/"))return c;let d=c.replace(/^\/+/,"");return"@~"===b?`~/${d}`:`/${d}`}(a,b.trigger);if(c.startsWith("~/")||c.startsWith("/")){let d=a.trim().startsWith("~/")||a.trim().startsWith("/")||"~"===a.trim()?null:function(a){if(!a.query.endsWith("/"))return null;let b=a.query.replace(/^\/+/,"").replace(/\/+$/,"");return"@~"===a.trigger?b?`~/${b}`:"~":b?`/${b}`:"/"}(b);if(d){let a=c.replace(/^~\/|^\//,"");return"~"===d?`~/${a}`:"/"===d?`/${a}`:`${d}/${a}`}}return c}async function aB(a){let b;if(0===a.length)return[];let c=a.map(a=>a.path);try{let d=await fetch("/api/file-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:c})});if(!d.ok){let b=(await d.json().catch(()=>({}))).error??`HTTP ${d.status}`;return a.map(a=>({type:"file",path:a.path,label:a.label,content:null,error:b}))}b=(await d.json()).results}catch(c){let b=c instanceof Error?c.message:"Failed to fetch file contents";return a.map(a=>({type:"file",path:a.path,label:a.label,content:null,error:b}))}let d=new Map(b.map(a=>[a.path,a]));return a.map(a=>{let b=d.get(a.path);return{type:"file",path:a.path,label:a.label,content:b?.content??null,error:b?.error}})}async function aC(a){let b=await aB(a),c=0===b.length?"":b.map(a=>a.error||null===a.content?`<file path="${a.path}" error="${a.error??"unreadable"}" />`:`<file path="${a.path}">
1
+ module.exports=[7704,a=>{a.v({fileMentionFadeIn:"FileMentionPopover-module__1CTxzW__fileMentionFadeIn",popover:"FileMentionPopover-module__1CTxzW__popover"})},24610,a=>{"use strict";var b=a.i(90944),c=a.i(72131),d=a.i(50944);function e(a){return`threadId=${encodeURIComponent(a)}`}function f(a){return`workspaceId=${encodeURIComponent(a)}`}var g=a.i(4301),h=a.i(95348),i=a.i(86976),j=a.i(38246),k=a.i(15682),l=a.i(20138),m=a.i(94125);function n(){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function o({participantId:a,participantName:c,participantColor:d,content:e}){let f=(0,m.stripMarkers)(e),g=f.length>0;return(0,b.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,b.jsx)(j.default,{href:`/agents/${a}`,className:"w-9 h-9 rounded-full bg-[var(--muted)] overflow-hidden shrink-0 shadow-sm border border-[var(--border)] hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(a,36,d),alt:"",className:"w-full h-full object-cover"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,b.jsx)(j.default,{href:`/agents/${a}`,className:"font-bold text-[15px] hover:underline",style:{color:d},children:c}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)] font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,b.jsx)("div",{className:"text-[15px] text-[var(--foreground)] leading-relaxed min-h-[1.5rem] flex items-center",children:g?(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(k.Markdown,{content:f}),(0,b.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[var(--muted-foreground)] italic",children:[(0,b.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,b.jsx)(n,{})]})})]})]})}var p=a.i(4720),q=a.i(84505);function r({attachments:a,compact:c=!1}){if(0===a.length)return null;let d=a.filter(a=>a.mimeType.startsWith("image/")),e=a.filter(a=>!a.mimeType.startsWith("image/")),f=c?"max-w-[120px]":"max-w-[240px]",g=c?"max-h-[90px]":"max-h-[180px]";return(0,b.jsxs)("div",{className:"mt-2 space-y-2",children:[d.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:d.map(a=>(0,b.jsx)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-[var(--border)] hover:border-[var(--border)] transition-colors",children:(0,b.jsx)("img",{src:a.url,alt:a.filename,className:`${f} ${g} object-cover`,loading:"lazy"})},a.id))}),e.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map(a=>{var d;return(0,b.jsxs)("a",{href:a.url,download:a.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:border-[var(--border)] transition-colors ${c?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,b.jsx)(p.FileText,{className:`text-[var(--muted-foreground)] shrink-0 ${c?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,b.jsx)("span",{className:`truncate ${c?"max-w-[100px]":"max-w-[150px]"}`,children:a.filename}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0",children:(d=a.size)<1024?`${d}B`:d<1048576?`${(d/1024).toFixed(0)}KB`:`${(d/1048576).toFixed(1)}MB`}),(0,b.jsx)(q.Download,{className:`text-[var(--muted-foreground)] shrink-0 ${c?"w-2.5 h-2.5":"w-3 h-3"}`})]},a.id)})})]})}var s=a.i(1027),t=a.i(60137);let u=(0,t.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var v=a.i(5784),w=a.i(50522),x=a.i(15618),y=a.i(33508);let z=(0,t.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var A=a.i(5151),B=a.i(33441);let C=process.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function D(){let a=await fetch(`${C}/api/projects`);if(!a.ok){if(503===a.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${a.status}`)}let b=await a.json();return b.projects??b}async function E(a,b){let c=await fetch(`${C}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a,description:b})});if(!c.ok)throw Error(`Failed to create project: ${c.status}`);return c.json()}async function F(a,b){let c=await fetch(`${C}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,...b})});if(!c.ok)throw Error(`Failed to create task: ${c.status}`);let d=await c.json(),e=d.task??d;return d.id&&!e.id&&(e.id=d.id),e}async function G(a){let b=await fetch(`${C}/api/tasks/${a}`);if(!b.ok)return null;let c=await b.json();return c.task??c}async function H(a,b,c,d){let e=[],f={...d},g=new Map((function(a){let b=new Set(a.map(a=>a.id)),c=new Map;for(let d of a)c.set(d.id,(d.dependsOn||[]).filter(a=>b.has(a)));let d=[],e=new Set,f=new Set;for(let b of a)!function b(g){if(!e.has(g)&&!f.has(g)){for(let a of(f.add(g),c.get(g)||[]))b(a);f.delete(g),e.add(g),d.push(a.find(a=>a.id===g))}}(b.id);return d})(a).map(a=>[a.id,a]));for(;g.size>0;){let a=[];for(let b of g.values())(b.dependsOn||[]).every(a=>!g.has(a)||f[a])&&a.push(b);0===a.length&&a.push(...g.values());let c=await Promise.allSettled(a.map(async a=>{let c=f[a.id];if(c&&await G(c))return{task:a,remoteId:c};let d=(a.dependsOn||[]).map(a=>f[a]).filter(Boolean),e=await F(a.description,{title:a.title,project_id:b,depends_on:d.length>0?d:void 0});return{task:a,remoteId:e.id}}));for(let b of c)if("fulfilled"===b.status){let{task:a,remoteId:c}=b.value;f[a.id]=c,e.push({clientTaskId:a.id,remoteTaskId:c,status:"created"}),g.delete(a.id)}else{let d=a[c.indexOf(b)];e.push({clientTaskId:d.id,status:"failed",error:b.reason instanceof Error?b.reason.message:"Unknown error"}),g.delete(d.id)}}return{buildId:c,projectId:b,results:e}}let I=(0,t.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var J=a.i(96101),K=a.i(73570);function L({onSelect:a,onClose:d}){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(!0),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(!1);(0,c.useEffect)(()=>{(async()=>{try{let a=await D();f(a)}catch(a){a instanceof Error&&"SCHEMA_NOT_READY"===a.message?j("agx-cloud database not ready. Run migrations first."):j("Failed to load projects. Is agx-cloud running?")}finally{h(!1)}})()},[]);let q=(0,c.useCallback)(async()=>{let b=m.trim();if(b){l(!0);try{let c=await E(b);a(c.id,c.name)}catch(a){j("Failed to create project")}finally{l(!1)}}},[m,a]);return(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-elevated)] rounded-2xl shadow-xl border border-[var(--app-shell-border)] w-full max-w-sm mx-4 overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-[var(--app-shell-border)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(J.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)]"}),(0,b.jsx)("h3",{className:"text-sm font-bold text-[var(--foreground)]",children:"Select Project"})]}),(0,b.jsx)("button",{type:"button",onClick:d,className:"p-1 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-md hover:bg-[var(--app-shell-subtle)]",children:(0,b.jsx)(y.X,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[g&&(0,b.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,b.jsx)(I,{className:"w-5 h-5 text-[var(--app-shell-muted)] animate-spin"})}),i&&(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,b.jsx)(K.AlertTriangle,{className:"w-4 h-4 shrink-0"}),i]}),!g&&!i&&0===e.length&&(0,b.jsx)("p",{className:"text-xs text-[var(--app-shell-muted)] text-center py-4",children:"No projects found. Create one below."}),!g&&e.map(c=>(0,b.jsxs)("button",{type:"button",onClick:()=>a(c.id,c.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors flex items-center gap-3 group",children:[(0,b.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--app-shell-subtle)] flex items-center justify-center shrink-0",children:(0,b.jsx)(J.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)] group-hover:text-[var(--foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)] truncate",children:c.name}),c.description&&(0,b.jsx)("div",{className:"text-[11px] text-[var(--app-shell-muted)] truncate",children:c.description})]})]},c.id))]}),(0,b.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-[var(--app-shell-border)]",children:o?(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"text",value:m,onChange:a=>n(a.target.value),onKeyDown:a=>"Enter"===a.key&&q(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg outline-none focus:ring-1 focus:ring-[var(--ring)] text-[var(--foreground)]"}),(0,b.jsx)("button",{type:"button",onClick:q,disabled:k||!m.trim(),className:"h-8 px-3 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-lg disabled:opacity-40",children:k?"…":"Create"}),(0,b.jsx)("button",{type:"button",onClick:()=>p(!1),className:"h-8 px-2 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:(0,b.jsx)(y.X,{className:"w-3.5 h-3.5"})})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>p(!0),className:"flex items-center gap-1.5 text-xs font-bold text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:[(0,b.jsx)(x.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function M({draft:a,onUpdate:d,onBuild:e,building:f}){let[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(!1),m=(0,c.useCallback)(()=>{let b=a.tasks.map((a,b)=>{let c=`${b+1}. **${a.title}**`;return a.description&&"Add description..."!==a.description&&(c+=`
2
+ ${a.description.replace(/\n/g,"\n ")}`),c}).join("\n");navigator.clipboard.writeText(b).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},[a.tasks]),n=(0,c.useCallback)((b,c)=>{let e=a.tasks.map(a=>a.id===b?{...a,...c}:a);d({...a,tasks:e,revision:a.revision+1})},[a,d]),o=(0,c.useCallback)(b=>{let c=a.tasks.filter(a=>a.id!==b);d({...a,tasks:c,revision:a.revision+1})},[a,d]),p=(0,c.useCallback)(()=>{let b={id:crypto.randomUUID(),title:"New task",description:"Add description..."};d({...a,tasks:[...a.tasks,b],revision:a.revision+1})},[a,d]),q=(0,c.useCallback)(()=>{j(!0)},[]),r=(0,c.useCallback)((b,c)=>{j(!1),e(a,b,c)},[a,e]),t="idle"===a.buildStatus||!a.buildStatus;return(0,b.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,b.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[a.tasks.length," task",1!==a.tasks.length?"s":""]}),a.tasks.length>0&&(0,b.jsx)("button",{type:"button",onClick:m,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:k?(0,b.jsx)(B.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(A.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsx)("div",{className:"space-y-1 mb-4",children:a.tasks.map(a=>{let c=g===a.id;return(0,b.jsxs)("div",{className:"group",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors",children:[t&&(0,b.jsx)(u,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)] opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,b.jsx)("button",{type:"button",onClick:()=>h(c?null:a.id),className:"shrink-0 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:c?(0,b.jsx)(v.ChevronDown,{className:"w-3.5 h-3.5"}):(0,b.jsx)(w.ChevronRight,{className:"w-3.5 h-3.5"})}),t?(0,b.jsx)("input",{type:"text",value:a.title,onChange:b=>n(a.id,{title:b.target.value}),className:"flex-1 text-xs font-semibold text-[var(--foreground)] bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,b.jsx)("span",{className:"flex-1 text-xs font-semibold text-[var(--foreground)]",children:a.title}),t&&(0,b.jsx)("button",{type:"button",onClick:()=>o(a.id),className:"shrink-0 text-[var(--app-shell-soft-text)] hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,b.jsx)(y.X,{className:"w-3.5 h-3.5"})})]}),c&&(0,b.jsx)("div",{className:"ml-9 mr-2 mb-2",children:t?(0,b.jsx)("textarea",{value:a.description,onChange:b=>n(a.id,{description:b.target.value}),rows:4,className:"w-full text-xs text-[var(--muted-foreground)] bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg p-2 outline-none focus:ring-1 focus:ring-[var(--ring)] resize-y"}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] whitespace-pre-wrap",children:a.description})})]},a.id)})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[t&&(0,b.jsxs)("button",{type:"button",onClick:p,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-full border border-dashed border-[var(--app-shell-border)] hover:border-[var(--app-shell-border-strong)] transition-all",children:[(0,b.jsx)(x.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,b.jsx)("div",{className:"flex-1"}),t&&(0,b.jsxs)("button",{type:"button",onClick:q,disabled:f||0===a.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,b.jsx)(z,{className:"w-3 h-3"}),f?"Pushing…":"Push to agx"]})]}),i&&(0,b.jsx)(L,{onSelect:r,onClose:()=>j(!1)})]})}let N=new Set(["completed","done","failed","blocked"]);var O=a.i(67453),P=a.i(65151);let Q=(0,t.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var R=a.i(62722);let S={queued:(0,b.jsx)(P.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),pending:(0,b.jsx)(P.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),in_progress:(0,b.jsx)(I,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,b.jsx)(I,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,b.jsx)(Q,{className:"w-4 h-4 text-amber-500"}),completed:(0,b.jsx)(O.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,b.jsx)(O.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,b.jsx)(R.XCircle,{className:"w-4 h-4 text-rose-500"})};function T({draft:a,onPush:d,pushing:e}){let[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(!1),j=(0,c.useCallback)(()=>{let b=a.tasks.map((a,b)=>`${b+1}. **${a.title}**${a.description?`
3
+ ${a.description.replace(/\n/g,"\n ")}`:""}`).join("\n");navigator.clipboard.writeText(b).then(()=>{i(!0),setTimeout(()=>i(!1),1500)})},[a.tasks]),{tasks:k,error:l}=function({projectId:a,enabled:b,interval:d=3e4}){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(null),i=(0,c.useRef)(0),j=(0,c.useRef)([]),k=(0,c.useCallback)(async()=>{if(a&&"undefined"!==a)try{let b=process.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",c=await fetch(`${b}/api/tasks?project=${a}`);if(!c.ok)throw Error(`Poll failed: ${c.status}`);let d=await c.json(),e=d.tasks??d;j.current=e,f(e),h(null)}catch(a){h(a instanceof Error?a.message:"Poll failed")}},[a]);return(0,c.useEffect)(()=>{if(!b||!a)return;i.current=Date.now(),k();let c=setInterval(()=>{Date.now()-i.current>18e5||j.current.length>0&&j.current.every(a=>N.has(a.status))?clearInterval(c):k()},d);return()=>clearInterval(c)},[b,a,d,k]),{tasks:e,error:g,refetch:k}}({projectId:a.projectId??null,enabled:!!a.projectId&&"done"===a.buildStatus}),m=new Map;if(a.builtTaskIds)for(let[b,c]of Object.entries(a.builtTaskIds)){let a=k.find(a=>a.id===c);a&&m.set(b,a)}let n=a.tasks.filter(a=>{let b=m.get(a.id);return b&&("completed"===b.status||"done"===b.status)}).length,o=a.tasks.length>0?n/a.tasks.length:0,p=(0,c.useCallback)(()=>{a.projectId&&a.projectName?d?.(a,a.projectId,a.projectName):g(!0)},[a,d]),q=(0,c.useCallback)((b,c)=>{g(!1),d?.(a,b,c)},[a,d]);a.tasks.some(b=>!a.builtTaskIds?.[b.id]);let r=a.tasks.some(a=>{let b=m.get(a.id);return b&&"queued"!==b.status&&"pending"!==b.status});return(0,b.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(s.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,b.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"}),a.projectName&&(0,b.jsxs)("span",{className:"text-[10px] font-semibold text-[var(--muted-foreground)]",children:["· ",a.projectName]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[n,"/",a.tasks.length," Complete"]}),a.tasks.length>0&&(0,b.jsx)("button",{type:"button",onClick:j,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:h?(0,b.jsx)(B.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(A.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsx)("div",{className:"space-y-3 mb-4",children:a.tasks.map(a=>{let c=m.get(a.id),d=c?.status||"queued",e=S[d]||S.queued;return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e,(0,b.jsx)("span",{className:"text-xs font-semibold text-[var(--muted-foreground)]",children:a.title})]},a.id)})}),(0,b.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*o)}%`}})}),d&&!r&&(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===a.buildStatus&&(0,b.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)("button",{type:"button",onClick:p,disabled:e,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,b.jsx)(z,{className:"w-3 h-3"}),e?"Pushing…":"Push to agx"]})]}),l&&(0,b.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",l]}),f&&(0,b.jsx)(L,{onSelect:q,onClose:()=>g(!1)})]})}let U=(0,c.forwardRef)(({children:a,className:c="",...d},e)=>{let f=`absolute top-4 right-4 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] shadow-md rounded-lg p-1 z-10 backdrop-blur-sm ${c}`.trim();return(0,b.jsx)("div",{ref:e,className:f,...d,children:a})});U.displayName="ActionToolbar";let V=()=>(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] mx-1"}),W=(0,c.forwardRef)(({className:a="",variant:c="neutral",size:d="md",children:e,...f},g)=>{let h=`inline-flex items-center justify-center rounded-md transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:opacity-50 disabled:pointer-events-none ${({sm:"p-1 w-6 h-6",md:"p-1.5 w-8 h-8",lg:"p-2 w-10 h-10"})[d]} ${({neutral:"text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]",ghost:"text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]",primary:"text-[var(--primary)] hover:text-[var(--primary-foreground)] hover:bg-[var(--primary-hover)]",destructive:"text-[var(--app-shell-muted)] hover:text-[var(--destructive)] hover:bg-[var(--destructive-muted)]"})[c]} ${a}`.trim();return(0,b.jsx)("button",{ref:g,className:h,...f,children:e})});W.displayName="IconButton";var X=a.i(63588),Y=a.i(2835),Z=a.i(81560),$=a.i(46842),_=a.i(41710);let aa=(0,t.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),ab=(0,t.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),ac=(0,t.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),ad=(0,t.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),ae=[{value:"active",label:"Active",color:"#f59e0b"},{value:"paused",label:"Paused",color:"#f97316"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"done",label:"Done",color:"#3b82f6"},{value:"archived",label:"Archived",color:"#9ca3af"}],af=new Set(["done","in-review","archived"]),ag="<!-- thread-summary -->";function ah({messages:a,streaming:d,participants:e,onOpenThread:f,onCopyThread:g,onAddToChat:h,onDeleteThreadRoot:i,onSummarize:n,onCreateTasks:p,onUpdateTaskDraft:q,onBuildTasks:s,summarizingThreads:t,extractingTasks:u,buildingDrafts:v,taskDrafts:w,deletingThreadRootId:x,highlightedMessageId:y,onUpdateMessageThreadStatus:z,onUpdateMessageOutcomeNote:B,shipModeThreads:C}){let D=(0,c.useRef)(new Map),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)("active"),J=Object.fromEntries(e.map(a=>[a.id,a])),K=(0,c.useMemo)(()=>[...a.filter(a=>!a.rootMessageId)].reverse(),[a]),L={active:new Set(["active"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),done:new Set(["done"]),archived:new Set(["archived"])},N=(0,c.useMemo)(()=>K.filter(a=>L[G].has(a.threadStatus??"active")),[K,G]),O=(0,c.useMemo)(()=>({active:K.filter(a=>L.active.has(a.threadStatus??"active")).length,paused:K.filter(a=>L.paused.has(a.threadStatus??"active")).length,"in-review":K.filter(a=>L["in-review"].has(a.threadStatus??"active")).length,done:K.filter(a=>L.done.has(a.threadStatus??"active")).length,archived:K.filter(a=>L.archived.has(a.threadStatus??"active")).length}),[K]),P=(0,c.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.rootMessageId;if(!a)continue;let d=b.get(a);d||(d={rootMessageId:a,replyCount:0,participants:[],lastActivityAt:0,allReplies:[]},b.set(a,d)),d.replyCount++,d.lastActivityAt=Math.max(d.lastActivityAt,c.timestamp),d.lastReply=c,d.allReplies.push(c),c.participantId&&!d.participants.includes(c.participantId)?d.participants.push(c.participantId):c.participantId||d.participants.includes("user")||d.participants.push("user")}for(let a of b.values())a.allReplies.sort((a,b)=>a.timestamp-b.timestamp);return b})(a),[a]),Q=(0,c.useCallback)((a,b)=>{b?D.current.set(a,b):D.current.delete(a)},[]),R=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!y){R.current=null;return}if(y===R.current)return;R.current=y;let a=D.current.get(y);a&&a.scrollIntoView({behavior:"smooth",block:"center"})},[y,a]),(0,b.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[K.length>0&&(0,b.jsx)("div",{className:"flex items-center justify-center gap-1 p-1 rounded-lg w-fit mx-auto border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] mb-4",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"done",label:"Done"},{key:"archived",label:"Archived"}].map(a=>{let c=O[a.key],d=G===a.key;return(0,b.jsxs)("button",{type:"button",onClick:()=>H(a.key),className:`px-3 py-1.5 text-xs font-bold rounded-md transition-all ${d?"bg-[var(--app-shell-surface)] text-[var(--foreground)] shadow-sm":"text-[var(--app-shell-muted)] hover:text-[var(--foreground)]"}`,children:[a.label,c>0&&(0,b.jsx)("span",{className:`ml-1.5 text-[10px] ${d?"opacity-60":"opacity-50"}`,children:c})]},a.key)})}),0===K.length&&0===Object.keys(d).length&&(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-32 space-y-3",children:[(0,b.jsx)(X.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,b.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a thread"})]}),K.length>0&&0===N.length&&(0,b.jsx)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-16 space-y-2",children:(0,b.jsxs)("span",{className:"text-sm font-medium",children:["No ",G," threads"]})}),N.map(a=>{let c,e=a.participantId?J[a.participantId]:null,y=P.get(a.id),B=x===a.id,D=y?.allReplies.find(a=>a.content.startsWith(ag)),G=D?D.content.slice(ag.length).trim():null,H=a.threadStatus??"active",K=af.has(H),L=ae.find(a=>a.value===H)??ae[0],N=Object.values(d).some(b=>b.rootMessageId===a.id);if(K){let c;return(0,b.jsx)("div",{ref:b=>Q(a.id,b),"data-message-id":a.id,className:`max-w-2xl mx-auto bg-[var(--app-shell-subtle)] rounded-xl border border-[var(--app-shell-border)] mb-3 group transition-all hover:border-[var(--app-shell-border-strong)] relative cursor-pointer ${E===a.id?"z-50":""}`,onClick:()=>f?.(a.id),children:(0,b.jsxs)("div",{className:"px-4 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(Y.Hash,{className:"w-3.5 h-3.5 text-[var(--app-shell-muted)] shrink-0"}),(0,b.jsx)("span",{className:"text-sm font-medium text-[var(--app-shell-muted)] truncate flex-1",children:(0,m.stripMarkers)(a.content.split("\n")[0])}),C?.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,b.jsx)(ad,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),N&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),a.outcomeNote&&(0,b.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)] truncate max-w-[200px]",children:a.outcomeNote}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)] shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a.timestamp)}),z&&(c=E===a.id,(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),F(c?null:a.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-elevated)]",style:{borderColor:L.color+"40",color:L.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:L.color}}),L.label]}),c&&(0,b.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:a=>a.stopPropagation(),children:ae.map(c=>(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${c.value===H?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:b=>{b.stopPropagation(),z(a.id,c.value),F(null)},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:c.color}}),c.label]},c.value))})]})),y&&y.replyCount>0&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] shrink-0",children:[y.replyCount," replies"]})]}),(G||w?.[a.id])&&(0,b.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[G&&(0,b.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed prose prose-sm prose-neutralmax-w-none",children:(0,b.jsx)(k.Markdown,{content:G,isUser:!1})}),w?.[a.id]&&w[a.id].tasks.length>0&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] flex items-center gap-1",children:[(0,b.jsx)(aa,{className:"w-3 h-3"}),w[a.id].tasks.length," ",1===w[a.id].tasks.length?"task":"tasks"]})]})]})},a.id)}return(0,b.jsxs)("div",{className:`max-w-2xl mx-auto surface-card mb-6 group relative ${E===a.id?"z-50":""}`,children:[(g||h||i)&&(0,b.jsxs)(U,{className:"z-10",children:[h&&(0,b.jsx)(W,{type:"button",variant:"primary",size:"sm",onClick:()=>h(a.id),title:"Mention in chat",children:(0,b.jsx)(ac,{className:"w-3.5 h-3.5"})}),(0,b.jsx)(W,{type:"button",variant:"neutral",size:"sm",onClick:()=>{navigator.clipboard.writeText(a.id)},title:"Copy message ID",children:(0,b.jsx)(ab,{className:"w-3.5 h-3.5"})}),g&&(0,b.jsx)(W,{type:"button",variant:"neutral",size:"sm",onClick:()=>g(a.id),title:"Copy thread as markdown",children:(0,b.jsx)(A.Copy,{className:"w-3.5 h-3.5"})}),i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V,{}),(0,b.jsx)(W,{type:"button",variant:"destructive",size:"sm",onClick:()=>i(a.id),disabled:B,title:"Delete this thread",children:B?(0,b.jsx)(I,{className:"w-3.5 h-3.5 animate-spin"}):(0,b.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]})]}),(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"p-5",children:(0,b.jsxs)("div",{ref:b=>Q(a.id,b),"data-message-id":a.id,className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==a.role&&(0,b.jsx)(j.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-[var(--app-shell-subtle)] overflow-hidden border border-[var(--app-shell-border)] shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-[var(--ring)] transition-shadow",children:e?(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(e.id,40,e.color),alt:e.name,className:"w-full h-full object-cover"}):(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(a.participantId||"assistant",40),alt:a.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==a.role&&(0,b.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,b.jsx)(j.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",children:e?.name||a.participantId||"Assistant"})}),(0,b.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>f?.(a.id),children:[(0,b.jsx)("h3",{className:"text-lg font-bold text-[var(--foreground)] leading-tight group-hover/msg-title:text-[var(--primary)] transition-colors line-clamp-1",children:(0,m.stripMarkers)(a.content.split("\n")[0])}),(0,b.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)]",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a.timestamp)}),z&&(c=E===a.id,(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),F(c?null:a.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-subtle)]",style:{borderColor:L.color+"40",color:L.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:L.color}}),L.label]}),c&&(0,b.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:a=>a.stopPropagation(),children:ae.map(c=>(0,b.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${c.value===H?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:b=>{b.stopPropagation(),z(a.id,c.value),F(null)},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:c.color}}),c.label]},c.value))})]})),C?.has(a.id)&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,b.jsx)(ad,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),N&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(a.content.length>80||a.content.includes("\n"))&&(0,b.jsx)("div",{className:"mt-2 text-[15px] text-[var(--muted-foreground)] leading-relaxed line-clamp-3",children:(0,b.jsx)(k.Markdown,{content:(0,m.stripMarkers)(a.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===a.role})})]})]})]}),a.attachments&&a.attachments.length>0&&(0,b.jsx)("div",{className:`mb-4 ${"user"!==a.role?"ml-[52px]":""}`,children:(0,b.jsx)(r,{attachments:a.attachments,compact:!0})}),G&&(0,b.jsx)("div",{className:"mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed",children:(0,b.jsx)(k.Markdown,{content:G,isUser:!1})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-2 mt-2 border-t border-[var(--card-border)]",children:[n&&y&&y.replyCount>0&&(0,b.jsxs)("button",{type:"button",onClick:()=>n(a.id),disabled:t?.has(a.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[t?.has(a.id)?(0,b.jsx)(I,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,b.jsx)(_.Clock,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),t?.has(a.id)?"Summarizing…":"Summarize"]}),p&&y&&y.replyCount>0&&(0,b.jsxs)("button",{type:"button",onClick:()=>p(a.id),disabled:u?.has(a.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[u?.has(a.id)?(0,b.jsx)(I,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,b.jsx)(aa,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),u?.has(a.id)?"Extracting…":w?.[a.id]?"Re-extract tasks":"Create tasks"]}),y&&y.replyCount>0&&f&&(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>f(a.id),children:[(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:[y.replyCount," replies"]}),(0,b.jsx)("div",{className:"flex -space-x-2",children:y.participants.slice(0,3).map(a=>{if("user"===a)return(0,b.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] flex items-center justify-center z-10",children:(0,b.jsx)($.User,{className:"w-3 h-3 text-[var(--muted-foreground)]"})},"user");let c=J[a];return c?(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(a,24,c.color),alt:c.name,className:"w-6 h-6 rounded-full border-2 border-[var(--card-bg)] object-cover z-10"},a):(0,b.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] z-10"},a)})})]})]}),w?.[a.id]&&(w[a.id].builtTaskIds&&Object.keys(w[a.id].builtTaskIds).length>0?(0,b.jsx)(T,{draft:w[a.id],onPush:(b,c,d)=>s?.(a.id,b,c,d),pushing:v?.has(w[a.id].draftId)}):(0,b.jsx)(M,{draft:w[a.id],onUpdate:b=>q?.(a.id,b),onBuild:(b,c,d)=>s?.(a.id,b,c,d),building:v?.has(w[a.id].draftId)})),u?.has(a.id)&&(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-[var(--app-shell-muted)]",children:[(0,b.jsx)(I,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Extracting tasks…"})]})]})}),Object.entries(d).filter(([,b])=>b.rootMessageId===a.id).map(([a,c])=>{let d=J[a];return(0,b.jsx)("div",{className:"px-6 pb-4",children:(0,b.jsx)(o,{participantId:a,participantName:d?.name||a,participantColor:d?.color||"#888",content:c.content})},`streaming-${a}`)})]})]},a.id)})]})})}let ai=(0,t.default)("message-square-text",[["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"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var aj=a.i(8406);let ak={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function al({type:a,count:c,participantIds:d}){let e=ak[a],f=d.join(", "),g=f?`${e.label}: ${f}`:e.label;return(0,b.jsxs)("span",{title:g,className:"inline-flex items-center gap-1 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-2 py-0.5 text-xs text-[var(--foreground)]",children:[(0,b.jsx)("span",{"aria-hidden":!0,children:e.symbol}),(0,b.jsx)("span",{className:"tabular-nums",children:c})]})}function am({reactions:a}){if(!a||0===a.length)return null;let c=[...a].sort((a,b)=>b.count!==a.count?b.count-a.count:a.type.localeCompare(b.type));return(0,b.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:c.map(a=>(0,b.jsx)(al,{type:a.type,count:a.count,participantIds:a.participantIds},a.type))})}function an({messages:a,streaming:d,participants:e,rootMessageId:f,queued:g=!1,onClose:h,onCopyThread:i,onAddToChat:n,onDeleteThreadRoot:o,onDeleteMessage:p,highlightedMessageId:q,renderReplyComposer:s,activeProcesses:t=[]}){let u=(0,c.useRef)(null),v=(0,c.useRef)(new Map),w=Object.fromEntries(e.map(a=>[a.id,a])),x=(0,c.useMemo)(()=>{let b=a.find(a=>a.id===f),c=a.filter(a=>a.rootMessageId===f).sort((a,b)=>a.timestamp-b.timestamp);return b?[b,...c]:c},[a,f]),y=(0,c.useRef)(null),z=(0,c.useRef)(!1),B=(0,c.useRef)(null);return(0,c.useEffect)(()=>{let a=y.current;if(!a)return;let b=()=>{let{scrollTop:b,scrollHeight:c,clientHeight:d}=a;z.current=c-b-d>80};return a.addEventListener("scroll",b,{passive:!0}),()=>a.removeEventListener("scroll",b)},[]),(0,c.useEffect)(()=>{if(q&&q!==B.current){B.current=q;let a=v.current.get(q);a&&a.scrollIntoView({behavior:"smooth",block:"center"})}else q||z.current||(B.current=null,u.current?.scrollIntoView({behavior:"smooth"}))},[q,x,d]),(0,b.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-[var(--app-shell-bg)] transition-colors",children:[t.length>0&&(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] backdrop-blur-md transition-colors",children:[(0,b.jsxs)("div",{className:"inline-flex items-center gap-2 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsx)(aj.Sparkles,{className:"h-3.5 w-3.5 text-indigo-500",strokeWidth:1.75}),(0,b.jsx)("span",{className:"uppercase tracking-[0.16em]",children:"Working"})]}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:t.map(a=>{let c=w[a.agentId];return(0,b.jsxs)("div",{className:"relative",title:`${c?.name||a.agentId} — ${a.state}`,children:[(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(a.agentId,24,c?.color),alt:c?.name||a.agentId,className:"w-6 h-6 rounded-full border-2 border-[var(--app-shell-surface)] shadow-sm"}),(0,b.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-[var(--app-shell-surface)] animate-pulse"})]},a.agentId)})})]}),(0,b.jsx)("div",{ref:y,className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[x.map(a=>{let c,d="user"===a.role,e=a.participantId?w[a.participantId]:null;return(0,b.jsxs)("div",{ref:b=>{var c;return c=a.id,void(b?v.current.set(c,b):v.current.delete(c))},"data-message-id":a.id,className:"group relative flex gap-4 ",children:[(0,b.jsx)("div",{className:"flex-shrink-0 mt-1",children:d?(0,b.jsx)("div",{className:"w-9 h-9 bg-[var(--app-shell-subtle)] rounded-full flex items-center justify-center text-[var(--app-shell-muted)] shadow-sm",children:(0,b.jsx)($.User,{className:"w-5 h-5"})}):(0,b.jsx)(j.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,b.jsx)("img",{src:e?(0,l.agentAvatarUrl)(e.id,36,e.color):(0,l.agentAvatarUrl)(a.participantId||"assistant",36),alt:e?.name||a.participantId||"Assistant",className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,b.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[d?(0,b.jsx)("span",{className:"font-bold text-sm text-[var(--foreground)]",children:"You"}):(0,b.jsx)(j.default,{href:`/agents/${e?.id||a.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:e?.color?{color:e.color}:void 0,children:e?.name||a.participantId||"Assistant"}),void 0===a.rootMessageId&&a.id===f&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] rounded font-mono uppercase",children:"ROOT"}),(0,b.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:(c=a.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(c))})]}),(0,b.jsxs)("div",{className:`surface-card rounded-2xl p-5 text-[15px] leading-relaxed ${a.id===q?"ring-2 ring-[var(--ring)]":""}`,children:[(0,b.jsx)(k.Markdown,{content:(0,m.stripMarkers)(a.content),isUser:d}),a.attachments&&a.attachments.length>0&&(0,b.jsx)(r,{attachments:a.attachments}),a.reactions&&a.reactions.length>0&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(am,{reactions:a.reactions})})]}),(0,b.jsxs)(U,{children:[a.id===f&&(0,b.jsx)(W,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(a.id),title:"Copy message ID",children:(0,b.jsx)(ab,{className:"w-3.5 h-3.5"})}),a.id===f&&i&&(0,b.jsx)(W,{variant:"neutral",size:"sm",onClick:()=>i(a.id),title:"Copy Thread",children:(0,b.jsx)(ai,{className:"w-3.5 h-3.5"})}),(0,b.jsx)(W,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(a.content),title:"Copy as Markdown",children:(0,b.jsx)(A.Copy,{className:"w-3.5 h-3.5"})}),a.id===f&&o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V,{}),(0,b.jsx)(W,{variant:"destructive",size:"sm",onClick:()=>o(a.id),title:"Delete Thread",children:(0,b.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]}),a.id!==f&&p&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V,{}),(0,b.jsx)(W,{variant:"destructive",size:"sm",onClick:()=>p(a.id),title:"Delete Message",children:(0,b.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]})]})]})]},a.id)}),g&&0===t.length&&(0,b.jsxs)("div",{className:"flex gap-3 group relative opacity-80 animate-in fade-in slide-in-from-bottom-1 duration-300",children:[(0,b.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:(0,b.jsx)("div",{className:"w-7 h-7 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] flex items-center justify-center",children:(0,b.jsx)(aj.Sparkles,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)]",strokeWidth:1.5})})}),(0,b.jsx)("div",{className:"flex-1 max-w-full overflow-hidden",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,b.jsx)("span",{className:"text-xs tracking-wide text-[var(--app-shell-soft-text)]",children:"Processing"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]})})]}),Object.entries(d).filter(([,a])=>a.rootMessageId===f).map(([a,c])=>{let d=w[a],e=c.content.trim().length>0;return(0,b.jsxs)("div",{className:"flex gap-4 group relative animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,b.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,b.jsx)(j.default,{href:`/agents/${d?.id||a}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,b.jsx)("img",{src:d?(0,l.agentAvatarUrl)(d.id,36,d.color):(0,l.agentAvatarUrl)(a,36),alt:d?.name||a,className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,b.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(j.default,{href:`/agents/${d?.id||a}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:d?.color?{color:d.color}:void 0,children:d?.name||a}),!e&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),e&&(0,b.jsx)("div",{className:"surface-card rounded-2xl p-5 text-[15px] leading-relaxed",children:(0,b.jsx)(k.Markdown,{content:(0,m.stripMarkers)(c.content),isUser:!1})})]})]},`streaming-${a}`)}),(0,b.jsx)("div",{ref:u,className:"h-4"})]})}),(0,b.jsx)("div",{className:"z-20 transition-colors duration-200",children:s(f)})]})}var ao=a.i(82434);let ap=(0,t.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function aq({query:a,results:c,total:d,participants:e,threadTitleById:f,isLoading:g,error:h,onSelectResult:i,headerSlot:k}){let m=Object.fromEntries(e.map(a=>[a.id,a]));return(0,b.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[k?(0,b.jsx)("div",{className:"sticky top-0 z-20 bg-[var(--app-shell-subtle)]/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto",children:k})}):null,(0,b.jsxs)("div",{className:"mb-4 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3",children:[(0,b.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Search results"}),(0,b.jsx)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:g?"Searching…":`${d} result${1===d?"":"s"} for "${a}"`}),h?(0,b.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:h}):null]}),g||h||0!==c.length?null:(0,b.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-[var(--app-shell-muted)]",children:[(0,b.jsx)(ap,{className:"h-6 w-6",strokeWidth:1.5}),(0,b.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,b.jsx)("div",{className:"space-y-3 pb-6",children:c.map(a=>{var c;let d=a.participantId?m[a.participantId]:null,e=f[a.threadId]||"Untitled thread",g="user"===a.role?"You":d?.name||a.participantId||"Assistant";return(0,b.jsxs)("button",{type:"button",onClick:()=>i(a),className:"w-full rounded-xl border border-[var(--border)] bg-[var(--card-bg)] p-4 text-left transition hover:border-[var(--border)] hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,b.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-[var(--muted)]",children:"user"===a.role?(0,b.jsx)($.User,{className:"h-4 w-4 text-[var(--foreground)]"}):d?(0,b.jsx)(j.default,{href:`/agents/${d.id}`,onClick:a=>a.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,b.jsx)("img",{src:(0,l.agentAvatarUrl)(d.id,32,d.color),alt:"",className:"h-full w-full object-cover"})}):(0,b.jsx)(ao.Bot,{className:"h-4 w-4 text-[var(--foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0",children:["user"!==a.role&&d?(0,b.jsx)(j.default,{href:`/agents/${d.id}`,onClick:a=>a.stopPropagation(),className:"truncate text-sm font-semibold text-[var(--foreground)] hover:underline block",children:g}):(0,b.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:g}),(0,b.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:e})]})]}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:(c=a.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(c))})]}),(0,b.jsx)("p",{className:"text-sm leading-relaxed text-[var(--foreground)]",children:function(a){let c=a.split(/(<\/?mark>)/g),d=!1,e=[];for(let[a,f]of c.entries()){if("<mark>"===f){d=!0;continue}if("</mark>"===f){d=!1;continue}f&&e.push(d?(0,b.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:f},`${a}-mark`):(0,b.jsx)("span",{children:f},`${a}-text`))}return e}(a.snippet)})]},`${a.threadId}-${a.messageId}`)})})]})})}var ar=a.i(13872),as=a.i(28977),at=a.i(9345);let au=/^[A-Za-z0-9_\-:]*$/,av={id:"all",name:"All",provider:"claude",model:null,color:"#6B7280"};function aw(a,b,c){return c?a.startsWith(c)?3:b.startsWith(c)?2:a.includes(c)?1:null:0}let ax=/^[a-zA-Z0-9_-]*$/,ay=new Set(["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","text/plain","text/csv","text/markdown","application/json","application/zip","application/gzip","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation"]),az=new Set([".exe",".bat",".cmd",".com",".msi",".scr",".pif",".vbs",".vbe",".js",".jse",".ws",".wsf",".wsc",".wsh",".ps1",".ps2",".psc1",".psc2",".reg",".inf",".lnk",".dll",".sys",".drv"]),aA=[{path:`${process.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${process.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${process.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${process.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${process.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function aB(a,b){let c=function(a,b){let c=a.trim().replace(/\/+$/,"");if("~"===c)return"~";if(c.startsWith("~/")||c.startsWith("/"))return c;let d=c.replace(/^\/+/,"");return"@~"===b?`~/${d}`:`/${d}`}(a,b.trigger);if(c.startsWith("~/")||c.startsWith("/")){let d=a.trim().startsWith("~/")||a.trim().startsWith("/")||"~"===a.trim()?null:function(a){if(!a.query.endsWith("/"))return null;let b=a.query.replace(/^\/+/,"").replace(/\/+$/,"");return"@~"===a.trigger?b?`~/${b}`:"~":b?`/${b}`:"/"}(b);if(d){let a=c.replace(/^~\/|^\//,"");return"~"===d?`~/${a}`:"/"===d?`/${a}`:`${d}/${a}`}}return c}let aC="agx-composer-history";async function aD(a){let b;if(0===a.length)return[];let c=a.map(a=>a.path);try{let d=await fetch("/api/file-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:c})});if(!d.ok){let b=(await d.json().catch(()=>({}))).error??`HTTP ${d.status}`;return a.map(a=>({type:"file",path:a.path,label:a.label,content:null,error:b}))}b=(await d.json()).results}catch(c){let b=c instanceof Error?c.message:"Failed to fetch file contents";return a.map(a=>({type:"file",path:a.path,label:a.label,content:null,error:b}))}let d=new Map(b.map(a=>[a.path,a]));return a.map(a=>{let b=d.get(a.path);return{type:"file",path:a.path,label:a.label,content:b?.content??null,error:b?.error}})}async function aE(a){let b=await aD(a),c=0===b.length?"":b.map(a=>a.error||null===a.content?`<file path="${a.path}" error="${a.error??"unreadable"}" />`:`<file path="${a.path}">
4
4
  ${a.content}
5
- </file>`).join("\n\n")+"\n\n";return{fileContextBlocks:b,contextPrefix:c}}var aD=a.i(83489);let aE=aD.Node.create({name:"participantMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},name:{default:""},mode:{default:"sequential"},kind:{default:"agent"}}),parseHTML:()=>[{tag:"span[data-participant-mention]"}],renderHTML({node:a,HTMLAttributes:b}){let c="parallel"===a.attrs.mode;return["span",(0,aD.mergeAttributes)(b,{"data-participant-mention":"","data-id":a.attrs.id,"data-mode":a.attrs.mode,class:c?"composer-pill composer-pill--participant-parallel":"composer-pill composer-pill--participant",contenteditable:"false"}),`${c?"@@":"@"}${a.attrs.name}`]}}),aF=aD.Node.create({name:"projectMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},slug:{default:""},name:{default:""}}),parseHTML:()=>[{tag:"span[data-project-mention]"}],renderHTML:({node:a,HTMLAttributes:b})=>["span",(0,aD.mergeAttributes)(b,{"data-project-mention":"","data-id":a.attrs.id,"data-slug":a.attrs.slug,class:"composer-pill composer-pill--project",contenteditable:"false"}),`@${a.attrs.name}`]}),aG=aD.Node.create({name:"fileMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({path:{default:""},relativePath:{default:""},trigger:{default:"@/"},attachMode:{default:void 0}}),parseHTML:()=>[{tag:"span[data-file-mention]"}],renderHTML({node:a,HTMLAttributes:b}){let c=a.attrs.relativePath||a.attrs.path;return["span",(0,aD.mergeAttributes)(b,{"data-file-mention":"","data-path":a.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${c}`]}}),aH=aD.Node.create({name:"threadMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({threadId:{default:""},title:{default:""}}),parseHTML:()=>[{tag:"span[data-thread-mention]"}],renderHTML:({node:a,HTMLAttributes:b})=>["span",(0,aD.mergeAttributes)(b,{"data-thread-mention":"","data-thread-id":a.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${a.attrs.title}`]});function aI(a){let{state:b}=a,{$from:c}=b.selection,d=c.depth,e=-1;for(let a=d;a>=0;a--)if("paragraph"===c.node(a).type.name){e=a;break}if(-1===e)return null;let f=c.node(e),g=c.start(e),h=c.pos-g,i="",j=0,k=!1;return f.forEach((a,b)=>{let c=b+a.nodeSize;if(a.isText){let d=a.text??"";!k&&h>=b&&h<=c&&(j=i.length+(h-b),k=!0),i+=d}else if(a.isAtom){let d=aJ(a);!k&&h>=b&&h<=c&&(j=i.length+d.length,k=!0),i+=d}}),k||(j=i.length),{text:i,cursorPos:j,blockStart:g}}function aJ(a){switch(a.type.name){case"participantMention":{let b="parallel"===a.attrs.mode?"@@":"@";return`${b}${a.attrs.name}`}case"fileMention":{let b=a.attrs.relativePath||a.attrs.path;return`@${b}`}case"threadMention":{let b=(a.attrs.threadId??"").slice(0,8);return`@#${b}`}default:return""}}function aK(a,b,c,d){let{state:e}=a,f=e.doc.resolve(b),g=f.depth,h=null,i=b;for(let a=g;a>=0;a--){let b=f.node(a);if("paragraph"===b.type.name){h=b,i=f.start(a);break}}h||(h=e.doc.resolve(b).parent,i=b);let j=0,k=null,l=null;return(h.forEach((a,b)=>{let e=i+b,f=a.nodeSize;if(a.isText){let b=a.text??"",f=j+b.length;null===k&&c>=j&&c<=f&&(k=e+(c-j)),null===l&&d>=j&&d<=f&&(l=e+(d-j)),j=f}else if(a.isAtom){let b=aJ(a),g=j+b.length;null===k&&c>=j&&c<=g&&(k=e),null===l&&d>=j&&d<=g&&(l=e+f),j=g}}),null===k&&c>=j&&(k=i+h.content.size),null===l&&d>=j&&(l=i+h.content.size),null===k||null===l)?null:{from:k,to:l}}let aL=(0,o.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var aM=a.i(60246);function aN({isOpen:a,suggestions:d,activeIndex:e,listboxId:f,optionIdPrefix:g,onSelect:h}){let i=(0,c.useRef)([]);if((0,c.useEffect)(()=>{a&&i.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),!a||0===d.length)return null;let j=new Set;return(0,b.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,b.jsx)("div",{role:"listbox",id:f,"aria-label":"Mention suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:d.map((a,c)=>{let d=c===e,f="project-group"===a.kind?`project-group-${a.project.id}`:"project"===a.kind?`project-${a.project.id}`:a.participant.id,k=a.group,l=null;if(k&&!j.has(k)&&(j.add(k),l=(0,b.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-[var(--muted-foreground)] bg-[var(--app-shell-subtle)] border-t border-[var(--border)] first:border-t-0",children:k})),"project-group"===a.kind)return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${f}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(aM.Users,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:a.project.name}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[a.project.agents.length," agent",1!==a.project.agents.length?"s":""]})]})})]},f);if("project"===a.kind)return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${f}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(aL,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:a.project.name}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.project.slug})]})})]},f);let m=a.participant;return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${m.id}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}${k?" pl-6":""}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:m.color},"aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:m.name}),"all"===m.id?(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"All participants"}):m.model&&(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:m.model})]})})]},f)})})})}function aO({isOpen:a,commands:d,activeIndex:e,listboxId:f,optionIdPrefix:g,onSelect:h}){let i=(0,c.useRef)([]);return((0,c.useEffect)(()=>{a&&i.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),a&&0!==d.length)?(0,b.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,b.jsx)("div",{role:"listbox",id:f,"aria-label":"Command suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:d.map((a,c)=>{let d=c===e;return(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${a.name.slice(1)}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>a.preventDefault(),onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium font-mono",children:a.name}),a.aliases&&a.aliases.length>0&&(0,b.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:["(",a.aliases.join(", "),")"]}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.description})]})},a.name)})})}):null}var aP=a.i(92e3);let aQ=(0,o.default)("file",[["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"}]]);var aR=a.i(92596);function aS({suggestion:a,isActive:c,optionId:d,onSelect:e,onAttachContents:f,itemRef:g}){let h="folder"===a.type,i="contents"===a.attachMode,j=function(a){if(!a)return null;let b=Math.floor((Date.now()-a)/864e5);return 0===b?"Today":1===b?"Yesterday":b<7?`${b}d ago`:b<30?`${Math.floor(b/7)}w ago`:b<365?`${Math.floor(b/30)}mo ago`:`${Math.floor(b/365)}y ago`}(a.modifiedAt),k=a.relativePath??a.path;return(0,b.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors duration-200 ${c?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]","aria-hidden":!0,children:h?c?(0,b.jsx)(I.FolderOpen,{className:"h-4 w-4 text-amber-500"}):(0,b.jsx)(aR.Folder,{className:"h-4 w-4 text-amber-400"}):(0,b.jsx)(aQ,{className:"h-4 w-4"})}),(0,b.jsxs)("button",{type:"button",role:"option",id:d,"aria-selected":c,ref:g,className:"min-w-0 flex-1 text-left",onMouseDown:a=>a.preventDefault(),onClick:()=>e(a),tabIndex:-1,children:[(0,b.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"block truncate font-mono text-xs text-[var(--foreground)]",children:k}),j&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:j})]}),h&&a.manifest&&(0,b.jsxs)("span",{className:"block text-xs text-[var(--muted-foreground)]",children:[a.manifest.childCount," items ·"," ",a.manifest.sizeSummary,i?(0,b.jsx)("span",{className:"ml-1 font-medium text-[var(--primary)]",children:"full tree"}):(0,b.jsx)("span",{className:"ml-1 text-[var(--muted-foreground)]",children:"manifest"})]})]}),h&&!i&&(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded px-1.5 py-0.5 text-xs text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:text-[var(--foreground)] transition-colors duration-200",title:"Attach full directory contents instead of manifest","aria-label":`Attach full contents of ${k}`,onMouseDown:a=>a.preventDefault(),onClick:()=>f(a),tabIndex:-1,children:"Attach contents"}),h&&i&&(0,b.jsx)("span",{className:"shrink-0 rounded bg-[var(--primary-muted)] px-1.5 py-0.5 text-xs font-medium text-[var(--primary)]",children:"full tree"})]})}var aT=a.i(7704);function aU({isOpen:a,suggestions:d,activeIndex:e,isLoading:f,error:g,listboxId:h,optionIdPrefix:i,onSelect:j,onAttachContents:k}){let l=(0,c.useRef)([]),m=(0,c.useRef)(null),[n,o]=(0,c.useState)(!1);if((0,c.useEffect)(()=>{a&&l.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),(0,c.useEffect)(()=>{a&&m.current&&o(m.current.getBoundingClientRect().top<280)},[a]),!a)return null;let p=d.length>0?`${i}-${e}`:void 0;return(0,b.jsx)("div",{ref:m,className:`${n?"absolute left-0 right-0 top-full mt-2 z-20":"absolute left-0 right-0 bottom-full mb-3 z-20"} ${aT.default.popover}`,children:(0,b.jsxs)("div",{role:"listbox",id:h,"aria-label":"File suggestions","aria-activedescendant":p,className:"max-h-64 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:[g&&!f&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,b.jsx)(aP.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{children:g})]}),!g&&f&&0===d.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite","aria-label":"Searching for files",children:[(0,b.jsx)(H,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,b.jsx)("span",{children:"Searching…"})]}),!g&&!f&&0===d.length&&(0,b.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite",children:"No results"}),!g&&f&&d.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1 text-xs text-[var(--muted-foreground)] border-b border-[var(--border)]",children:[(0,b.jsx)(H,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,b.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),d.length>0&&d.map((a,c)=>(0,b.jsx)(aS,{suggestion:a,isActive:c===e,optionId:`${i}-${c}`,onSelect:j,onAttachContents:k,itemRef:a=>{l.current[c]=a}},a.path))]})})}function aV({isOpen:a,suggestions:c,activeIndex:d,listboxId:e,optionIdPrefix:f,onSelect:g}){return a&&0!==c.length?(0,b.jsxs)("div",{className:"absolute bottom-full left-0 mb-2 w-80 bg-[var(--app-shell-elevated)] rounded-xl shadow-xl border border-[var(--app-shell-border)] overflow-hidden z-50 animate-in fade-in zoom-in-95 duration-100",role:"listbox",id:e,children:[(0,b.jsx)("div",{className:"px-3 py-2 bg-[var(--app-shell-subtle)] border-b border-[var(--app-shell-border)] text-[11px] font-bold text-[var(--app-shell-muted)] uppercase tracking-wider",children:"Reference Discussion"}),(0,b.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:c.map((a,c)=>{let e=c===d;return(0,b.jsxs)("button",{role:"option",id:`${f}-${c}`,"aria-selected":e,onClick:()=>g(a),className:`w-full text-left px-3 py-2.5 rounded-lg flex items-start gap-3 transition-colors ${e?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("div",{className:`mt-0.5 p-1.5 rounded-md ${e?"bg-[var(--primary-muted)] text-[var(--primary)]":"bg-[var(--muted)] text-[var(--muted-foreground)]"}`,children:(0,b.jsx)(W.MessageSquare,{size:14,strokeWidth:2.5})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:`text-sm font-semibold truncate ${e?"text-[var(--primary)]":"text-[var(--foreground)]"}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,b.jsxs)("span",{className:`text-xs ${e?"text-[var(--primary)]":"text-[var(--muted-foreground)]"}`,children:[a.replies.length," replies"]}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"•"}),(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,b.jsx)($.Clock,{size:10}),function(a){if(!a)return"";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m`;let d=Math.floor(c/60);return d<24?`${d}h`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(a.lastActivityAt)]})]})]})]},a.rootMessageId)})})]}):null}var aW=a.i(69520);let aX=(0,o.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);function aY({attachments:a,onRemove:c,onRetry:d}){return 0===a.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-2 px-1 pb-2",children:a.map(a=>{var e;let f=a.mimeType.startsWith("image/"),g="failed"===a.status,h="uploading"===a.status;return(0,b.jsxs)("div",{className:`relative group flex items-center gap-2 rounded-lg border px-2.5 py-1.5 text-xs transition-all ${g?"border-red-200 bg-red-50 text-red-700":"border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)]"}`,children:[f&&a.previewUrl?(0,b.jsx)("img",{src:a.previewUrl,alt:a.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,b.jsx)("div",{className:"w-8 h-8 rounded bg-[var(--muted)] flex items-center justify-center shrink-0",children:f?(0,b.jsx)(aX,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,b.jsx)(p,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,b.jsx)("div",{className:"truncate font-medium",children:a.filename}),g&&a.error?(0,b.jsx)("div",{className:"truncate text-[10px] text-red-500",children:a.error}):(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:(e=a.size)<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(0)}KB`:`${(e/1048576).toFixed(1)}MB`})]}),h&&(0,b.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--muted)] rounded-b-lg overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${a.progress}%`}})}),(0,b.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[g&&(0,b.jsx)("button",{type:"button",onClick:()=>d(a.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,b.jsx)(aW.RefreshCw,{className:"w-3 h-3"})}),(0,b.jsx)("button",{type:"button",onClick:()=>c(a.id),className:"p-0.5 rounded hover:bg-[var(--muted)] transition-colors",title:"Remove",children:(0,b.jsx)(x.X,{className:"w-3 h-3"})})]})]},a.id)})})}function aZ({onDrop:a,children:d}){let[e,f]=(0,c.useState)(!1),g={current:0},h=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),g.current++,a.dataTransfer.types.includes("Files")&&f(!0)},[]),i=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),j=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),g.current--,0===g.current&&f(!1)},[]),k=(0,c.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),g.current=0,f(!1),b.dataTransfer.files.length>0&&a(b.dataTransfer.files)},[a]);return(0,b.jsxs)("div",{className:"relative",onDragEnter:h,onDragOver:i,onDragLeave:j,onDrop:k,children:[d,e&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-lg border-2 border-dashed border-blue-400 bg-blue-50/80 pointer-events-none",children:(0,b.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}let a$=(0,o.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);function a_(a,b,c,d,e){if(!a)return;let f=aK(a,b,c,d);f&&a.chain().focus().deleteRange(f).insertContent(e).insertContent(" ").run()}function a0({onSend:a,onStop:d,loading:e,participants:f,projects:g=[],projectGroups:h=[],messages:i=[],commands:j,placeholder:k="Message — @name to mention, /search, /summarize",workspaceRoots:l=[],onConfigureRoots:m,pendingThreadInsert:n,onClearPendingThread:o,autoMode:p=!1,onAutoModeChange:q}){let[r,s]=(0,c.useState)(10),[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(!1),x=(0,c.useCallback)(()=>{v.current?.click()},[]),[y,z]=(0,c.useState)([]),A=function({participants:a,projectGroups:b=[],projects:d=[],maxSuggestions:e=6}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)(!1),l=null!==f&&!j,m=f?.query??"",n=(0,c.useMemo)(()=>(function(a,b,c,d=[],e=[]){let f=b.toLowerCase(),g=new Map(a.map(a=>[a.id,a])),h=new Set;for(let a of d)for(let b of a.agents)h.add(b.agent_id);let i=[];for(let a of(null!==av("all","all",f)&&i.push({kind:"agent",participant:au,group:""}),d)){let b=av(a.name.toLowerCase(),a.id.toLowerCase(),f),c=[];for(let b of a.agents){let a=g.get(b.agent_id);if(!a)continue;let d=av(a.name.toLowerCase(),a.id.toLowerCase(),f);null!==d&&c.push({participant:a,score:d})}(null!==b||c.length>0)&&(null!==b&&i.push({kind:"project-group",project:a,group:a.name}),(null!==b&&f?a.agents.map(a=>g.get(a.agent_id)).filter(a=>!!a).map(a=>({participant:a,score:0})):c).sort((a,b)=>a.participant.name.localeCompare(b.participant.name)).forEach(({participant:b})=>{i.push({kind:"agent",participant:b,group:a.name})}))}for(let a of e)null!==av(a.name.toLowerCase(),a.slug.toLowerCase(),f)&&i.push({kind:"project",project:a,group:"Projects"});let j=[];for(let b of a){if(h.has(b.id))continue;let a=av(b.name.toLowerCase(),b.id.toLowerCase(),f);null!==a&&j.push({participant:b,score:a})}return j.sort((a,b)=>a.participant.name.localeCompare(b.participant.name)).forEach(({participant:a})=>{i.push({kind:"agent",participant:a,group:""})}),i.slice(0,c)})(a,m,e,b,d),[a,m,e,b,d]),o=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<0||b>a.length)return null;let c=b;for(;c>0&&!/\s/.test(a[c-1]);)c--;let d=a.slice(c,b);if(!d.startsWith("@")||d.startsWith("@@@")||d.startsWith("@#"))return null;let e=d.startsWith("@@"),f=d.slice(e?2:1);return at.test(f)?{startIndex:c,endIndex:b,query:f.toLowerCase(),mode:e?"parallel":"sequential",isParallel:e}:null}(a,b);g(a=>((a?.startIndex!==c?.startIndex||a?.isParallel!==c?.isParallel||a?.query!==c?.query)&&i(0),c))},[]),p=(0,c.useCallback)((a,b)=>{j||o(a,b)},[j,o]),q=(0,c.useCallback)(a=>{if(!l||0===n.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),i(a=>a<n.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),i(a=>a>0?a-1:n.length-1),!0;case"Enter":case"Tab":return a.preventDefault(),!0;case"Escape":return a.preventDefault(),g(null),!0;default:return!1}},[l,n.length]),r=(0,c.useCallback)(a=>{if(!f)return null;let b="project-group"===a.kind||"project"===a.kind?a.project.name:a.participant.name,c=f.isParallel?"@@":"@";return{text:`${c}${b} `,startIndex:f.startIndex,endIndex:f.endIndex}},[f]),s=(0,c.useCallback)(()=>{g(null),i(0)},[]);return{isOpen:l,query:m,filteredSuggestions:n,activeIndex:h,token:f,isComposing:j,handleInput:p,handleKeyDown:q,selectSuggestion:r,close:s,startComposition:(0,c.useCallback)(()=>{k(!0)},[]),endComposition:(0,c.useCallback)((a,b)=>{k(!1),o(a,b)},[o])}}({participants:f,projectGroups:h,projects:g,maxSuggestions:8}),B=function({commands:a,maxSuggestions:b=6}){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(0),h=null!==d,i=d?.query??"",j=(0,c.useMemo)(()=>{let c;return(c=i.toLowerCase())?a.filter(a=>!!a.name.slice(1).toLowerCase().startsWith(c)||(a.aliases?.some(a=>a.toLowerCase().startsWith(c))??!1)).slice(0,b):a.slice(0,b)},[a,i,b]),k=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<0||b>a.length||!a.startsWith("/"))return null;let c=a.slice(0,b);if(/\s/.test(c))return null;let d=c.slice(1);return aw.test(d)?{startIndex:0,endIndex:b,query:d.toLowerCase()}:null}(a,b);e(a=>(a?.query!==c?.query&&g(0),c))},[]),l=(0,c.useCallback)(a=>{if(!h||0===j.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),g(a=>a<j.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),g(a=>a>0?a-1:j.length-1),!0;case"Enter":case"Tab":return a.preventDefault(),!0;case"Escape":return a.preventDefault(),e(null),!0;default:return!1}},[h,j.length]),m=(0,c.useCallback)(a=>!!d&&(a.execute(),e(null),g(0),!0),[d]);return{isOpen:h,query:i,filteredCommands:j,activeIndex:f,token:d,handleInput:k,handleKeyDown:l,selectCommand:m,close:(0,c.useCallback)(()=>{e(null),g(0)},[])}}({commands:j,maxSuggestions:6}),C=function({maxSuggestions:a=8,debounceMs:b=150}={}){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=null!==d,r=(0,c.useCallback)(async(b,c)=>{n.current&&n.current.abort();let d=new AbortController;n.current=d,k(!0),m(null);try{let e=b.endsWith("/"),f=e?"*":b,h=new URLSearchParams({q:f,limit:String(a),includeFolders:"1"});if(e){let a="@~"===c?`${process.env.HOME??"~"}/${b.slice(0,-1)}`:`/${b.slice(0,-1)}`;h.set("root",a)}else"@~"===c&&h.set("root",process.env.HOME??"~");let j=await fetch(`/api/file-search?${h.toString()}`,{signal:d.signal});if(!j.ok){let a=await j.json().catch(()=>({}));throw Error(a.error??`HTTP ${j.status}`)}let k=await j.json();g(k.files.map(a=>({...a,attachMode:"folder"===a.type?"manifest":void 0}))),i(0)}catch(a){if("AbortError"===a.name)return;m(a.message??"Search failed"),g([])}finally{k(!1)}},[a]),s=(0,c.useCallback)((c,d)=>{if(null!==o.current&&clearTimeout(o.current),c!==p.current){if(c.length<3){n.current&&(n.current.abort(),n.current=null),p.current=c,k(!1),m(null),g(az.slice(0,a).map(a=>({...a,attachMode:"manifest"}))),i(0);return}o.current=setTimeout(()=>{p.current=c,r(c,d)},b)}},[b,r,a]);(0,c.useEffect)(()=>()=>{null!==o.current&&clearTimeout(o.current),n.current&&n.current.abort()},[]);let t=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<2||b>a.length)return null;let c=b;for(;c>0&&!/\s/.test(a[c-1]);)c--;let d=a.slice(c,b);if(!d.startsWith("@/")&&!d.startsWith("@~"))return null;let e=d.slice(0,2);return{startIndex:c,endIndex:b,query:d.slice(2),trigger:e}}(a,b);e(a=>((a?.startIndex!==c?.startIndex||a?.query!==c?.query||a?.trigger!==c?.trigger)&&null===c&&(null!==o.current&&clearTimeout(o.current),n.current&&(n.current.abort(),n.current=null),p.current=null,g([]),k(!1),m(null)),c)),c&&s(c.query,c.trigger)},[s]),u=(0,c.useCallback)(a=>{if(!q||0===f.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),i(a=>a<f.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),i(a=>a>0?a-1:f.length-1),!0;case"Enter":return a.preventDefault(),!0;case"Tab":return!0;case"Escape":return a.preventDefault(),e(null),g([]),!0;default:return!1}},[q,f.length]),v=(0,c.useCallback)(a=>{if(!d)return null;let b=aA(a.relativePath??a.path,d),c="folder"===a.type?"/":"",f=`@${b}${c} `;return e(null),g([]),{text:f,startIndex:d.startIndex,endIndex:d.endIndex}},[d]),w=(0,c.useCallback)(a=>{if(!d||"folder"!==a.type)return null;let b=aA(a.relativePath??a.path,d),c=b.startsWith("~/")?"@~":"@/",f=b.slice(1),g=`@${b}/`,h=d.startIndex+g.length,i=`${f}/`;return e({startIndex:d.startIndex,endIndex:h,query:i,trigger:c}),p.current=null,s(i,c),{text:g,startIndex:d.startIndex,endIndex:d.endIndex}},[d,s]),x=(0,c.useCallback)(a=>{g(b=>b.map(b=>b.path===a.path?{...b,attachMode:"contents"}:b))},[]);return{isOpen:q,token:d,suggestions:f,activeIndex:h,isLoading:j,error:l,handleInput:t,handleKeyDown:u,selectSuggestion:v,drillDown:w,close:(0,c.useCallback)(()=>{e(null),g([]),i(0)},[]),onAttachContents:x}}({maxSuggestions:8}),D=function({messages:a,maxSuggestions:b=5}){let[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)([]),[l,m]=(0,c.useState)(null),n=(0,c.useRef)([]);(0,c.useEffect)(()=>{let b=a.filter(a=>!a.rootMessageId),c=new Map;a.forEach(a=>{if(a.rootMessageId){let b=c.get(a.rootMessageId)||[];b.push(a),c.set(a.rootMessageId,b)}}),n.current=b.map(a=>{let b=c.get(a.id)||[],d=[a,...b],e=Math.max(...d.map(a=>a.timestamp)),f=a.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",g=[...new Set(d.map(a=>a.participantId||"user"))];return{rootMessageId:a.id,title:f,rootMessage:a,replies:b,participantIds:g,lastActivityAt:e}}).sort((a,b)=>b.lastActivityAt-a.lastActivityAt)},[a]);let o=(0,c.useCallback)((a,c)=>{let d=a.slice(0,c).match(/@#([^@#\s]*)$/);if(d){e(!0);let a=d[1].toLowerCase();g(a),m(d.index),i(0),k(n.current.filter(b=>b.title.toLowerCase().includes(a)).slice(0,b))}else e(!1),m(null)},[b]),p=(0,c.useCallback)(a=>!!d&&0!==j.length&&("ArrowDown"===a.key?(a.preventDefault(),i(a=>(a+1)%j.length),!0):"ArrowUp"===a.key?(a.preventDefault(),i(a=>(a-1+j.length)%j.length),!0):"Escape"===a.key&&(a.preventDefault(),e(!1),!0)),[d,j.length]),q=(0,c.useCallback)(a=>null===l?null:{startIndex:l,endIndex:l+2+f.length,text:""},[l,f]);return{isOpen:d,suggestions:j,activeIndex:h,handleInput:o,handleKeyDown:p,selectSuggestion:q,close:(0,c.useCallback)(()=>{e(!1),m(null)},[]),exportDiscussion:(0,c.useCallback)(async a=>{let b=[];try{let a=await fetch("/api/participants");a.ok&&(b=await a.json())}catch(a){console.warn("Failed to fetch participants for export",a)}let c=await fetch("/api/thread-export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a.rootMessageId,title:a.title,messages:[a.rootMessage,...a.replies],participants:b})});if(!c.ok)throw Error(`Export failed: ${await c.text()}`);return await c.json()},[])}}({messages:i,maxSuggestions:8}),E=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useRef)(new Map),e=(0,c.useCallback)(a=>{let c=new XMLHttpRequest;d.current.set(a.id,c);let e=new FormData;e.append("file",a.file),c.upload.onprogress=c=>{if(c.lengthComputable){let d=Math.round(c.loaded/c.total*100);b(b=>b.map(b=>b.id===a.id?{...b,progress:d}:b))}},c.onload=()=>{if(d.current.delete(a.id),c.status>=200&&c.status<300)try{let d=JSON.parse(c.responseText),e=d.attachments?.[0];if(e)return void b(b=>b.map(b=>b.id===a.id?{...b,status:"uploaded",progress:100,serverId:e.id}:b))}catch{}let e=(()=>{try{return JSON.parse(c.responseText)?.error||"Upload failed"}catch{return"Upload failed"}})();b(b=>b.map(b=>b.id===a.id?{...b,status:"failed",error:e}:b))},c.onerror=()=>{d.current.delete(a.id),b(b=>b.map(b=>b.id===a.id?{...b,status:"failed",error:"Network error"}:b))},c.open("POST","/api/upload"),c.send(e)},[]),f=(0,c.useCallback)(c=>{let d=Array.from(c),f=function(a){let b=a.reduce((a,b)=>a+b.size,0);if(b>0x3200000){let a=(b/1048576).toFixed(1);return{file:"(total)",reason:`Total attachment size (${a}MB) exceeds 50MB limit`}}return null}([...a.map(a=>({name:a.filename,size:a.size,type:a.mimeType})),...d.map(a=>({name:a.name,size:a.size,type:a.type}))]);if(f)return void alert(f.reason);let g=[];for(let a of d){let b=function(a){let b=a.name.includes(".")?"."+a.name.split(".").pop().toLowerCase():"";if(ay.has(b))return{file:a.name,reason:`File type "${b}" is not allowed`};if(a.type&&!ax.has(a.type))return{file:a.name,reason:`File type "${a.type}" is not supported`};if(!a.type&&!ax.has("application/octet-stream"),a.size>0xa00000){let b=(a.size/1048576).toFixed(1);return{file:a.name,reason:`File is too large (${b}MB). Maximum is 10MB`}}return 0===a.size?{file:a.name,reason:"File is empty"}:null}({name:a.name,size:a.size,type:a.type});if(b){g.push({id:crypto.randomUUID(),file:a,filename:a.name,mimeType:a.type,size:a.size,previewUrl:null,progress:0,status:"failed",error:b.reason});continue}let c=a.type.startsWith("image/")?URL.createObjectURL(a):null,d={id:crypto.randomUUID(),file:a,filename:a.name,mimeType:a.type||"application/octet-stream",size:a.size,previewUrl:c,progress:0,status:"uploading"};g.push(d)}for(let a of(b(a=>[...a,...g]),g))"uploading"===a.status&&e(a)},[a,e]),g=(0,c.useCallback)(a=>{b(b=>{let c=b.find(b=>b.id===a);c?.previewUrl&&URL.revokeObjectURL(c.previewUrl);let e=d.current.get(a);return e&&(e.abort(),d.current.delete(a)),c?.serverId&&fetch(`/api/upload/${c.serverId}`,{method:"DELETE"}).catch(()=>{}),b.filter(b=>b.id!==a)})},[]),h=(0,c.useCallback)(a=>{b(b=>{let c=b.find(b=>b.id===a);if(!c||"failed"!==c.status)return b;let d=b.map(b=>b.id===a?{...b,status:"uploading",error:void 0,progress:0}:b),f=d.find(b=>b.id===a);return setTimeout(()=>e(f),0),d})},[e]),i=(0,c.useCallback)(()=>{b(a=>{for(let b of a){b.previewUrl&&URL.revokeObjectURL(b.previewUrl);let a=d.current.get(b.id);a&&a.abort()}return d.current.clear(),[]})},[]),j=0===a.length||a.every(a=>"uploaded"===a.status||"failed"===a.status),k=a.some(a=>"uploaded"===a.status),l=a.filter(a=>"uploaded"===a.status&&a.serverId);return{staged:a,stageFiles:f,remove:g,retry:h,clear:i,canSend:j,hasUploaded:k,attachmentIds:l.map(a=>a.serverId),getAttachmentMetas:(0,c.useCallback)(()=>l.map(a=>({id:a.serverId,filename:a.filename,mimeType:a.mimeType,size:a.size,status:"uploaded",url:`/api/attachments/${a.serverId}`})),[l])}}(),F=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useCallback)((a,c,d)=>{b(b=>b.find(b=>b.path===a)?b.map(b=>b.path===a?{...b,label:c,attachMode:d??b.attachMode}:b):[...b,{kind:"file-path",id:crypto.randomUUID(),path:a,label:c,attachMode:d}])},[]);return{filePaths:a,addFilePath:d,removeFilePath:(0,c.useCallback)(a=>{b(b=>b.filter(b=>b.id!==a))},[]),clearFilePaths:(0,c.useCallback)(()=>{b([])},[]),hasFilePaths:a.length>0}}();(0,c.useEffect)(()=>{t&&!f.some(a=>a.id===t)&&u(null)},[f,t]);let G=(0,aq.useEditor)({immediatelyRender:!1,extensions:[ar.default.configure({heading:!1,bulletList:!1,orderedList:!1,listItem:!1,blockquote:!1,codeBlock:!1,code:!1,horizontalRule:!1,hardBreak:{keepMarks:!1}}),as.default.configure({placeholder:k}),aE,aF,aG,aH],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handlePaste:(a,b)=>{let c=b.clipboardData?.files;return!!c&&c.length>0&&(b.preventDefault(),E.stageFiles(c),!0)},handleDOMEvents:{compositionstart:()=>(w.current=!0,A.startComposition(),!1),compositionend:(a,b)=>(w.current=!1,setTimeout(()=>{if(!G)return;let a=aI(G);a&&A.endComposition(a.text,a.cursorPos)},0),!1)},handleKeyDown:(a,b)=>{if("Tab"===b.key||"Enter"===b.key&&!b.shiftKey){if(B.isOpen&&B.filteredCommands.length>0){b.preventDefault();let a=B.filteredCommands[B.activeIndex];return a&&M(a),!0}if(C.isOpen&&C.suggestions.length>0){b.preventDefault();let a=C.suggestions[C.activeIndex];return a&&("folder"===a.type?K(a):J(a)),!0}if(D.isOpen&&D.suggestions.length>0){b.preventDefault();let a=D.suggestions[D.activeIndex];return a&&L(a),!0}if(A.isOpen&&A.filteredSuggestions.length>0){b.preventDefault();let a=A.filteredSuggestions[A.activeIndex];return a&&I(a),!0}}let c={key:b.key,preventDefault:()=>b.preventDefault()};return!!(B.isOpen&&B.handleKeyDown(c)||C.isOpen&&C.handleKeyDown(c)||D.isOpen&&D.handleKeyDown(c)||A.handleKeyDown(c))||"Enter"===b.key&&!b.shiftKey&&(b.preventDefault(),N(),!0)}},onUpdate:({editor:a})=>{if(w.current)return;let b=aI(a);b&&(A.handleInput(b.text,b.cursorPos),B.handleInput(b.text,b.cursorPos),C.handleInput(b.text,b.cursorPos),D.handleInput(b.text,b.cursorPos))},onBlur:()=>{A.close(),B.close(),C.close(),D.close()}});(0,c.useEffect)(()=>{if(!n||!G)return;let{title:a,threadId:b,messages:c}=n;G.chain().focus().insertContent({type:"threadMention",attrs:{threadId:b,title:a}}).insertContent(" ").run();let d=c[0];if(d){let e={rootMessageId:b,title:a,rootMessage:d,replies:c.slice(1),participantIds:[...new Set(c.map(a=>a.participantId||"user"))],lastActivityAt:Math.max(...c.map(a=>a.timestamp))};D.exportDiscussion(e).then(a=>z(b=>[...b,a])).catch(a=>console.error("Failed to export discussion for Add to chat:",a))}o?.()},[n]);let H=(0,c.useCallback)(()=>{if(!G)return;let a=aI(G);a&&A.handleInput(a.text,a.cursorPos)},[G,A]),I=(0,c.useCallback)(a=>{if(!G)return;let b=A.selectSuggestion(a);if(!b)return;let c=aI(G);if(!c)return;let d=b.text.startsWith("@@"),e="project-group"===a.kind?{type:"participantMention",attrs:{id:a.project.id,name:a.project.name,mode:d?"parallel":"sequential",kind:"project"}}:"project"===a.kind?{type:"projectMention",attrs:{id:a.project.id,slug:a.project.slug,name:a.project.name}}:{type:"participantMention",attrs:{id:a.participant.id,name:a.participant.name,mode:d?"parallel":"sequential",kind:"agent"}};a_(G,c.blockStart,b.startIndex,b.endIndex,e),A.close()},[G,A]),J=(0,c.useCallback)(a=>{if(!G)return;let b=C.selectSuggestion(a);if(!b)return;let c=aI(G);if(!c)return;let d={type:"fileMention",attrs:{path:a.path,relativePath:a.relativePath??a.path,trigger:C.token?.trigger??"@/",attachMode:a.attachMode}};a_(G,c.blockStart,b.startIndex,b.endIndex,d),F.addFilePath(a.path,a.relativePath??a.path,a.attachMode)},[G,C,F]),K=(0,c.useCallback)(a=>{if(!G)return;let b=aI(G);if(!b)return;let c=C.drillDown(a);if(!c)return;let d=aK(G,b.blockStart,c.startIndex,c.endIndex);d&&G.chain().focus().deleteRange(d).insertContent(c.text).run()},[G,C]),L=(0,c.useCallback)(async a=>{if(!G)return;let b=D.selectSuggestion(a);if(!b)return;let c=aI(G);if(!c)return;let d={type:"threadMention",attrs:{threadId:a.rootMessageId,title:a.title}};a_(G,c.blockStart,b.startIndex,b.endIndex,d);try{let b=await D.exportDiscussion(a);z(a=>[...a,b])}catch(a){console.error("Failed to export discussion:",a)}},[G,D]),M=(0,c.useCallback)(a=>{B.selectCommand(a),G&&G.commands.clearContent()},[B,G]),N=(0,c.useCallback)(async()=>{if(!G)return;let b=(function(a){if(!a.content)return"";let b=[];for(let c of a.content)c.type,b.push(function(a){if(!a.content)return"";let b="";for(let c of a.content)switch(c.type){case"text":b+=c.text??"";break;case"participantMention":{let a=c.attrs??{},d="parallel"===a.mode?"@@":"@";b+=`${d}${a.name}`;break}case"projectMention":{let a=c.attrs??{},d=String(a.slug??"").trim();d?b+=`@~project:${d}`:a.name&&(b+=`@${a.name}`);break}case"fileMention":{let a=c.attrs??{},d=a.relativePath||a.path;b+=`@${d}`;break}case"threadMention":{let a=((c.attrs??{}).threadId??"").slice(0,8);b+=`@#${a}`;break}default:"hardBreak"===c.type&&(b+="\n")}return b}(c));return b.join("\n")})(G.getJSON()).trim();if(!b&&!E.hasUploaded&&!F.hasFilePaths||!E.canSend)return;if(b){let a=j.find(a=>a.name===b||a.aliases?.some(a=>`/${a}`===b));if(a){a.execute(),G.commands.clearContent(),B.close(),A.close();return}}let c=b||"(attached files)";if(y.length>0){let a=y.map(a=>`- "${a.title}" — ${a.summary} (full transcript: ${a.filePath})`).join("\n");c=`Referenced threads:
5
+ </file>`).join("\n\n")+"\n\n";return{fileContextBlocks:b,contextPrefix:c}}var aF=a.i(83489);let aG=aF.Node.create({name:"participantMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},name:{default:""},mode:{default:"sequential"},kind:{default:"agent"}}),parseHTML:()=>[{tag:"span[data-participant-mention]"}],renderHTML({node:a,HTMLAttributes:b}){let c="parallel"===a.attrs.mode;return["span",(0,aF.mergeAttributes)(b,{"data-participant-mention":"","data-id":a.attrs.id,"data-mode":a.attrs.mode,class:c?"composer-pill composer-pill--participant-parallel":"composer-pill composer-pill--participant",contenteditable:"false"}),`${c?"@@":"@"}${a.attrs.name}`]}}),aH=aF.Node.create({name:"projectMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},slug:{default:""},name:{default:""}}),parseHTML:()=>[{tag:"span[data-project-mention]"}],renderHTML:({node:a,HTMLAttributes:b})=>["span",(0,aF.mergeAttributes)(b,{"data-project-mention":"","data-id":a.attrs.id,"data-slug":a.attrs.slug,class:"composer-pill composer-pill--project",contenteditable:"false"}),`@${a.attrs.name}`]}),aI=aF.Node.create({name:"fileMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({path:{default:""},relativePath:{default:""},trigger:{default:"@/"},attachMode:{default:void 0}}),parseHTML:()=>[{tag:"span[data-file-mention]"}],renderHTML({node:a,HTMLAttributes:b}){let c=a.attrs.relativePath||a.attrs.path;return["span",(0,aF.mergeAttributes)(b,{"data-file-mention":"","data-path":a.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${c}`]}}),aJ=aF.Node.create({name:"threadMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({threadId:{default:""},title:{default:""}}),parseHTML:()=>[{tag:"span[data-thread-mention]"}],renderHTML:({node:a,HTMLAttributes:b})=>["span",(0,aF.mergeAttributes)(b,{"data-thread-mention":"","data-thread-id":a.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${a.attrs.title}`]});function aK(a){if(!a.content)return"";let b=[];for(let c of a.content)c.type,b.push(function(a){if(!a.content)return"";let b="";for(let c of a.content)switch(c.type){case"text":b+=c.text??"";break;case"participantMention":{let a=c.attrs??{},d="parallel"===a.mode?"@@":"@";b+=`${d}${a.name}`;break}case"projectMention":{let a=c.attrs??{},d=String(a.slug??"").trim();d?b+=`@~project:${d}`:a.name&&(b+=`@${a.name}`);break}case"fileMention":{let a=c.attrs??{},d=a.relativePath||a.path;b+=`@${d}`;break}case"threadMention":{let a=((c.attrs??{}).threadId??"").slice(0,8);b+=`@#${a}`;break}default:"hardBreak"===c.type&&(b+="\n")}return b}(c));return b.join("\n")}function aL(a){let{state:b}=a,{$from:c}=b.selection,d=c.depth,e=-1;for(let a=d;a>=0;a--)if("paragraph"===c.node(a).type.name){e=a;break}if(-1===e)return null;let f=c.node(e),g=c.start(e),h=c.pos-g,i="",j=0,k=!1;return f.forEach((a,b)=>{let c=b+a.nodeSize;if(a.isText){let d=a.text??"";!k&&h>=b&&h<=c&&(j=i.length+(h-b),k=!0),i+=d}else if(a.isAtom){let d=aM(a);!k&&h>=b&&h<=c&&(j=i.length+d.length,k=!0),i+=d}}),k||(j=i.length),{text:i,cursorPos:j,blockStart:g}}function aM(a){switch(a.type.name){case"participantMention":{let b="parallel"===a.attrs.mode?"@@":"@";return`${b}${a.attrs.name}`}case"fileMention":{let b=a.attrs.relativePath||a.attrs.path;return`@${b}`}case"threadMention":{let b=(a.attrs.threadId??"").slice(0,8);return`@#${b}`}default:return""}}function aN(a,b,c,d){let{state:e}=a,f=e.doc.resolve(b),g=f.depth,h=null,i=b;for(let a=g;a>=0;a--){let b=f.node(a);if("paragraph"===b.type.name){h=b,i=f.start(a);break}}h||(h=e.doc.resolve(b).parent,i=b);let j=0,k=null,l=null;return(h.forEach((a,b)=>{let e=i+b,f=a.nodeSize;if(a.isText){let b=a.text??"",f=j+b.length;null===k&&c>=j&&c<=f&&(k=e+(c-j)),null===l&&d>=j&&d<=f&&(l=e+(d-j)),j=f}else if(a.isAtom){let b=aM(a),g=j+b.length;null===k&&c>=j&&c<=g&&(k=e),null===l&&d>=j&&d<=g&&(l=e+f),j=g}}),null===k&&c>=j&&(k=i+h.content.size),null===l&&d>=j&&(l=i+h.content.size),null===k||null===l)?null:{from:k,to:l}}let aO=(0,t.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var aP=a.i(60246);function aQ({isOpen:a,suggestions:d,activeIndex:e,listboxId:f,optionIdPrefix:g,onSelect:h}){let i=(0,c.useRef)([]);if((0,c.useEffect)(()=>{a&&i.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),!a||0===d.length)return null;let j=new Set;return(0,b.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,b.jsx)("div",{role:"listbox",id:f,"aria-label":"Mention suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:d.map((a,c)=>{let d=c===e,f="project-group"===a.kind?`project-group-${a.project.id}`:"project"===a.kind?`project-${a.project.id}`:a.participant.id,k=a.group,l=null;if(k&&!j.has(k)&&(j.add(k),l=(0,b.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-[var(--muted-foreground)] bg-[var(--app-shell-subtle)] border-t border-[var(--border)] first:border-t-0",children:k})),"project-group"===a.kind)return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${f}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(aP.Users,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:a.project.name}),(0,b.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[a.project.agents.length," agent",1!==a.project.agents.length?"s":""]})]})})]},f);if("project"===a.kind)return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${f}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)(aO,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:a.project.name}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.project.slug})]})})]},f);let m=a.participant;return(0,b.jsxs)("div",{children:[l,(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${m.id}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}${k?" pl-6":""}`,onMouseDown:a=>{a.preventDefault()},onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:m.color},"aria-hidden":!0}),(0,b.jsx)("span",{className:"font-medium",children:m.name}),"all"===m.id?(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"All participants"}):m.model&&(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:m.model})]})})]},f)})})})}function aR({isOpen:a,commands:d,activeIndex:e,listboxId:f,optionIdPrefix:g,onSelect:h}){let i=(0,c.useRef)([]);return((0,c.useEffect)(()=>{a&&i.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),a&&0!==d.length)?(0,b.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,b.jsx)("div",{role:"listbox",id:f,"aria-label":"Command suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:d.map((a,c)=>{let d=c===e;return(0,b.jsx)("button",{type:"button",role:"option",id:`${g}-${a.name.slice(1)}`,"aria-selected":d,ref:a=>{i.current[c]=a},className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>a.preventDefault(),onClick:()=>h(a),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium font-mono",children:a.name}),a.aliases&&a.aliases.length>0&&(0,b.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:["(",a.aliases.join(", "),")"]}),(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:a.description})]})},a.name)})})}):null}var aS=a.i(92e3);let aT=(0,t.default)("file",[["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"}]]);var aU=a.i(92596);function aV({suggestion:a,isActive:c,optionId:d,onSelect:e,onAttachContents:f,itemRef:g}){let h="folder"===a.type,i="contents"===a.attachMode,j=function(a){if(!a)return null;let b=Math.floor((Date.now()-a)/864e5);return 0===b?"Today":1===b?"Yesterday":b<7?`${b}d ago`:b<30?`${Math.floor(b/7)}w ago`:b<365?`${Math.floor(b/30)}mo ago`:`${Math.floor(b/365)}y ago`}(a.modifiedAt),k=a.relativePath??a.path;return(0,b.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors duration-200 ${c?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]","aria-hidden":!0,children:h?c?(0,b.jsx)(J.FolderOpen,{className:"h-4 w-4 text-amber-500"}):(0,b.jsx)(aU.Folder,{className:"h-4 w-4 text-amber-400"}):(0,b.jsx)(aT,{className:"h-4 w-4"})}),(0,b.jsxs)("button",{type:"button",role:"option",id:d,"aria-selected":c,ref:g,className:"min-w-0 flex-1 text-left",onMouseDown:a=>a.preventDefault(),onClick:()=>e(a),tabIndex:-1,children:[(0,b.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,b.jsx)("span",{className:"block truncate font-mono text-xs text-[var(--foreground)]",children:k}),j&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:j})]}),h&&a.manifest&&(0,b.jsxs)("span",{className:"block text-xs text-[var(--muted-foreground)]",children:[a.manifest.childCount," items ·"," ",a.manifest.sizeSummary,i?(0,b.jsx)("span",{className:"ml-1 font-medium text-[var(--primary)]",children:"full tree"}):(0,b.jsx)("span",{className:"ml-1 text-[var(--muted-foreground)]",children:"manifest"})]})]}),h&&!i&&(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded px-1.5 py-0.5 text-xs text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:text-[var(--foreground)] transition-colors duration-200",title:"Attach full directory contents instead of manifest","aria-label":`Attach full contents of ${k}`,onMouseDown:a=>a.preventDefault(),onClick:()=>f(a),tabIndex:-1,children:"Attach contents"}),h&&i&&(0,b.jsx)("span",{className:"shrink-0 rounded bg-[var(--primary-muted)] px-1.5 py-0.5 text-xs font-medium text-[var(--primary)]",children:"full tree"})]})}var aW=a.i(7704);function aX({isOpen:a,suggestions:d,activeIndex:e,isLoading:f,error:g,listboxId:h,optionIdPrefix:i,onSelect:j,onAttachContents:k}){let l=(0,c.useRef)([]),m=(0,c.useRef)(null),[n,o]=(0,c.useState)(!1);if((0,c.useEffect)(()=>{a&&l.current[e]?.scrollIntoView({block:"nearest"})},[e,a]),(0,c.useEffect)(()=>{a&&m.current&&o(m.current.getBoundingClientRect().top<280)},[a]),!a)return null;let p=d.length>0?`${i}-${e}`:void 0;return(0,b.jsx)("div",{ref:m,className:`${n?"absolute left-0 right-0 top-full mt-2 z-20":"absolute left-0 right-0 bottom-full mb-3 z-20"} ${aW.default.popover}`,children:(0,b.jsxs)("div",{role:"listbox",id:h,"aria-label":"File suggestions","aria-activedescendant":p,className:"max-h-64 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:[g&&!f&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,b.jsx)(aS.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{children:g})]}),!g&&f&&0===d.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite","aria-label":"Searching for files",children:[(0,b.jsx)(I,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,b.jsx)("span",{children:"Searching…"})]}),!g&&!f&&0===d.length&&(0,b.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite",children:"No results"}),!g&&f&&d.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1 text-xs text-[var(--muted-foreground)] border-b border-[var(--border)]",children:[(0,b.jsx)(I,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,b.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),d.length>0&&d.map((a,c)=>(0,b.jsx)(aV,{suggestion:a,isActive:c===e,optionId:`${i}-${c}`,onSelect:j,onAttachContents:k,itemRef:a=>{l.current[c]=a}},a.path))]})})}function aY({isOpen:a,suggestions:c,activeIndex:d,listboxId:e,optionIdPrefix:f,onSelect:g}){return a&&0!==c.length?(0,b.jsxs)("div",{className:"absolute bottom-full left-0 mb-2 w-80 bg-[var(--app-shell-elevated)] rounded-xl shadow-xl border border-[var(--app-shell-border)] overflow-hidden z-50 animate-in fade-in zoom-in-95 duration-100",role:"listbox",id:e,children:[(0,b.jsx)("div",{className:"px-3 py-2 bg-[var(--app-shell-subtle)] border-b border-[var(--app-shell-border)] text-[11px] font-bold text-[var(--app-shell-muted)] uppercase tracking-wider",children:"Reference Discussion"}),(0,b.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:c.map((a,c)=>{let e=c===d;return(0,b.jsxs)("button",{role:"option",id:`${f}-${c}`,"aria-selected":e,onClick:()=>g(a),className:`w-full text-left px-3 py-2.5 rounded-lg flex items-start gap-3 transition-colors ${e?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("div",{className:`mt-0.5 p-1.5 rounded-md ${e?"bg-[var(--primary-muted)] text-[var(--primary)]":"bg-[var(--muted)] text-[var(--muted-foreground)]"}`,children:(0,b.jsx)(X.MessageSquare,{size:14,strokeWidth:2.5})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:`text-sm font-semibold truncate ${e?"text-[var(--primary)]":"text-[var(--foreground)]"}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,b.jsxs)("span",{className:`text-xs ${e?"text-[var(--primary)]":"text-[var(--muted-foreground)]"}`,children:[a.replies.length," replies"]}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"•"}),(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,b.jsx)(_.Clock,{size:10}),function(a){if(!a)return"";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m`;let d=Math.floor(c/60);return d<24?`${d}h`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(a.lastActivityAt)]})]})]})]},a.rootMessageId)})})]}):null}var aZ=a.i(69520);let a$=(0,t.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);function a_({attachments:a,onRemove:c,onRetry:d}){return 0===a.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-2 px-1 pb-2",children:a.map(a=>{var e;let f=a.mimeType.startsWith("image/"),g="failed"===a.status,h="uploading"===a.status;return(0,b.jsxs)("div",{className:`relative group flex items-center gap-2 rounded-lg border px-2.5 py-1.5 text-xs transition-all ${g?"border-red-200 bg-red-50 text-red-700":"border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)]"}`,children:[f&&a.previewUrl?(0,b.jsx)("img",{src:a.previewUrl,alt:a.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,b.jsx)("div",{className:"w-8 h-8 rounded bg-[var(--muted)] flex items-center justify-center shrink-0",children:f?(0,b.jsx)(a$,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,b.jsx)(p.FileText,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,b.jsx)("div",{className:"truncate font-medium",children:a.filename}),g&&a.error?(0,b.jsx)("div",{className:"truncate text-[10px] text-red-500",children:a.error}):(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:(e=a.size)<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(0)}KB`:`${(e/1048576).toFixed(1)}MB`})]}),h&&(0,b.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--muted)] rounded-b-lg overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${a.progress}%`}})}),(0,b.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[g&&(0,b.jsx)("button",{type:"button",onClick:()=>d(a.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,b.jsx)(aZ.RefreshCw,{className:"w-3 h-3"})}),(0,b.jsx)("button",{type:"button",onClick:()=>c(a.id),className:"p-0.5 rounded hover:bg-[var(--muted)] transition-colors",title:"Remove",children:(0,b.jsx)(y.X,{className:"w-3 h-3"})})]})]},a.id)})})}function a0({onDrop:a,children:d}){let[e,f]=(0,c.useState)(!1),g={current:0},h=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),g.current++,a.dataTransfer.types.includes("Files")&&f(!0)},[]),i=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),j=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),g.current--,0===g.current&&f(!1)},[]),k=(0,c.useCallback)(b=>{b.preventDefault(),b.stopPropagation(),g.current=0,f(!1),b.dataTransfer.files.length>0&&a(b.dataTransfer.files)},[a]);return(0,b.jsxs)("div",{className:"relative",onDragEnter:h,onDragOver:i,onDragLeave:j,onDrop:k,children:[d,e&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-lg border-2 border-dashed border-blue-400 bg-blue-50/80 pointer-events-none",children:(0,b.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}let a1=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);function a2(a,b,c,d,e){if(!a)return;let f=aN(a,b,c,d);f&&a.chain().focus().deleteRange(f).insertContent(e).insertContent(" ").run()}function a3({onSend:a,onStop:d,loading:e,activityStatus:f,participants:g,projects:h=[],projectGroups:i=[],messages:j=[],commands:k,placeholder:l="Message — @name to mention, /search, /summarize",workspaceRoots:m=[],onConfigureRoots:n,pendingThreadInsert:o,onClearPendingThread:p,autoMode:q=!1,onAutoModeChange:r}){let s=f??(e?"working":"ready"),t="ready"!==s,[u,v]=(0,c.useState)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(!1),y=(0,c.useCallback)(()=>{w.current?.click()},[]),[z,A]=(0,c.useState)([]),B=function({participants:a,projectGroups:b=[],projects:d=[],maxSuggestions:e=6}){let[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)(!1),l=null!==f&&!j,m=f?.query??"",n=(0,c.useMemo)(()=>(function(a,b,c,d=[],e=[]){let f=b.toLowerCase(),g=new Map(a.map(a=>[a.id,a])),h=new Set;for(let a of d)for(let b of a.agents)h.add(b.agent_id);let i=[];for(let a of(null!==aw("all","all",f)&&i.push({kind:"agent",participant:av,group:""}),d)){let b=aw(a.name.toLowerCase(),a.id.toLowerCase(),f),c=[];for(let b of a.agents){let a=g.get(b.agent_id);if(!a)continue;let d=aw(a.name.toLowerCase(),a.id.toLowerCase(),f);null!==d&&c.push({participant:a,score:d})}(null!==b||c.length>0)&&(null!==b&&i.push({kind:"project-group",project:a,group:a.name}),(null!==b&&f?a.agents.map(a=>g.get(a.agent_id)).filter(a=>!!a).map(a=>({participant:a,score:0})):c).sort((a,b)=>a.participant.name.localeCompare(b.participant.name)).forEach(({participant:b})=>{i.push({kind:"agent",participant:b,group:a.name})}))}for(let a of e)null!==aw(a.name.toLowerCase(),a.slug.toLowerCase(),f)&&i.push({kind:"project",project:a,group:"Projects"});let j=[];for(let b of a){if(h.has(b.id))continue;let a=aw(b.name.toLowerCase(),b.id.toLowerCase(),f);null!==a&&j.push({participant:b,score:a})}return j.sort((a,b)=>a.participant.name.localeCompare(b.participant.name)).forEach(({participant:a})=>{i.push({kind:"agent",participant:a,group:""})}),i.slice(0,c)})(a,m,e,b,d),[a,m,e,b,d]),o=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<0||b>a.length)return null;let c=b;for(;c>0&&!/\s/.test(a[c-1]);)c--;let d=a.slice(c,b);if(!d.startsWith("@")||d.startsWith("@@@")||d.startsWith("@#"))return null;let e=d.startsWith("@@"),f=d.slice(e?2:1);return au.test(f)?{startIndex:c,endIndex:b,query:f.toLowerCase(),mode:e?"parallel":"sequential",isParallel:e}:null}(a,b);g(a=>((a?.startIndex!==c?.startIndex||a?.isParallel!==c?.isParallel||a?.query!==c?.query)&&i(0),c))},[]),p=(0,c.useCallback)((a,b)=>{j||o(a,b)},[j,o]),q=(0,c.useCallback)(a=>{if(!l||0===n.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),i(a=>a<n.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),i(a=>a>0?a-1:n.length-1),!0;case"Enter":case"Tab":return a.preventDefault(),!0;case"Escape":return a.preventDefault(),g(null),!0;default:return!1}},[l,n.length]),r=(0,c.useCallback)(a=>{if(!f)return null;let b="project-group"===a.kind||"project"===a.kind?a.project.name:a.participant.name,c=f.isParallel?"@@":"@";return{text:`${c}${b} `,startIndex:f.startIndex,endIndex:f.endIndex}},[f]),s=(0,c.useCallback)(()=>{g(null),i(0)},[]);return{isOpen:l,query:m,filteredSuggestions:n,activeIndex:h,token:f,isComposing:j,handleInput:p,handleKeyDown:q,selectSuggestion:r,close:s,startComposition:(0,c.useCallback)(()=>{k(!0)},[]),endComposition:(0,c.useCallback)((a,b)=>{k(!1),o(a,b)},[o])}}({participants:g,projectGroups:i,projects:h,maxSuggestions:8}),C=function({commands:a,maxSuggestions:b=6}){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(0),h=null!==d,i=d?.query??"",j=(0,c.useMemo)(()=>{let c;return(c=i.toLowerCase())?a.filter(a=>!!a.name.slice(1).toLowerCase().startsWith(c)||(a.aliases?.some(a=>a.toLowerCase().startsWith(c))??!1)).slice(0,b):a.slice(0,b)},[a,i,b]),k=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<0||b>a.length||!a.startsWith("/"))return null;let c=a.slice(0,b);if(/\s/.test(c))return null;let d=c.slice(1);return ax.test(d)?{startIndex:0,endIndex:b,query:d.toLowerCase()}:null}(a,b);e(a=>(a?.query!==c?.query&&g(0),c))},[]),l=(0,c.useCallback)(a=>{if(!h||0===j.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),g(a=>a<j.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),g(a=>a>0?a-1:j.length-1),!0;case"Enter":case"Tab":return a.preventDefault(),!0;case"Escape":return a.preventDefault(),e(null),!0;default:return!1}},[h,j.length]),m=(0,c.useCallback)(a=>!!d&&(a.execute(),e(null),g(0),!0),[d]);return{isOpen:h,query:i,filteredCommands:j,activeIndex:f,token:d,handleInput:k,handleKeyDown:l,selectCommand:m,close:(0,c.useCallback)(()=>{e(null),g(0)},[])}}({commands:k,maxSuggestions:6}),D=function({maxSuggestions:a=8,debounceMs:b=150}={}){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=null!==d,r=(0,c.useCallback)(async(b,c)=>{n.current&&n.current.abort();let d=new AbortController;n.current=d,k(!0),m(null);try{let e=b.endsWith("/"),f=e?"*":b,h=new URLSearchParams({q:f,limit:String(a),includeFolders:"1"});if(e){let a="@~"===c?`${process.env.HOME??"~"}/${b.slice(0,-1)}`:`/${b.slice(0,-1)}`;h.set("root",a)}else"@~"===c&&h.set("root",process.env.HOME??"~");let j=await fetch(`/api/file-search?${h.toString()}`,{signal:d.signal});if(!j.ok){let a=await j.json().catch(()=>({}));throw Error(a.error??`HTTP ${j.status}`)}let k=await j.json();g(k.files.map(a=>({...a,attachMode:"folder"===a.type?"manifest":void 0}))),i(0)}catch(a){if("AbortError"===a.name)return;m(a.message??"Search failed"),g([])}finally{k(!1)}},[a]),s=(0,c.useCallback)((c,d)=>{if(null!==o.current&&clearTimeout(o.current),c!==p.current){if(c.length<3){n.current&&(n.current.abort(),n.current=null),p.current=c,k(!1),m(null),g(aA.slice(0,a).map(a=>({...a,attachMode:"manifest"}))),i(0);return}o.current=setTimeout(()=>{p.current=c,r(c,d)},b)}},[b,r,a]);(0,c.useEffect)(()=>()=>{null!==o.current&&clearTimeout(o.current),n.current&&n.current.abort()},[]);let t=(0,c.useCallback)((a,b)=>{let c=function(a,b){if(b<2||b>a.length)return null;let c=b;for(;c>0&&!/\s/.test(a[c-1]);)c--;let d=a.slice(c,b);if(!d.startsWith("@/")&&!d.startsWith("@~"))return null;let e=d.slice(0,2);return{startIndex:c,endIndex:b,query:d.slice(2),trigger:e}}(a,b);e(a=>((a?.startIndex!==c?.startIndex||a?.query!==c?.query||a?.trigger!==c?.trigger)&&null===c&&(null!==o.current&&clearTimeout(o.current),n.current&&(n.current.abort(),n.current=null),p.current=null,g([]),k(!1),m(null)),c)),c&&s(c.query,c.trigger)},[s]),u=(0,c.useCallback)(a=>{if(!q||0===f.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),i(a=>a<f.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),i(a=>a>0?a-1:f.length-1),!0;case"Enter":return a.preventDefault(),!0;case"Tab":return!0;case"Escape":return a.preventDefault(),e(null),g([]),!0;default:return!1}},[q,f.length]),v=(0,c.useCallback)(a=>{if(!d)return null;let b=aB(a.relativePath??a.path,d),c="folder"===a.type?"/":"",f=`@${b}${c} `;return e(null),g([]),{text:f,startIndex:d.startIndex,endIndex:d.endIndex}},[d]),w=(0,c.useCallback)(a=>{if(!d||"folder"!==a.type)return null;let b=aB(a.relativePath??a.path,d),c=b.startsWith("~/")?"@~":"@/",f=b.slice(1),g=`@${b}/`,h=d.startIndex+g.length,i=`${f}/`;return e({startIndex:d.startIndex,endIndex:h,query:i,trigger:c}),p.current=null,s(i,c),{text:g,startIndex:d.startIndex,endIndex:d.endIndex}},[d,s]),x=(0,c.useCallback)(a=>{g(b=>b.map(b=>b.path===a.path?{...b,attachMode:"contents"}:b))},[]);return{isOpen:q,token:d,suggestions:f,activeIndex:h,isLoading:j,error:l,handleInput:t,handleKeyDown:u,selectSuggestion:v,drillDown:w,close:(0,c.useCallback)(()=>{e(null),g([]),i(0)},[]),onAttachContents:x}}({maxSuggestions:8}),E=function({messages:a,maxSuggestions:b=5}){let[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)(0),[j,k]=(0,c.useState)([]),[l,m]=(0,c.useState)(null),n=(0,c.useRef)([]);(0,c.useEffect)(()=>{let b=a.filter(a=>!a.rootMessageId),c=new Map;a.forEach(a=>{if(a.rootMessageId){let b=c.get(a.rootMessageId)||[];b.push(a),c.set(a.rootMessageId,b)}}),n.current=b.map(a=>{let b=c.get(a.id)||[],d=[a,...b],e=Math.max(...d.map(a=>a.timestamp)),f=a.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",g=[...new Set(d.map(a=>a.participantId||"user"))];return{rootMessageId:a.id,title:f,rootMessage:a,replies:b,participantIds:g,lastActivityAt:e}}).sort((a,b)=>b.lastActivityAt-a.lastActivityAt)},[a]);let o=(0,c.useCallback)((a,c)=>{let d=a.slice(0,c).match(/@#([^@#\s]*)$/);if(d){e(!0);let a=d[1].toLowerCase();g(a),m(d.index),i(0),k(n.current.filter(b=>b.title.toLowerCase().includes(a)).slice(0,b))}else e(!1),m(null)},[b]),p=(0,c.useCallback)(a=>!!d&&0!==j.length&&("ArrowDown"===a.key?(a.preventDefault(),i(a=>(a+1)%j.length),!0):"ArrowUp"===a.key?(a.preventDefault(),i(a=>(a-1+j.length)%j.length),!0):"Escape"===a.key&&(a.preventDefault(),e(!1),!0)),[d,j.length]),q=(0,c.useCallback)(a=>null===l?null:{startIndex:l,endIndex:l+2+f.length,text:""},[l,f]);return{isOpen:d,suggestions:j,activeIndex:h,handleInput:o,handleKeyDown:p,selectSuggestion:q,close:(0,c.useCallback)(()=>{e(!1),m(null)},[]),exportDiscussion:(0,c.useCallback)(async a=>{let b=[];try{let a=await fetch("/api/participants");a.ok&&(b=await a.json())}catch(a){console.warn("Failed to fetch participants for export",a)}let c=await fetch("/api/thread-export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a.rootMessageId,title:a.title,messages:[a.rootMessage,...a.replies],participants:b})});if(!c.ok)throw Error(`Export failed: ${await c.text()}`);return await c.json()},[])}}({messages:j,maxSuggestions:8}),F=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useRef)(new Map),e=(0,c.useCallback)(a=>{let c=new XMLHttpRequest;d.current.set(a.id,c);let e=new FormData;e.append("file",a.file),c.upload.onprogress=c=>{if(c.lengthComputable){let d=Math.round(c.loaded/c.total*100);b(b=>b.map(b=>b.id===a.id?{...b,progress:d}:b))}},c.onload=()=>{if(d.current.delete(a.id),c.status>=200&&c.status<300)try{let d=JSON.parse(c.responseText),e=d.attachments?.[0];if(e)return void b(b=>b.map(b=>b.id===a.id?{...b,status:"uploaded",progress:100,serverId:e.id}:b))}catch{}let e=(()=>{try{return JSON.parse(c.responseText)?.error||"Upload failed"}catch{return"Upload failed"}})();b(b=>b.map(b=>b.id===a.id?{...b,status:"failed",error:e}:b))},c.onerror=()=>{d.current.delete(a.id),b(b=>b.map(b=>b.id===a.id?{...b,status:"failed",error:"Network error"}:b))},c.open("POST","/api/upload"),c.send(e)},[]),f=(0,c.useCallback)(c=>{let d=Array.from(c),f=function(a){let b=a.reduce((a,b)=>a+b.size,0);if(b>0x3200000){let a=(b/1048576).toFixed(1);return{file:"(total)",reason:`Total attachment size (${a}MB) exceeds 50MB limit`}}return null}([...a.map(a=>({name:a.filename,size:a.size,type:a.mimeType})),...d.map(a=>({name:a.name,size:a.size,type:a.type}))]);if(f)return void alert(f.reason);let g=[];for(let a of d){let b=function(a){let b=a.name.includes(".")?"."+a.name.split(".").pop().toLowerCase():"";if(az.has(b))return{file:a.name,reason:`File type "${b}" is not allowed`};if(a.type&&!ay.has(a.type))return{file:a.name,reason:`File type "${a.type}" is not supported`};if(!a.type&&!ay.has("application/octet-stream"),a.size>0xa00000){let b=(a.size/1048576).toFixed(1);return{file:a.name,reason:`File is too large (${b}MB). Maximum is 10MB`}}return 0===a.size?{file:a.name,reason:"File is empty"}:null}({name:a.name,size:a.size,type:a.type});if(b){g.push({id:crypto.randomUUID(),file:a,filename:a.name,mimeType:a.type,size:a.size,previewUrl:null,progress:0,status:"failed",error:b.reason});continue}let c=a.type.startsWith("image/")?URL.createObjectURL(a):null,d={id:crypto.randomUUID(),file:a,filename:a.name,mimeType:a.type||"application/octet-stream",size:a.size,previewUrl:c,progress:0,status:"uploading"};g.push(d)}for(let a of(b(a=>[...a,...g]),g))"uploading"===a.status&&e(a)},[a,e]),g=(0,c.useCallback)(a=>{b(b=>{let c=b.find(b=>b.id===a);c?.previewUrl&&URL.revokeObjectURL(c.previewUrl);let e=d.current.get(a);return e&&(e.abort(),d.current.delete(a)),c?.serverId&&fetch(`/api/upload/${c.serverId}`,{method:"DELETE"}).catch(()=>{}),b.filter(b=>b.id!==a)})},[]),h=(0,c.useCallback)(a=>{b(b=>{let c=b.find(b=>b.id===a);if(!c||"failed"!==c.status)return b;let d=b.map(b=>b.id===a?{...b,status:"uploading",error:void 0,progress:0}:b),f=d.find(b=>b.id===a);return setTimeout(()=>e(f),0),d})},[e]),i=(0,c.useCallback)(()=>{b(a=>{for(let b of a){b.previewUrl&&URL.revokeObjectURL(b.previewUrl);let a=d.current.get(b.id);a&&a.abort()}return d.current.clear(),[]})},[]),j=0===a.length||a.every(a=>"uploaded"===a.status||"failed"===a.status),k=a.some(a=>"uploaded"===a.status),l=a.filter(a=>"uploaded"===a.status&&a.serverId);return{staged:a,stageFiles:f,remove:g,retry:h,clear:i,canSend:j,hasUploaded:k,attachmentIds:l.map(a=>a.serverId),getAttachmentMetas:(0,c.useCallback)(()=>l.map(a=>({id:a.serverId,filename:a.filename,mimeType:a.mimeType,size:a.size,status:"uploaded",url:`/api/attachments/${a.serverId}`})),[l])}}(),G=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useCallback)((a,c,d)=>{b(b=>b.find(b=>b.path===a)?b.map(b=>b.path===a?{...b,label:c,attachMode:d??b.attachMode}:b):[...b,{kind:"file-path",id:crypto.randomUUID(),path:a,label:c,attachMode:d}])},[]);return{filePaths:a,addFilePath:d,removeFilePath:(0,c.useCallback)(a=>{b(b=>b.filter(b=>b.id!==a))},[]),clearFilePaths:(0,c.useCallback)(()=>{b([])},[]),hasFilePaths:a.length>0}}(),H=function(){let[a,b]=(0,c.useState)(-1),d=(0,c.useRef)(""),e=(0,c.useCallback)(()=>{try{let a=localStorage.getItem(aC);return a?JSON.parse(a):[]}catch{return[]}},[]),f=(0,c.useCallback)(a=>{let c=a.trim();if(!c)return;let f=e().filter(a=>a!==c);f.unshift(c),f.length>100&&(f.length=100);try{localStorage.setItem(aC,JSON.stringify(f))}catch{}b(-1),d.current=""},[e]);return{pushEntry:f,navigate:(0,c.useCallback)((c,f,g)=>{if(!g)return null;let h=e();if(0===h.length)return null;if("up"===c){-1===a&&(d.current=f);let c=d.current,e=a+1;if(c){for(let a=e;a<h.length;a++)if(h[a].toLowerCase().startsWith(c.toLowerCase()))return b(a),h[a];return null}let g=Math.min(a+1,h.length-1);return g===a&&-1!==a?null:(b(g),h[g])}if(a<=0)return 0===a?(b(-1),d.current):null;let i=d.current;if(i){for(let c=a-1;c>=0;c--)if(h[c].toLowerCase().startsWith(i.toLowerCase()))return b(c),h[c];return b(-1),d.current}let j=a-1;return b(j),h[j]},[e,a]),resetNavigation:(0,c.useCallback)(()=>{b(-1),d.current=""},[]),historyIndex:a}}();(0,c.useEffect)(()=>{u&&!g.some(a=>a.id===u)&&v(null)},[g,u]);let I=(0,ar.useEditor)({immediatelyRender:!1,extensions:[as.default.configure({heading:!1,bulletList:!1,orderedList:!1,listItem:!1,blockquote:!1,codeBlock:!1,code:!1,horizontalRule:!1,hardBreak:{keepMarks:!1}}),at.default.configure({placeholder:l}),aG,aH,aI,aJ],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handlePaste:(a,b)=>{let c=b.clipboardData?.files;return!!c&&c.length>0&&(b.preventDefault(),F.stageFiles(c),!0)},handleDOMEvents:{compositionstart:()=>(x.current=!0,B.startComposition(),!1),compositionend:(a,b)=>(x.current=!1,setTimeout(()=>{if(!I)return;let a=aL(I);a&&B.endComposition(a.text,a.cursorPos)},0),!1)},handleKeyDown:(a,b)=>{if("Tab"===b.key||"Enter"===b.key&&!b.shiftKey){if(C.isOpen&&C.filteredCommands.length>0){b.preventDefault();let a=C.filteredCommands[C.activeIndex];return a&&O(a),!0}if(D.isOpen&&D.suggestions.length>0){b.preventDefault();let a=D.suggestions[D.activeIndex];return a&&("folder"===a.type?M(a):L(a)),!0}if(E.isOpen&&E.suggestions.length>0){b.preventDefault();let a=E.suggestions[E.activeIndex];return a&&N(a),!0}if(B.isOpen&&B.filteredSuggestions.length>0){b.preventDefault();let a=B.filteredSuggestions[B.activeIndex];return a&&K(a),!0}}let c={key:b.key,preventDefault:()=>b.preventDefault()};if(C.isOpen&&C.handleKeyDown(c)||D.isOpen&&D.handleKeyDown(c)||E.isOpen&&E.handleKeyDown(c)||B.handleKeyDown(c))return!0;if(("ArrowUp"===b.key||"ArrowDown"===b.key)&&!B.isOpen&&!C.isOpen&&!D.isOpen&&!E.isOpen){let a=aK(I.getJSON()).trim(),{state:c}=I.view,d="ArrowUp"===b.key,e=d?c.selection.from<=1:c.selection.to>=c.doc.content.size-1,f=H.navigate(d?"up":"down",a,e);if(null!==f)return b.preventDefault(),I.commands.setContent(f),I.commands.focus("end"),!0}return"Enter"===b.key&&!b.shiftKey&&(b.preventDefault(),P(),!0)}},onUpdate:({editor:a})=>{if(x.current)return;-1!==H.historyIndex&&H.resetNavigation();let b=aL(a);b&&(B.handleInput(b.text,b.cursorPos),C.handleInput(b.text,b.cursorPos),D.handleInput(b.text,b.cursorPos),E.handleInput(b.text,b.cursorPos))},onBlur:()=>{B.close(),C.close(),D.close(),E.close()}});(0,c.useEffect)(()=>{if(!o||!I)return;let{title:a,threadId:b,messages:c}=o;I.chain().focus().insertContent({type:"threadMention",attrs:{threadId:b,title:a}}).insertContent(" ").run();let d=c[0];if(d){let e={rootMessageId:b,title:a,rootMessage:d,replies:c.slice(1),participantIds:[...new Set(c.map(a=>a.participantId||"user"))],lastActivityAt:Math.max(...c.map(a=>a.timestamp))};E.exportDiscussion(e).then(a=>A(b=>[...b,a])).catch(a=>console.error("Failed to export discussion for Add to chat:",a))}p?.()},[o]);let J=(0,c.useCallback)(()=>{if(!I)return;let a=aL(I);a&&B.handleInput(a.text,a.cursorPos)},[I,B]),K=(0,c.useCallback)(a=>{if(!I)return;let b=B.selectSuggestion(a);if(!b)return;let c=aL(I);if(!c)return;let d=b.text.startsWith("@@"),e="project-group"===a.kind?{type:"participantMention",attrs:{id:a.project.id,name:a.project.name,mode:d?"parallel":"sequential",kind:"project"}}:"project"===a.kind?{type:"projectMention",attrs:{id:a.project.id,slug:a.project.slug,name:a.project.name}}:{type:"participantMention",attrs:{id:a.participant.id,name:a.participant.name,mode:d?"parallel":"sequential",kind:"agent"}};a2(I,c.blockStart,b.startIndex,b.endIndex,e),B.close()},[I,B]),L=(0,c.useCallback)(a=>{if(!I)return;let b=D.selectSuggestion(a);if(!b)return;let c=aL(I);if(!c)return;let d={type:"fileMention",attrs:{path:a.path,relativePath:a.relativePath??a.path,trigger:D.token?.trigger??"@/",attachMode:a.attachMode}};a2(I,c.blockStart,b.startIndex,b.endIndex,d),G.addFilePath(a.path,a.relativePath??a.path,a.attachMode)},[I,D,G]),M=(0,c.useCallback)(a=>{if(!I)return;let b=aL(I);if(!b)return;let c=D.drillDown(a);if(!c)return;let d=aN(I,b.blockStart,c.startIndex,c.endIndex);d&&I.chain().focus().deleteRange(d).insertContent(c.text).run()},[I,D]),N=(0,c.useCallback)(async a=>{if(!I)return;let b=E.selectSuggestion(a);if(!b)return;let c=aL(I);if(!c)return;let d={type:"threadMention",attrs:{threadId:a.rootMessageId,title:a.title}};a2(I,c.blockStart,b.startIndex,b.endIndex,d);try{let b=await E.exportDiscussion(a);A(a=>[...a,b])}catch(a){console.error("Failed to export discussion:",a)}},[I,E]),O=(0,c.useCallback)(a=>{C.selectCommand(a),I&&I.commands.clearContent()},[C,I]),P=(0,c.useCallback)(async()=>{if(!I)return;let b=aK(I.getJSON()).trim();if(!b&&!F.hasUploaded&&!G.hasFilePaths||!F.canSend)return;if(b){let a=k.find(a=>a.name===b||a.aliases?.some(a=>`/${a}`===b));if(a){a.execute(),I.commands.clearContent(),C.close(),B.close();return}}let c=b||"(attached files)";if(z.length>0){let a=z.map(a=>`- "${a.title}" — ${a.summary} (full transcript: ${a.filePath})`).join("\n");c=`Referenced threads:
6
6
  ${a}
7
7
 
8
- ${c}`}if(F.hasFilePaths){let a=await aC(F.filePaths);a.contextPrefix&&(c=a.contextPrefix+c)}let d=E.attachmentIds.length>0?E.attachmentIds:void 0,e=d?E.getAttachmentMetas():void 0;a(c,r,d,e,t??void 0),G.commands.clearContent(),z([]),E.clear(),F.clearFilePaths(),A.close(),B.close(),D.close()},[G,r,A,B,j,a,E,F,y,D]),O=A.isOpen&&A.filteredSuggestions.length>0;B.isOpen&&B.filteredCommands.length,C.isOpen&&C.suggestions.length,D.isOpen&&D.suggestions.length,O&&A.filteredSuggestions[A.activeIndex];let P=E.staged.some(a=>"uploading"===a.status),Q=!G||G.isEmpty,R=`${Math.max(12,Math.min(100,Math.round(r/50*100)))}%`,S=f.find(a=>a.id===t)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsx)("div",{className:"max-w-3xl mx-auto",children:(0,b.jsx)(aZ,{onDrop:E.stageFiles,children:(0,b.jsxs)("div",{className:"bg-white border border-gray-200 shadow-sm focus-within:border-gray-300 focus-within:ring-1 focus-within:ring-gray-300 dark:bg-gray-900 dark:border-gray-800 dark:shadow-lg dark:focus-within:border-gray-600 dark:focus-within:ring-gray-600 transition-all flex flex-col rounded-2xl",children:[q&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${p?"border-orange-200/50 dark:border-orange-500/30":"border-gray-100 dark:border-gray-800/60"}`,children:[(0,b.jsx)("div",{className:`absolute inset-0 transition-opacity duration-700 ${p?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:p?"shipBgSweep 4s ease-in-out infinite":"none"}}),p&&(0,b.jsx)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(8)].map((a,c)=>(0,b.jsx)("div",{className:"absolute h-[1.5px] rounded-full",style:{top:`${12+10*c}%`,right:"-10%",width:`${20+c%3*15}%`,background:"linear-gradient(to left, transparent, var(--warning))",opacity:.3+c%3*.1,animation:`shipSpeedLine ${.8+c%4*.3}s ${.1*c}s ease-in-out infinite`}},c))}),(0,b.jsx)("div",{className:"relative px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:`p-1 rounded-md transition-all duration-300 ${p?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:p?{animation:"shipPulse 2s ease-in-out infinite"}:{},children:(0,b.jsx)(ac,{size:14})}),(0,b.jsx)("span",{className:`text-sm font-semibold transition-colors duration-300 ${p?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${p?"text-[var(--warning)] opacity-60":"text-[var(--app-shell-muted)] opacity-60"}`,children:"|"}),(0,b.jsx)("span",{className:`text-xs font-medium transition-colors duration-300 ${p?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:p?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>q(!p),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-[var(--warning)] focus:ring-offset-2 focus:ring-offset-[var(--background)] ${p?"bg-[var(--warning)]":"bg-[var(--app-shell-border-strong)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-[var(--app-shell-elevated)] shadow-sm transition-transform duration-200 ${p?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[E.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(aY,{attachments:E.staged,onRemove:E.remove,onRetry:E.retry})}),(0,b.jsxs)("div",{className:"flex items-end gap-2 p-2 relative",children:[(0,b.jsx)("button",{type:"button",onClick:x,className:"p-2.5 text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)] rounded-xl transition-all shrink-0","aria-label":"Attach file",title:"Attach file",children:(0,b.jsx)(a$,{className:"h-5 w-5",strokeWidth:1.75})}),(0,b.jsx)("input",{ref:v,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(E.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:H,children:[(0,b.jsx)(aq.EditorContent,{editor:G,className:"composer-editor"}),(0,b.jsx)(aN,{isOpen:A.isOpen&&!B.isOpen,suggestions:A.filteredSuggestions,activeIndex:A.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:I}),(0,b.jsx)(aO,{isOpen:B.isOpen,commands:B.filteredCommands,activeIndex:B.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:M}),(0,b.jsx)(aU,{isOpen:C.isOpen,suggestions:C.suggestions,activeIndex:C.activeIndex,isLoading:C.isLoading,error:C.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?K(a):J(a)},onAttachContents:C.onAttachContents}),(0,b.jsx)(aV,{isOpen:D.isOpen&&!B.isOpen&&!C.isOpen,suggestions:D.suggestions,activeIndex:D.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:L})]}),e?(0,b.jsx)("button",{type:"button",onClick:d,className:"h-10 px-4 bg-[var(--destructive-muted)] text-[var(--destructive)] border border-[var(--status-failed-border)] rounded-xl font-bold text-sm hover:opacity-90 shadow-sm flex items-center gap-2 transition-all shrink-0",children:"Stop"}):(0,b.jsxs)("button",{type:"button",onClick:N,disabled:Q&&!E.hasUploaded&&!F.hasFilePaths||P,className:"h-10 px-4 bg-[var(--primary)] text-[var(--primary-foreground)] rounded-xl font-bold text-sm hover:bg-[var(--primary-hover)] disabled:opacity-50 disabled:cursor-not-allowed shadow-md flex items-center gap-2 transition-all shrink-0",children:["Send",(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,b.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})]})]}),(0,b.jsxs)("div",{className:"px-4 pb-2.5 pt-1 flex items-center justify-between border-t border-gray-100 dark:border-gray-800/60 mt-1 transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[10px] font-bold text-[var(--app-shell-muted)] uppercase tracking-wider",children:"Turns"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:"h-1.5 w-14 bg-[var(--app-shell-border)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full rounded-full transition-all duration-500 bg-[var(--primary)]",style:{width:R}})}),(0,b.jsx)("select",{value:r,onChange:a=>s(Number(a.target.value)),className:"bg-transparent border-none outline-none text-xs font-semibold text-[var(--app-shell-muted)] cursor-pointer appearance-none hover:text-[var(--primary)] transition-colors",children:[1,3,5,10,20,50].map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]})]}),(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:0===f.length?(0,b.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):f.map(a=>(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":t===a.id,onClick:()=>u(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),u(b=>b===a.id?null:a.id))},className:`relative w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--app-shell-elevated)] shadow-sm flex items-center justify-center overflow-visible shrink-0 transition-all cursor-pointer ${t===a.id?"-translate-y-0.5 ring-2 ring-[var(--ring)] ring-offset-1 ring-offset-[var(--background)]":"hover:-translate-y-0.5"}`,title:a.name,children:[(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"w-full h-full rounded-full object-cover"}),e&&(0,b.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2 h-2 bg-emerald-400 border border-[var(--app-shell-elevated)] rounded-full"})]},a.id))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[var(--app-shell-muted)]",children:[S&&(0,b.jsxs)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:["Pinned: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:S.name})]}),(0,b.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-tight",children:e?"Working":"Ready"}),(0,b.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${e?"bg-amber-400 animate-pulse":"bg-emerald-400"}`})]})]})]})]})})})})}var a1=a.i(55672);let a2={activeParticipantIdsByThread:{}};function a3(a,b){let c=a.trim();if(c)({...a2}).activeParticipantIdsByThread[c]=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(b)}let a4={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function a5(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:a4.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):a4.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:a4.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:a4.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):a4.fileIgnorePatterns}:a4}let a6="/api/userPreferences";function a7(a){return a.json().then(a=>a&&"object"==typeof a?a5(a.preferences??a):a5(a)).catch(()=>a5(null))}function a8(a){return a.statusText||`Failed to reach ${a6} (${a.status})`}async function a9(){let a=await fetch(a6,{cache:"no-store"});if(!a.ok)throw Error(a8(a));return a7(a)}async function ba(a){let b=await fetch(a6,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(a8(b));return a7(b)}var bb=a.i(56196),bc=a.i(87532),bd=a.i(13749);let be=(0,o.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),bf=(0,o.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),bg=(0,o.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),bh=(0,o.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);function bi({logs:a,participants:d,onClear:e,open:f,onToggle:g}){let[h,i]=(0,c.useState)(420),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(!1),n=(0,c.useRef)(0),o=(0,c.useRef)(0),p=Object.fromEntries(d.map(a=>[a.id,a]));(0,c.useEffect)(()=>{f&&l.current?.scrollIntoView({behavior:"smooth"})},[a.length,f]);let q=(0,c.useCallback)(a=>{a.preventDefault(),m.current=!0,n.current=a.clientX,o.current=h,a.target.setPointerCapture(a.pointerId)},[h]),r=(0,c.useCallback)(a=>{if(!m.current)return;let b=n.current-a.clientX;i(Math.max(280,Math.min(o.current+b,.6*window.innerWidth)))},[]),s=(0,c.useCallback)(()=>{m.current=!1},[]);if(!f)return null;let t=j?a.filter(a=>a.participantId===j):a;return(0,b.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,b.jsx)("div",{onPointerDown:q,onPointerMove:r,onPointerUp:s,className:"w-1.5 cursor-col-resize bg-zinc-800 hover:bg-zinc-600 transition-colors flex items-center justify-center shrink-0",children:(0,b.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:h},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,b.jsxs)("select",{value:j||"",onChange:a=>k(a.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,b.jsx)("option",{value:"",children:"All"}),d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:e,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,b.jsx)("button",{onClick:g,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[t.map((a,c)=>{let d=p[a.participantId]?.name||a.participantId,e=p[a.participantId]?.color||"#888",f="stderr"===a.stream;return(0,b.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(a.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,b.jsx)("span",{className:"shrink-0",style:{color:e},children:d}),(0,b.jsx)("span",{className:f?"text-red-400":"text-[var(--muted-foreground)]",children:a.line})]},c)}),(0,b.jsx)("div",{ref:l})]})]})]})}function bj(){let[a,d]=(0,c.useState)("unknown"),[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(""),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/status");if(!a.ok)return void d("unknown");let b=await a.json();d("ok"===b.status?"ok":"degraded");let c=b.services.filter(a=>"agx-chat"===a.name||"agx-cloud"===a.name);f(c),h(new Date().toLocaleTimeString())}catch{d("unknown"),f([])}},[]);return(0,c.useEffect)(()=>{l();let a=setInterval(l,3e4);return()=>clearInterval(a)},[l]),(0,b.jsxs)("div",{className:"relative",onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:[(0,b.jsx)(i.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,b.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===a?"bg-emerald-400":"degraded"===a?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===a?"animate-pulse":""}`})}),j&&(0,b.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[e.length>0?(0,b.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:"ok"===a.status?"text-emerald-600":"error"===a.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===a.status?"Healthy":"error"===a.status?a.detail||"Error":"Unavailable"})]},a.name))}):(0,b.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),g&&(0,b.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",g]})]})]})}function bk(a,b=!1){return(b?a.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():a).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function bl(a,b,c){let d=new Set(a.map(a=>a.id)),e=c?b.find(a=>a.thread_ids?.includes(c)):b[0],f=e?e.agents.map(a=>a.agent_id).filter(a=>d.has(a)):[];if(0===f.length)return a.map(a=>a.id);let g=new Set(f);return[...f,...a.map(a=>a.id).filter(a=>!g.has(a))]}function bm(a,b,c){let d=Object.fromEntries(b.map(a=>[a.id,a])),e=[];for(let b of a){let a="user"===b.role?"You":b.participantId?d[b.participantId]?.name||b.participantId:"Assistant",c=bk(b.content,"user"!==b.role);c&&(e.push(`**${a}:**`),e.push(""),e.push(c),e.push(""))}if(c){let a=function(a){if(0===a.tasks.length)return"";let b=new Map(a.tasks.map(a=>[a.id,a.title.trim()])),c=["## Draft Tasks",""];return a.projectName&&c.push(`Project: ${a.projectName}`),a.buildStatus&&c.push(`Build status: ${a.buildStatus.replaceAll("_"," ")}`),(a.projectName||a.buildStatus)&&c.push(""),a.tasks.forEach((d,e)=>{let f=bk(d.title)||`Task ${e+1}`,g=bk(d.description),h=(d.dependsOn||[]).map(a=>b.get(a)?.trim()).filter(a=>!!a),i=a.builtTaskIds?.[d.id];c.push(`${e+1}. [ ] **${f}**`),g&&c.push(g),h.length>0&&c.push(`Depends on: ${h.join(", ")}`),i&&c.push(`agx task id: \`${i}\``),c.push("")}),c.join("\n").trim()}(c);a&&e.push(a)}return e.join("\n").trim()}function bn({projectSlug:a,initialThreadId:i,initialRootMessageId:j}={}){let{threads:k,activeThreadId:l,selectThread:m,createThread:n,deleteThread:o,updateThreadMessages:p,isCreating:q,deletingThreadId:r,renamingThreadId:s,isLoading:t,isRestoringActiveThread:u,renameThread:v,updateThreadStatus:w,updateThreadOutcomeNote:x,updateMessageThreadStatus:y,updateMessageOutcomeNote:z}=(0,g.useThreadState)(i),{messages:A,setMessages:B,logs:C,sendMessage:D,loadHistory:E,clearLogs:F,stop:H,stopThread:I}=function(a){let[b,f]=(0,c.useState)([]),[g,h]=(0,c.useState)([]),i=(0,c.useRef)(a),j=(0,c.useRef)(a);i.current=a,j.current!==a&&(j.current=a,f([]),h([]));let k=(0,c.useCallback)(async a=>{let b=a?.trim()||i.current?.trim();if(!b){f([]),h([]);return}let c=d(b);try{let[a,d]=await Promise.all([fetch(`/api/history?${c}`),fetch(`/api/logs?${e(b)}`)]);if(i.current!==b)return;a.ok&&f(await a.json()),d.ok&&h(await d.json())}catch{}},[]),l=(0,c.useCallback)(async a=>{let b=a?.trim()||i.current?.trim();if(!b){f([]),h([]);return}let c=d(b);await Promise.all([fetch(`/api/history?${c}`,{method:"DELETE"}),fetch(`/api/logs?${e(b)}`,{method:"DELETE"})]),i.current===b&&(f([]),h([]))},[]),m=(0,c.useCallback)(async(a,b=10,c,d,e,g,h,j)=>{let k=c?.trim()||i.current?.trim();if(!k)return;let l=Date.now(),m=crypto.randomUUID(),n={id:m,role:"user",participantId:null,content:a,timestamp:l,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,n]);try{await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:k,prompt:a,maxRounds:b,userMessageId:m,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:j?.trim()||void 0})})}catch{}return m},[]),n=(0,c.useCallback)(async()=>{let a=i.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),o=(0,c.useCallback)(async a=>{let b=i.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:b,setMessages:f,logs:g,sendMessage:m,loadHistory:k,clearHistory:l,clearLogs:(0,c.useCallback)(async a=>{let b=a?.trim()||i.current?.trim();b?(await fetch(`/api/logs?${e(b)}`,{method:"DELETE"}).catch(()=>{}),i.current===b&&h([])):h([])},[]),stop:n,stopThread:o}}(l),{activeAgents:J,processes:K,streaming:L,poll:M}=(0,f.useProcessPolling)(l?{workspaceId:l}:null,{messages:A,setMessages:B}),N=J.size>0,O=(0,c.useCallback)(async()=>{await H(),await M()},[H,M]),P=(0,c.useCallback)(async a=>{await I(a),await M()},[I,M]),{projects:Q,createProject:R,deleteProject:S,addAgent:T,removeAgent:U,reorderAgents:V}=(0,bb.useProjectsWithAgents)(),{projects:W,updateProject:X}=(0,bb.useProjects)(),[Y,Z]=(0,c.useState)([]),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)([]),[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(()=>"light"),[ah,ai]=(0,c.useState)(!1);(0,c.useEffect)(()=>{ai((0,a1.loadWorkspaceSidebarVisible)())},[]),(0,c.useEffect)(()=>{},[ae]);let[aj,ak]=(0,c.useState)(!1),[al,an]=(0,c.useState)(new Set),[ao,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(j??null),at=ar?al.has(ar):ao;(0,c.useEffect)(()=>{if(!ar)return;let a=!1,b=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(ar)}`).then(a=>a.json()).then(b=>{a||an(a=>{let c=a.has(ar);if(b.active&&!c){let b=new Set(a);return b.add(ar),b}if(!b.active&&c){let b=new Set(a);return b.delete(ar),b}return a})}).catch(()=>{})};b();let c=setInterval(b,1e4);return()=>{a=!0,clearInterval(c)}},[ar]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/schedules").then(a=>a.json()).then(b=>{!a&&b.activeRootMessageIds&&an(a=>{let c=new Set(b.activeRootMessageIds);for(let b of a)c.add(b);return c.size===a.size&&[...c].every(b=>a.has(b))?a:c})}).catch(()=>{})};b();let c=setInterval(b,15e3);return()=>{a=!0,clearInterval(c)}},[]),(0,c.useEffect)(()=>{ar?window.history.replaceState(null,"",`/thread/${ar}`):window.history.replaceState(null,"","/")},[ar,l]),(0,c.useEffect)(()=>{j&&(async()=>{try{let a=await fetch(`/api/messages/${j}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&m(b)}catch{}})()},[j,m]);let[au,av]=(0,c.useState)(""),[aw,ax]=(0,c.useState)([]),[ay,az]=(0,c.useState)(0),[aA,aB]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(null),[aE,aF]=(0,c.useState)(null),[aG,aH]=(0,c.useState)(new Set),[aI,aJ]=(0,c.useState)(null),[aK,aL]=(0,c.useState)({}),aM=(0,c.useCallback)(a=>{aL(b=>{let c="function"==typeof a?a(b):a;if(l)for(let[a,d]of Object.entries(c))b[a]!==d&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:l,messageId:a,draft:d})}).catch(()=>{});return c})},[l]),[aN,aO]=(0,c.useState)(new Set),[aP,aQ]=(0,c.useState)(new Set),aR=(0,c.useRef)(null),aS=(0,c.useRef)(null),aT=(0,c.useRef)(null),aU=(0,c.useRef)(""),aV=(0,c.useCallback)(async(a=!1)=>{try{let a=await fetch("/api/participants");if(!a.ok)return;let b=await a.json();if(!Array.isArray(b))return;Z(b)}finally{a&&_(!0)}},[]),aW=(0,c.useCallback)(async a=>{try{await ba({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[ba]),aX=(0,c.useCallback)(a=>{(0,a1.persistWorkspaceSidebarVisible)(a),aW(a)},[aW]),aY=au.trim(),aZ=aY.length>0,a$=(0,c.useMemo)(()=>Object.fromEntries(k.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[k]),a_=(0,c.useMemo)(()=>{if(!ar)return[];let a=new Set([A.find(a=>a.id===ar),...A.filter(a=>a.rootMessageId===ar)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(L).forEach(b=>{L[b].rootMessageId===ar&&a.add(b)}),Y.filter(b=>a.has(b.id))},[ar,A,L,Y]),a4=(0,c.useMemo)(()=>{let a=new Map(Y.map(a=>[a.id,a]));return aa.map(b=>a.get(b)).filter(Boolean)},[Y,aa]),a5=(0,c.useMemo)(()=>W.map(a=>({id:a.id,name:a.name,slug:a.slug})),[W]),a6=(0,c.useMemo)(()=>{if(!ar)return 0;let a=[A.find(a=>a.id===ar),...A.filter(a=>a.rootMessageId===ar)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[ar,A]),a7=(0,c.useMemo)(()=>{if(!ar)return"";let a=A.find(a=>a.id===ar);if(!a)return"Thread";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[ar,A]),a8=(0,c.useCallback)(()=>{av(""),ax([]),az(0),aD(null),aB(!1)},[]);(0,c.useCallback)(()=>{let a=bm(A,Y);navigator.clipboard.writeText(a).then(()=>{ad(!0),setTimeout(()=>ad(!1),2e3)})},[A,Y]);let[bk,bo]=(0,c.useState)(null),bp=(0,c.useCallback)(a=>{let b=A.find(b=>b.id===a);if(!b)return;let c=[b,...A.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)];bo({title:b.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:a,messages:c})},[A]),bq=(0,c.useCallback)(a=>{let b=bm([A.find(b=>b.id===a),...A.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),Y,aK[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[A,Y,aK]);(0,c.useEffect)(()=>{aV(!0)},[aV]);let br=(0,c.useMemo)(()=>{if(!$)return[];let a=new Set(Y.map(a=>a.id)),b=new Set;for(let c of A)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(L))a.has(c)||b.add(c);return Array.from(b).sort()},[A,Y,$,L]);(0,c.useEffect)(()=>{if(!$)return;let a=br.join("|");if(!a){aU.current="";return}aU.current!==a&&(aU.current=a,aV(!1))},[$,aV,br]),(0,c.useEffect)(()=>{if(!$)return;let a=bl(Y,Q,l);if(!l)return void ab(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...a2};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(l);if(null===b)return void ab(a);let c=function(a,b){if(null===b)return a;let c=new Set(b);return a.filter(a=>c.has(a))}(a,b);(c.length!==b.length||c.some((a,c)=>b[c]!==a))&&a3(l,c),ab(c)},[l,Y,$,Q]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await a9();if(a)return;ai(a=>a===b.threadSidebarVisible?a:((0,a1.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[a9,a1.persistWorkspaceSidebarVisible]),(0,c.useEffect)(()=>{t||q||0!==k.length||n({id:"global",title:"General"})},[t,q,k.length,n]),(0,c.useEffect)(()=>()=>{aT.current&&window.clearTimeout(aT.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),aR.current?.focus(),aR.current?.select();return}"Escape"===a.key&&aY&&a8()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[a8,aY]),(0,c.useEffect)(()=>{if(!aY){ax([]),az(0),aD(null),aB(!1);return}let a=!1;aB(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:aY,limit:"20",offset:"0"}),c=await fetch(`/api/search?${b.toString()}`),d=await c.json().catch(()=>null);if(a)return;if(!c.ok){let a=d&&"object"==typeof d&&"error"in d?String(d.error):"Search failed";ax([]),az(0),aD(a);return}ax(Array.isArray(d.results)?d.results:[]),az("number"==typeof d.total?d.total:0),aD(null)}catch(b){if(a)return;console.error("Search request failed",b),ax([]),az(0),aD("Search failed")}finally{a||aB(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[aY]);let bs=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bs.current&&bs.current!==l&&(O(),aS.current?(as(aS.current),aS.current=null):as(null)),bs.current=l,l&&(E(l),fetch(`/api/task-drafts?threadId=${encodeURIComponent(l)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?aL(a.drafts):aL({})}).catch(()=>aL({})))},[l,E,O]),(0,c.useEffect)(()=>{l&&p(l,A)},[l,A,p]);let bt=(0,c.useCallback)((b,c,d=10,e)=>{if(!l||0===a4.length)return;let f=a4.map(a=>a.id);D(c,d,l,b,void 0,void 0,e&&f.includes(e)?[e,...f.filter(a=>a!==e)]:f,a)},[l,D,a4,a]),bu=(0,c.useCallback)(async a=>{if(l){if(0===a4.length)return void window.alert("Enable at least one agent in this project.");aH(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:l,rootMessageId:a,activeParticipantIds:a4.map(a=>a.id)})});b.ok?await E(l):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{aH(b=>{let c=new Set(b);return c.delete(a),c})}}},[l,E,a4]),bv=(0,c.useCallback)(async a=>{if(l){if(0===a4.length)return void window.alert("Enable at least one agent in this project.");aO(b=>new Set(b).add(a));try{let b=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:l,rootMessageId:a,activeParticipantIds:a4.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};aM(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{aO(b=>{let c=new Set(b);return c.delete(a),c})}}},[l,a4]),bw=(0,c.useCallback)((a,b)=>{aM(c=>({...c,[a]:b}))},[]),bx=(0,c.useCallback)(async(a,b,c,d)=>{if(l){aQ(a=>new Set(a).add(b.draftId)),aM(e=>({...e,[a]:{...b,buildStatus:"building",projectId:c,projectName:d}}));try{let d=crypto.randomUUID(),e=await G(b.tasks,c,d,b.builtTaskIds),f={...b.builtTaskIds},g=!1;for(let a of e.results)"created"===a.status&&a.remoteTaskId?f[a.clientTaskId]=a.remoteTaskId:g=!0;aM(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),aM(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{aQ(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[l]),by=(0,c.useCallback)(()=>{if(!l)return;let a=(()=>{if(ar)return ar;let a=new Set(A.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=A.length-1;b>=0;b-=1){let c=A[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bv(a):console.warn("No thread with replies available to extract tasks from")},[l,bv,A,ar]);(0,c.useCallback)(a=>{as(a)},[]);let bz=(0,c.useCallback)(a=>{as(a)},[]),bA=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&av(b),requestAnimationFrame(()=>{aR.current?.focus(),b||aR.current?.select()})},[]),bB=(0,c.useCallback)(()=>{if(!l)return;let a=(()=>{if(ar)return ar;let a=new Set(A.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=A.length-1;b>=0;b-=1){let c=A[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bu(a):console.warn("No thread with replies available to summarize")},[l,bu,A,ar]),bC=(0,c.useCallback)(async(b,c,d,e,f)=>{let g=b.match(/^\/search(?:\s+([\s\S]+))?$/i);if(g)return void bA(g[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(b))return void bB();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(b)||/^\/create(?:\s+[\s\S]+)?$/i.test(b))return void by();at&&ar&&(an(a=>{let b=new Set(a);return b.delete(ar),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"stop",rootMessageId:ar})}).catch(a=>console.error("Failed to deactivate schedule:",a)));let h=l;h||(h=(await n()).id);let i=a4.map(a=>a.id);if(0===i.length)return void window.alert("Enable at least one agent in this project.");let j=f&&i.includes(f)?[f,...i.filter(a=>a!==f)]:i;if(ar)return void await D(b,c,h,ar,d,e,j,a);let k=await D(b,c,h,null,d,e,j,a);ao&&k&&(aq(!1),an(a=>{let b=new Set(a);return b.add(k),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:k})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[l,at,ao,n,bA,bB,ar,a4,D,a]),bD=(0,c.useCallback)(async a=>{if(!ar)return void aq(a);an(b=>{let c=new Set(b);return a?c.add(ar):c.delete(ar),c});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a?"activate":"stop",rootMessageId:ar})})}catch(a){console.error("Failed to toggle autonomous schedule:",a)}},[ar]),bE=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==l?(aS.current=b,m(a.threadId)):as(b),aF(null),window.requestAnimationFrame(()=>{aF(a.messageId),aT.current&&window.clearTimeout(aT.current),aT.current=window.setTimeout(()=>{aF(b=>b===a.messageId?null:b)},2e3)}),a8()},[l,a8,m]),bF=(0,c.useCallback)(async a=>{O(),await o(a)},[o,O]),bG=(0,c.useCallback)(async a=>{if(l&&a&&window.confirm("Delete this thread and all of its replies?")){aJ(a),P(a);try{let b=new URLSearchParams({threadId:l,rootMessageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message thread",await c.text());as(b=>b===a?null:b),aF(null);let d=A.filter(b=>b.id!==a&&b.rootMessageId!==a);p(l,d),await E(l)}catch(a){console.error("Failed to delete message thread",a)}finally{aJ(b=>b===a?null:b)}}},[l,E,A,P,p]),bH=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>bA()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>bB()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>by()}],[bA,bB,by]),bI=(0,c.useMemo)(()=>l?Q.filter(a=>a.thread_ids?.includes(l)):Q,[Q,l]),bJ=(0,c.useCallback)(a=>(0,b.jsx)(a0,{onSend:(b,c,d,e,f)=>bt(a,b,c,f),onStop:()=>P(a),loading:Object.values(L).some(b=>b.rootMessageId===a),participants:a4,projectGroups:bI,projects:a5,messages:A,commands:bH,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:at,onAutoModeChange:bD}),[bt,P,L,a4,bI,a5,bH,A,at,bD]),bK=(0,c.useCallback)(()=>{ai(a=>{let b=!a;return aX(b),b})},[aX]),bL=async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();Z(b=>b.map(b=>b.id===a.id?a:b))}},bM=(0,c.useCallback)((a,b)=>{ab(c=>{let d=bl(Y,Q,l);if(!new Set(d).has(a))return c;let e=new Set(c);b?e.add(a):e.delete(a);let f=d.filter(a=>e.has(a));return l&&a3(l,f),f})},[l,Y,Q]),bN=(0,c.useCallback)(a=>{let b=Q.find(b=>b.id===a);if(!b||l&&!b.thread_ids?.includes(l))return;let c=b.agents.map(a=>a.agent_id);ab(c),l&&a3(l,c)},[Q,l]),bO=(0,c.useCallback)(()=>{af(a=>"dark"===a?"light":"dark")},[]),bP=()=>(0,b.jsx)("button",{type:"button",onClick:bO,"aria-label":"dark"===ae?"Switch to light theme":"Switch to dark theme",title:"dark"===ae?"Switch to light theme":"Switch to dark theme",className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition-all hover:border-[var(--app-shell-border-strong)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:"dark"===ae?(0,b.jsx)(bh,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bg,{className:"h-4 w-4",strokeWidth:1.75})}),bQ=(0,b.jsx)("div",{className:"border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:!ah&&(0,b.jsx)("button",{type:"button",onClick:bK,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(bf,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,b.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,b.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,b.jsx)(bc.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:2}),(0,b.jsx)("input",{ref:aR,type:"text",value:au,onChange:a=>av(a.target.value),onKeyDown:a=>{"Escape"===a.key&&a8()},placeholder:"Search messages…",className:"h-9 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-sm font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),aY?(0,b.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:aA?"…":ay}),(0,b.jsx)("button",{type:"button",onClick:a8,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[bP(),(0,b.jsx)(bj,{}),ar&&(0,b.jsx)("button",{type:"button",onClick:()=>ak(!aj),"aria-label":aj?"Hide logs":`Show logs${C.length>0?` (${C.length})`:""}`,"aria-pressed":aj,title:aj?"Hide logs":`Show logs${C.length>0?` (${C.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aj?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(be,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--app-shell-bg)] text-[var(--foreground)]",children:[(0,b.jsx)(h.WorkspaceSidebar,{threads:k,participants:Y,activeThreadId:l,isLoading:t,isRestoringActiveThread:u,isCreating:q,deletingThreadId:r,renamingThreadId:s,onSelectThread:m,onCreateThread:n,onRenameThread:v,onDeleteThread:bF,activeParticipantIds:aa,onToggleParticipantActive:bM,visible:ah,onToggle:bK,projects:Q,onCreateProject:R,onUpdateProject:X,onDeleteProject:S,onAddAgentToProject:T,onRemoveAgentFromProject:U,onReorderProjectAgents:V,onUpdateParticipant:bL,onSelectProject:bN}),(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:u?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,b.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[ar?(0,b.jsx)("div",{className:"border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[(0,b.jsx)("button",{onClick:()=>as(null),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-indigo-500 hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0",title:"Back to main feed",children:(0,b.jsx)(bd.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,b.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:a7}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsxs)("span",{className:"opacity-80",children:[a_.length," agents"]}),(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsxs)("span",{className:"opacity-80",children:["Updated ",function(a){if(!a)return"recently";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(a6)]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:a_.map(a=>(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"h-7 w-7 rounded-full border-2 border-[var(--app-shell-elevated)] object-cover shadow-sm ring-1 ring-[var(--app-shell-border)]",title:a.name},a.id))}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[bP(),(0,b.jsx)(bj,{}),(0,b.jsx)("button",{type:"button",onClick:()=>ak(!aj),"aria-label":aj?"Hide logs":`Show logs${C.length>0?` (${C.length})`:""}`,"aria-pressed":aj,title:aj?"Hide logs":`Show logs${C.length>0?` (${C.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aj?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(be,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):bQ,aZ?(0,b.jsx)(ap,{query:aY,results:aw,total:ay,participants:Y,threadTitleById:a$,isLoading:aA,error:aC,onSelectResult:bE}):ar?(0,b.jsx)(am,{messages:A,streaming:L,participants:Y,rootMessageId:ar,onClose:()=>as(null),onCopyThread:bq,onAddToChat:bp,onDeleteThreadRoot:bG,highlightedMessageId:aE||void 0,renderReplyComposer:bJ,activeProcesses:K.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===ar)}):(0,b.jsx)(ag,{messages:A,streaming:L,participants:Y,onOpenThread:bz,onCopyThread:bq,onAddToChat:bp,onDeleteThreadRoot:bG,onSummarize:bu,onCreateTasks:bv,onUpdateTaskDraft:bw,onBuildTasks:bx,summarizingThreads:aG,extractingTasks:aN,buildingDrafts:aP,taskDrafts:aK,deletingThreadRootId:aI,highlightedMessageId:aE,shipModeThreads:al,onUpdateMessageThreadStatus:l?(a,b)=>{B(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),y(l,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:l?(a,b)=>{B(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),z(l,a,b);let c=A.find(b=>b.id===a);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:c?.threadStatus??null,outcomeNote:b})})}:void 0}),!aZ&&!ar&&(0,b.jsx)(a0,{onSend:bC,onStop:O,loading:N,participants:a4,projects:a5,projectGroups:bI,messages:A,commands:bH,pendingThreadInsert:bk,onClearPendingThread:()=>bo(null),autoMode:at,onAutoModeChange:bD})]})})}),j&&(0,b.jsx)(bi,{logs:C,participants:Y,onClear:()=>void F(l),open:aj,onToggle:()=>ak(!1)})]})}a.s(["ChatContainer",()=>bn],24610)}];
8
+ ${c}`}if(G.hasFilePaths){let a=await aE(G.filePaths);a.contextPrefix&&(c=a.contextPrefix+c)}b&&H.pushEntry(b);let d=F.attachmentIds.length>0?F.attachmentIds:void 0,e=d?F.getAttachmentMetas():void 0;a(c,10,d,e,u??void 0),I.commands.clearContent(),A([]),F.clear(),G.clearFilePaths(),B.close(),C.close(),E.close()},[I,B,C,k,a,F,G,z,E,H]),Q=B.isOpen&&B.filteredSuggestions.length>0;C.isOpen&&C.filteredCommands.length,D.isOpen&&D.suggestions.length,E.isOpen&&E.suggestions.length,Q&&B.filteredSuggestions[B.activeIndex];let R=F.staged.some(a=>"uploading"===a.status),S=!I||I.isEmpty,T=g.find(a=>a.id===u)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsx)(a0,{onDrop:F.stageFiles,children:(0,b.jsxs)("div",{className:"bg-white border border-gray-200 shadow-sm focus-within:border-gray-300 focus-within:ring-1 focus-within:ring-gray-300 dark:bg-gray-900 dark:border-gray-800 dark:shadow-lg dark:focus-within:border-gray-600 dark:focus-within:ring-gray-600 transition-all flex flex-col rounded-2xl",children:[r&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${q?"border-orange-200/50 dark:border-orange-500/30":"border-gray-100 dark:border-gray-800/60"}`,children:[(0,b.jsx)("div",{className:`absolute inset-0 transition-opacity duration-700 ${q?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:q?"shipBgSweep 4s ease-in-out infinite":"none"}}),q&&(0,b.jsx)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(8)].map((a,c)=>(0,b.jsx)("div",{className:"absolute h-[1.5px] rounded-full",style:{top:`${12+10*c}%`,right:"-10%",width:`${20+c%3*15}%`,background:"linear-gradient(to left, transparent, var(--warning))",opacity:.3+c%3*.1,animation:`shipSpeedLine ${.8+c%4*.3}s ${.1*c}s ease-in-out infinite`}},c))}),(0,b.jsx)("div",{className:"relative px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:`p-1 rounded-md transition-all duration-300 ${q?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:q?{animation:"shipPulse 2s ease-in-out infinite"}:{},children:(0,b.jsx)(ad,{size:14})}),(0,b.jsx)("span",{className:`text-sm font-semibold transition-colors duration-300 ${q?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${q?"text-[var(--warning)] opacity-60":"text-[var(--app-shell-muted)] opacity-60"}`,children:"|"}),(0,b.jsx)("span",{className:`text-xs font-medium transition-colors duration-300 ${q?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:q?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>r(!q),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-[var(--warning)] focus:ring-offset-2 focus:ring-offset-[var(--background)] ${q?"bg-[var(--warning)]":"bg-[var(--app-shell-border-strong)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-[var(--app-shell-elevated)] shadow-sm transition-transform duration-200 ${q?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[F.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(a_,{attachments:F.staged,onRemove:F.remove,onRetry:F.retry})}),(0,b.jsxs)("div",{className:"p-2 relative",children:[(0,b.jsx)("input",{ref:w,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(F.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:J,children:[(0,b.jsx)(ar.EditorContent,{editor:I,className:"composer-editor"}),(0,b.jsx)(aQ,{isOpen:B.isOpen&&!C.isOpen,suggestions:B.filteredSuggestions,activeIndex:B.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:K}),(0,b.jsx)(aR,{isOpen:C.isOpen,commands:C.filteredCommands,activeIndex:C.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:O}),(0,b.jsx)(aX,{isOpen:D.isOpen,suggestions:D.suggestions,activeIndex:D.activeIndex,isLoading:D.isLoading,error:D.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?M(a):L(a)},onAttachContents:D.onAttachContents}),(0,b.jsx)(aY,{isOpen:E.isOpen&&!C.isOpen&&!D.isOpen,suggestions:E.suggestions,activeIndex:E.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:N})]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-gray-100 dark:border-gray-800/60 transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:y,className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors","aria-label":"Attach file",title:"Attach file",children:(0,b.jsx)(a1,{className:"h-4 w-4",strokeWidth:1.75})}),(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-[10px] font-semibold text-[var(--app-shell-muted)] uppercase tracking-wider mr-1",children:"Agents"}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:0===g.length?(0,b.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):g.map(a=>(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":u===a.id,onClick:()=>v(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),v(b=>b===a.id?null:a.id))},className:`relative w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--app-shell-elevated)] shadow-sm flex items-center justify-center overflow-visible shrink-0 transition-all cursor-pointer ${u===a.id?"-translate-y-0.5 ring-2 ring-[var(--ring)] ring-offset-1 ring-offset-[var(--background)]":"hover:-translate-y-0.5"}`,title:a.name,children:[(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"w-full h-full rounded-full object-cover"}),t&&(0,b.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2 h-2 border border-[var(--app-shell-elevated)] rounded-full ${"queued"===s?"bg-amber-400":"bg-emerald-400"}`})]},a.id))})]}),T&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:["Pinned: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:T.name})]})]})]}),t?(0,b.jsx)("button",{type:"button",onClick:d,className:"flex items-center gap-2 bg-[var(--destructive-muted)] text-[var(--destructive)] border border-[var(--status-failed-border)] px-4 py-1.5 rounded-lg text-sm font-semibold hover:opacity-90 transition-colors",children:"Stop"}):(0,b.jsxs)("button",{type:"button",onClick:P,disabled:S&&!F.hasUploaded&&!G.hasFilePaths||R,className:"flex items-center gap-2 bg-[var(--primary)] hover:bg-[var(--primary-hover)] text-[var(--primary-foreground)] px-4 py-1.5 rounded-lg text-sm font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm",children:["Send",(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,b.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})]})]})]})]})}),(0,b.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-[var(--app-shell-muted)] px-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${"working"===s?"bg-emerald-400 animate-pulse":"queued"===s?"bg-amber-400":"bg-emerald-400"}`}),(0,b.jsx)("span",{children:"working"===s?"Working":"queued"===s?"Queued":"Ready"})]}),(0,b.jsxs)("span",{children:["Press ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," to send, ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Shift"})," + ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," for new line"]})]})]})})}var a4=a.i(55672);let a5={activeParticipantIdsByThread:{}};function a6(a,b){let c=a.trim();if(c)({...a5}).activeParticipantIdsByThread[c]=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(b)}var a7=a.i(15040),a8=a.i(31626);function a9({isOpen:a,title:d,message:e,preview:f,confirmLabel:g="Confirm",cancelLabel:h="Cancel",variant:i="default",onConfirm:j,onCancel:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a){let a=setTimeout(()=>l.current?.focus(),50);return()=>clearTimeout(a)}},[a]);let n=(0,c.useCallback)(a=>{"Escape"===a.key&&k()},[k]);if(!a)return null;let o="danger"===i;return(0,b.jsxs)("div",{style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:a=>a.target===a.currentTarget&&k(),onKeyDown:n,className:"jsx-1da17079bc733bcf fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",children:[(0,b.jsxs)("div",{ref:m,style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},className:"jsx-1da17079bc733bcf w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",children:[(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf px-6 pt-6 pb-3",children:(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf flex items-start gap-4",children:[o&&(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,b.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,className:"jsx-1da17079bc733bcf w-5 h-5 text-red-500",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0",className:"jsx-1da17079bc733bcf"})})}),(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf flex-1 min-w-0",children:[(0,b.jsx)("h3",{className:"jsx-1da17079bc733bcf text-[15px] font-semibold text-[var(--foreground)]",children:d}),(0,b.jsx)("p",{className:"jsx-1da17079bc733bcf mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:e})]})]})}),f&&(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,b.jsxs)("p",{className:"jsx-1da17079bc733bcf text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",f,"”"]})}),(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 border-t border-[var(--card-border)]"}),(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,b.jsx)("button",{onClick:k,className:"jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:h}),(0,b.jsx)("button",{ref:l,onClick:j,className:`jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${o?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:g})]})]}),(0,b.jsx)(a8.default,{id:"1da17079bc733bcf",children:"@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}"})]})}var ba=a.i(56196),bb=a.i(87532),bc=a.i(13749);let bd=(0,t.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),be=(0,t.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),bf=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),bg=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var bh=a.i(53722);function bi({logs:a,participants:d,onClear:e,open:f,onToggle:g}){let[h,i]=(0,c.useState)(420),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(!1),n=(0,c.useRef)(0),o=(0,c.useRef)(0),p=Object.fromEntries(d.map(a=>[a.id,a]));(0,c.useEffect)(()=>{f&&l.current?.scrollIntoView({behavior:"smooth"})},[a.length,f]);let q=(0,c.useCallback)(a=>{a.preventDefault(),m.current=!0,n.current=a.clientX,o.current=h,a.target.setPointerCapture(a.pointerId)},[h]),r=(0,c.useCallback)(a=>{if(!m.current)return;let b=n.current-a.clientX;i(Math.max(280,Math.min(o.current+b,.6*window.innerWidth)))},[]),s=(0,c.useCallback)(()=>{m.current=!1},[]);if(!f)return null;let t=j?a.filter(a=>a.participantId===j):a;return(0,b.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,b.jsx)("div",{onPointerDown:q,onPointerMove:r,onPointerUp:s,className:"w-1.5 cursor-col-resize bg-zinc-800 hover:bg-zinc-600 transition-colors flex items-center justify-center shrink-0",children:(0,b.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:h},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,b.jsxs)("select",{value:j||"",onChange:a=>k(a.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,b.jsx)("option",{value:"",children:"All"}),d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:e,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,b.jsx)("button",{onClick:g,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[t.map((a,c)=>{let d=p[a.participantId]?.name||a.participantId,e=p[a.participantId]?.color||"#888",f="stderr"===a.stream;return(0,b.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(a.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,b.jsx)("span",{className:"shrink-0",style:{color:e},children:d}),(0,b.jsx)("span",{className:f?"text-red-400":"text-[var(--muted-foreground)]",children:a.line})]},c)}),(0,b.jsx)("div",{ref:l})]})]})]})}function bj(){let[a,d]=(0,c.useState)("unknown"),[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(""),[i,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/status");if(!a.ok)return void d("unknown");let b=await a.json();d("ok"===b.status?"ok":"degraded");let c=b.services.filter(a=>"agx-chat"===a.name||"agx-cloud"===a.name);f(c),h(new Date().toLocaleTimeString())}catch{d("unknown"),f([])}},[]);return(0,c.useEffect)(()=>{l();let a=setInterval(l,3e4);return()=>clearInterval(a)},[l]),(0,b.jsxs)("div",{className:"relative",onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:[(0,b.jsx)(j.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,b.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===a?"bg-emerald-400":"degraded"===a?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===a?"animate-pulse":""}`})}),i&&(0,b.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[e.length>0?(0,b.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:"ok"===a.status?"text-emerald-600":"error"===a.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===a.status?"Healthy":"error"===a.status?a.detail||"Error":"Unavailable"})]},a.name))}):(0,b.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),g&&(0,b.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",g]})]})]})}function bk(a,b=!1){return(b?a.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():a).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}async function bl(a){let b=await fetch(`/api/threads/knowledge?rootMessageId=${encodeURIComponent(a)}`,{cache:"no-store"});if(!b.ok)throw Error("Failed to load thread knowledge run");let c=await b.json().catch(()=>null);return c?.run??null}function bm(a,b,c){let d=new Set(a.map(a=>a.id)),e=c?b.find(a=>a.thread_ids?.includes(c)):b[0],f=e?e.agents.map(a=>a.agent_id).filter(a=>d.has(a)):[];return e?f:0===f.length?a.map(a=>a.id):f}function bn(a,b,c){let d=Object.fromEntries(b.map(a=>[a.id,a])),e=[];for(let b of a){let a="user"===b.role?"You":b.participantId?d[b.participantId]?.name||b.participantId:"Assistant",c=bk(b.content,"user"!==b.role);c&&(e.push(`**${a}:**`),e.push(""),e.push(c),e.push(""))}if(c){let a=function(a){if(0===a.tasks.length)return"";let b=new Map(a.tasks.map(a=>[a.id,a.title.trim()])),c=["## Draft Tasks",""];return a.projectName&&c.push(`Project: ${a.projectName}`),a.buildStatus&&c.push(`Build status: ${a.buildStatus.replaceAll("_"," ")}`),(a.projectName||a.buildStatus)&&c.push(""),a.tasks.forEach((d,e)=>{let f=bk(d.title)||`Task ${e+1}`,g=bk(d.description),h=(d.dependsOn||[]).map(a=>b.get(a)?.trim()).filter(a=>!!a),i=a.builtTaskIds?.[d.id];c.push(`${e+1}. [ ] **${f}**`),g&&c.push(g),h.length>0&&c.push(`Depends on: ${h.join(", ")}`),i&&c.push(`agx task id: \`${i}\``),c.push("")}),c.join("\n").trim()}(c);a&&e.push(a)}return e.join("\n").trim()}function bo({projectSlug:a,initialThreadId:j,initialRootMessageId:k,showSidebar:l=!0}={}){let m=(0,d.useSearchParams)(),{threads:n,activeThreadId:o,selectThread:p,createThread:q,deleteThread:r,updateThreadMessages:s,isCreating:t,deletingThreadId:u,renamingThreadId:v,isLoading:w,isRestoringActiveThread:x,renameThread:y,updateThreadStatus:z,updateThreadOutcomeNote:A,updateMessageThreadStatus:B,updateMessageOutcomeNote:C}=(0,h.useThreadState)(j),{messages:D,setMessages:E,logs:F,sendMessage:G,loadHistory:J,clearLogs:K,chatRuns:L,setChatRuns:M,stop:N,stopThread:O}=function(a){let[b,d]=(0,c.useState)([]),[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)([]),k=(0,c.useRef)(a),l=(0,c.useRef)(a);k.current=a,l.current!==a&&(l.current=a,d([]),h([]),j([]));let m=(0,c.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){d([]),h([]);return}let c=e(b);try{let[a,e]=await Promise.all([fetch(`/api/history?${c}`),fetch(`/api/logs?${f(b)}`)]);if(k.current!==b)return;a.ok&&d(await a.json()),e.ok&&h(await e.json())}catch{}},[]),n=(0,c.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){d([]),h([]);return}let c=e(b);await Promise.all([fetch(`/api/history?${c}`,{method:"DELETE"}),fetch(`/api/logs?${f(b)}`,{method:"DELETE"})]),k.current===b&&(d([]),h([]))},[]),o=(0,c.useCallback)(async(a,b=10,c,e,f,g,h,i)=>{let l=c?.trim()||k.current?.trim();if(!l)return;let m=Date.now(),n=crypto.randomUUID(),o={id:n,role:"user",participantId:null,content:a,timestamp:m,rootMessageId:e||null,parentMessageId:e||null,depth:+!!e,...g&&g.length>0?{attachments:g}:{}};d(a=>[...a,o]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:l,prompt:a,maxRounds:b,userMessageId:n,rootMessageId:e||void 0,attachmentIds:f?.length?f:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0})}),d=await c.json().catch(()=>null);c.ok&&d?.chatRunId&&j(a=>[{chatRunId:d.chatRunId,threadId:l,rootMessageId:e||n,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==d.chatRunId)])}catch{}return n},[]),p=(0,c.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,c.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:b,setMessages:d,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,c.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${f(b)}`,{method:"DELETE"}).catch(()=>{}),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}(o),{activeAgents:P,processes:Q,streaming:R,chatRuns:S,poll:T}=(0,g.useProcessPolling)(o?{workspaceId:o}:null,{messages:D,setMessages:E}),U=(0,c.useMemo)(()=>{let a=Date.now(),b=new Map(S.map(a=>[a.chatRunId,a]));for(let c of L)!(!c.optimistic||b.has(c.chatRunId))&&(a-(c.enqueuedAt??0)>5e3||b.set(c.chatRunId,c));return Array.from(b.values()).filter(a=>"queued"===a.status||"running"===a.status)},[L,S]),V=P.size>0||U.some(a=>"running"===a.status)?"working":U.some(a=>"queued"===a.status)?"queued":"ready";(0,c.useEffect)(()=>{M(a=>{let b=Date.now(),c=new Map(a.filter(a=>"string"==typeof a.chatRunId&&a.chatRunId.length>0).map(a=>[a.chatRunId,a]));for(let a of S)a?.chatRunId&&c.set(a.chatRunId,a);return Array.from(c.values()).filter(a=>!!(!a.optimistic||S.some(b=>b.chatRunId===a.chatRunId))||b-(a.enqueuedAt??0)<=5e3).sort((a,b)=>String(a.chatRunId||"").localeCompare(String(b.chatRunId||"")))})},[S,M]);let W=(0,c.useCallback)(async a=>{await fetch(`/api/chat-runs/${encodeURIComponent(a)}/signal`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({signal:"cancel",reason:"Stopped from chat UI"})}).catch(()=>{})},[]),X=(0,c.useCallback)(async()=>{let a=U[0];a?.chatRunId&&await W(a.chatRunId),await N(),await T()},[U,W,N,T]),Y=(0,c.useCallback)(async a=>{let b=U.find(b=>b.rootMessageId===a);b?.chatRunId&&await W(b.chatRunId),await O(a),await T()},[U,W,O,T]),Z=(0,c.useRef)(X);(0,c.useEffect)(()=>{Z.current=X},[X]);let{projects:$,createProject:_,deleteProject:aa,addAgent:ab,removeAgent:ac,reorderAgents:ad}=(0,ba.useProjectsWithAgents)(),{projects:ae,updateProject:af}=(0,ba.useProjects)(),[ag,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(!1),[al,am]=(0,c.useState)([]),[ao,ap]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(()=>"light"),[at,au]=(0,c.useState)(!1),av=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=(0,a4.loadWorkspaceSidebarVisible)();av.current=!0,au(a)},[]),(0,c.useEffect)(()=>{},[ar]);let[aw,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(new Set),[aA,aB]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(null),[aG,aH]=(0,c.useState)(k??null),aI=m.get("open")?.trim()||null,aJ=aG?ay.has(aG):aA;(0,c.useEffect)(()=>{if(!aG)return;let a=!1,b=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(aG)}`).then(a=>a.json()).then(b=>{a||az(a=>{let c=a.has(aG);if(b.active&&!c){let b=new Set(a);return b.add(aG),b}if(!b.active&&c){let b=new Set(a);return b.delete(aG),b}return a})}).catch(()=>{})};b();let c=setInterval(b,1e4);return()=>{a=!0,clearInterval(c)}},[aG]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/schedules").then(a=>a.json()).then(b=>{!a&&b.activeRootMessageIds&&az(a=>{let c=new Set(b.activeRootMessageIds);for(let b of a)c.add(b);return c.size===a.size&&[...c].every(b=>a.has(b))?a:c})}).catch(()=>{})};b();let c=setInterval(b,15e3);return()=>{a=!0,clearInterval(c)}},[]),(0,c.useEffect)(()=>{if(aG){let b=a?`/projects/${a}/thread/${encodeURIComponent(o??j??"")}?open=${encodeURIComponent(aG)}`:`/thread/${aG}`;window.history.replaceState(null,"",b)}else window.history.replaceState(null,"",a?`/projects/${a}/thread/${encodeURIComponent(o??j??"")}`:"/")},[o,j,aG,a]),(0,c.useEffect)(()=>{a&&aH(a=>a===aI?a:aI)},[a,aI]),(0,c.useEffect)(()=>{k&&(async()=>{try{let a=await fetch(`/api/messages/${k}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&p(b)}catch{}})()},[k,p]);let[aK,aL]=(0,c.useState)(""),[aM,aN]=(0,c.useState)([]),[aO,aP]=(0,c.useState)(0),[aQ,aR]=(0,c.useState)(!1),[aS,aT]=(0,c.useState)(null),[aU,aV]=(0,c.useState)(null),[aW,aX]=(0,c.useState)(new Set),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(null),[a0,a1]=(0,c.useState)({}),a2=(0,c.useCallback)(a=>{a1(b=>{let c="function"==typeof a?a(b):a;if(o)for(let[a,d]of Object.entries(c))b[a]!==d&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:o,messageId:a,draft:d})}).catch(()=>{});return c})},[o]),[a8,bk]=(0,c.useState)(new Set),[bp,bq]=(0,c.useState)(new Set),br=(0,c.useRef)(null),bs=(0,c.useRef)(null),bt=(0,c.useRef)(null),bu=(0,c.useRef)(""),bv=(0,c.useCallback)(async(a=!1)=>{try{let a=await fetch("/api/participants");if(!a.ok)return;let b=await a.json();if(!Array.isArray(b))return;ai(b)}finally{a&&ak(!0)}},[]),bw=(0,c.useCallback)(async a=>{try{await (0,a7.updateUserPreferences)({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[a7.updateUserPreferences]),bx=(0,c.useCallback)(a=>{(0,a4.persistWorkspaceSidebarVisible)(a),bw(a)},[bw]),by=aK.trim(),bz=by.length>0,bA=(0,c.useMemo)(()=>Object.fromEntries(n.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[n]),bB=(0,c.useMemo)(()=>{if(!aG)return[];let a=new Set([D.find(a=>a.id===aG),...D.filter(a=>a.rootMessageId===aG)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(R).forEach(b=>{R[b].rootMessageId===aG&&a.add(b)}),ag.filter(b=>a.has(b.id))},[aG,D,R,ag]),bC=(0,c.useMemo)(()=>{let a=new Map(ag.map(a=>[a.id,a]));return al.map(b=>a.get(b)).filter(Boolean)},[ag,al]),bD=(0,c.useMemo)(()=>ae.map(a=>({id:a.id,name:a.name,slug:a.slug})),[ae]),bE=(0,c.useMemo)(()=>{if(!aG)return 0;let a=[D.find(a=>a.id===aG),...D.filter(a=>a.rootMessageId===aG)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[aG,D]),bF=(0,c.useMemo)(()=>{if(!aG)return"";let a=D.find(a=>a.id===aG);if(!a)return"Discussion";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[aG,D]),bG=(0,c.useMemo)(()=>{if(!aG)return null;let a=D.find(a=>a.id===aG),b=a?.threadStatus??"active";return{value:b,...{active:{label:"Active",color:"#f59e0b"},paused:{label:"Paused",color:"#f97316"},"in-review":{label:"In Review",color:"#6b7280"},done:{label:"Done",color:"#3b82f6"},archived:{label:"Archived",color:"#9ca3af"}}[b]}},[aG,D]),bH=(0,c.useCallback)(()=>{aL(""),aN([]),aP(0),aT(null),aR(!1)},[]);(0,c.useCallback)(()=>{let a=bn(D,ag);navigator.clipboard.writeText(a).then(()=>{ap(!0),setTimeout(()=>ap(!1),2e3)})},[D,ag]);let[bI,bJ]=(0,c.useState)(null),bK=(0,c.useCallback)(a=>{let b=D.find(b=>b.id===a);if(!b)return;let c=[b,...D.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)];bJ({title:b.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:a,messages:c})},[D]),bL=(0,c.useCallback)(a=>{let b=bn([D.find(b=>b.id===a),...D.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),ag,a0[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[D,ag,a0]),bM=(0,c.useCallback)(async()=>{if(aG){aD(!0);try{let b=["repo"];a&&b.push("project");let c=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aG,scopes:b})}),d=await c.json().catch(()=>null);if(!c.ok)throw Error("string"==typeof d?.error?d.error:"Request failed");aF(d?.run??null)}catch(b){let a=b instanceof Error?b.message:"Request failed";window.alert(`Failed to extract knowledge: ${a}`)}finally{aD(!1)}}},[aG,a]);(0,c.useEffect)(()=>{if(!aG){aF(null),aD(!1);return}let a=!1;return(async()=>{try{let b=await bl(aG);if(a)return;aF(b)}catch{a||aF(null)}})(),()=>{a=!0}},[aG]),(0,c.useEffect)(()=>{if(!aG||aE?.status!=="running")return;let a=!1,b=async()=>{try{let b=await bl(aG);if(a)return;aF(b)}catch{}};b();let c=window.setInterval(()=>{b()},2e3);return()=>{a=!0,window.clearInterval(c)}},[aG,aE?.status]);let bN=aE?.status==="running",bO=aC||bN,bP=(aE?.repoInsertedCount??0)+(aE?.projectInsertedCount??0),bQ=(0,c.useMemo)(()=>{if(!aE)return null;if("running"===aE.status)return"Learning in progress";if("failed"===aE.status)return"Last learning run failed";if(bP>0){let a=1===bP?"insight":"insights";return`Learned ${bP} ${a}`}return"No new learnings"},[bP,aE]);(0,c.useEffect)(()=>{bv(!0)},[bv]);let bR=(0,c.useMemo)(()=>{if(!aj)return[];let a=new Set(ag.map(a=>a.id)),b=new Set;for(let c of D)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(R))a.has(c)||b.add(c);return Array.from(b).sort()},[D,ag,aj,R]);(0,c.useEffect)(()=>{if(!aj)return;let a=bR.join("|");if(!a){bu.current="";return}bu.current!==a&&(bu.current=a,bv(!1))},[aj,bv,bR]),(0,c.useEffect)(()=>{if(!aj)return;let a=bm(ag,$,o);if(!o)return void am(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...a5};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(o);if(null===b)return void am(a);let c=function(a,b){if(null===b)return a;let c=new Set(b);return a.filter(a=>c.has(a))}(a,b),d=c.length>0?c:a;(d.length!==b.length||d.some((a,c)=>b[c]!==a))&&a6(o,d),am(d)},[o,ag,aj,$]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await (0,a7.fetchUserPreferences)();if(a)return;au(a=>a===b.threadSidebarVisible?a:av.current?(bw(a),a):((0,a4.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[bw]),(0,c.useEffect)(()=>{w||t||0!==n.length||q({id:"global",title:"General"})},[w,t,n.length,q]),(0,c.useEffect)(()=>()=>{bt.current&&window.clearTimeout(bt.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),br.current?.focus(),br.current?.select();return}"Escape"===a.key&&by&&bH()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[bH,by]),(0,c.useEffect)(()=>{if(!by){aN([]),aP(0),aT(null),aR(!1);return}let a=!1;aR(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:by,limit:"20",offset:"0"}),c=await fetch(`/api/search?${b.toString()}`),d=await c.json().catch(()=>null);if(a)return;if(!c.ok){let a=d&&"object"==typeof d&&"error"in d?String(d.error):"Search failed";aN([]),aP(0),aT(a);return}aN(Array.isArray(d.results)?d.results:[]),aP("number"==typeof d.total?d.total:0),aT(null)}catch(b){if(a)return;console.error("Search request failed",b),aN([]),aP(0),aT("Search failed")}finally{a||aR(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[by]);let bS=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bS.current&&bS.current!==o&&(Z.current(),bs.current?(aH(bs.current),bs.current=null):aH(null)),bS.current=o,o&&(J(o),fetch(`/api/task-drafts?threadId=${encodeURIComponent(o)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?a1(a.drafts):a1({})}).catch(()=>a1({})))},[o,J]),(0,c.useEffect)(()=>{o&&s(o,D)},[o,D,s]);let bT=(0,c.useCallback)((b,c,d=10,e)=>{if(!o||0===bC.length)return;let f=bC.map(a=>a.id);G(c,d,o,b,void 0,void 0,e&&f.includes(e)?[e,...f.filter(a=>a!==e)]:f,a)},[o,G,bC,a]),bU=(0,c.useCallback)(async a=>{if(o){if(0===bC.length)return void window.alert("Enable at least one agent in this project.");aX(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:o,rootMessageId:a,activeParticipantIds:bC.map(a=>a.id)})});b.ok?await J(o):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{aX(b=>{let c=new Set(b);return c.delete(a),c})}}},[o,J,bC]),bV=(0,c.useCallback)(async a=>{if(o){if(0===bC.length)return void window.alert("Enable at least one agent in this project.");bk(b=>new Set(b).add(a));try{let b=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:o,rootMessageId:a,activeParticipantIds:bC.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};a2(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{bk(b=>{let c=new Set(b);return c.delete(a),c})}}},[o,bC]),bW=(0,c.useCallback)((a,b)=>{a2(c=>({...c,[a]:b}))},[]),bX=(0,c.useCallback)(async(a,b,c,d)=>{if(o){bq(a=>new Set(a).add(b.draftId)),a2(e=>({...e,[a]:{...b,buildStatus:"building",projectId:c,projectName:d}}));try{let d=crypto.randomUUID(),e=await H(b.tasks,c,d,b.builtTaskIds),f={...b.builtTaskIds},g=!1;for(let a of e.results)"created"===a.status&&a.remoteTaskId?f[a.clientTaskId]=a.remoteTaskId:g=!0;a2(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),a2(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{bq(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[o]),bY=(0,c.useCallback)(()=>{if(!o)return;let a=(()=>{if(aG)return aG;let a=new Set(D.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=D.length-1;b>=0;b-=1){let c=D[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bV(a):console.warn("No thread with replies available to extract tasks from")},[o,bV,D,aG]);(0,c.useCallback)(a=>{aH(a)},[]);let bZ=(0,c.useCallback)(a=>{aH(a)},[]),b$=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&aL(b),requestAnimationFrame(()=>{br.current?.focus(),b||br.current?.select()})},[]),b_=(0,c.useCallback)(()=>{if(!o)return;let a=(()=>{if(aG)return aG;let a=new Set(D.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=D.length-1;b>=0;b-=1){let c=D[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bU(a):console.warn("No thread with replies available to summarize")},[o,bU,D,aG]),b0=(0,c.useCallback)(async(b,c,d,e,f)=>{let g=b.match(/^\/search(?:\s+([\s\S]+))?$/i);if(g)return void b$(g[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(b))return void b_();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(b)||/^\/create(?:\s+[\s\S]+)?$/i.test(b))return void bY();aJ&&aG&&(az(a=>{let b=new Set(a);return b.delete(aG),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"stop",rootMessageId:aG})}).catch(a=>console.error("Failed to deactivate schedule:",a)));let h=o;h||(h=(await q()).id);let i=bC.map(a=>a.id);if(0===i.length)return void window.alert("Enable at least one agent in this project.");let j=f&&i.includes(f)?[f,...i.filter(a=>a!==f)]:i;if(aG)return void await G(b,c,h,aG,d,e,j,a);let k=await G(b,c,h,null,d,e,j,a);aA&&k&&(aB(!1),az(a=>{let b=new Set(a);return b.add(k),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:k})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[o,aJ,aA,q,b$,b_,aG,bC,G,a]),b1=(0,c.useCallback)(async a=>{if(!aG)return void aB(a);az(b=>{let c=new Set(b);return a?c.add(aG):c.delete(aG),c});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a?"activate":"stop",rootMessageId:aG})})}catch(a){console.error("Failed to toggle autonomous schedule:",a)}},[aG]),b2=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==o?(bs.current=b,p(a.threadId)):aH(b),aV(null),window.requestAnimationFrame(()=>{aV(a.messageId),bt.current&&window.clearTimeout(bt.current),bt.current=window.setTimeout(()=>{aV(b=>b===a.messageId?null:b)},2e3)}),bH()},[o,bH,p]),b3=(0,c.useCallback)(async a=>{X(),await r(a)},[r,X]),b4=(0,c.useCallback)(a=>{if(!o||!a)return;let b=D.find(b=>b.id===a);a_({type:"thread",id:a,preview:b?.content?.slice(0,120)||void 0})},[o,D]),b5=(0,c.useCallback)(async a=>{if(o){aZ(a),Y(a);try{let b=new URLSearchParams({threadId:o,rootMessageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message thread",await c.text());aH(b=>b===a?null:b),aV(null);let d=D.filter(b=>b.id!==a&&b.rootMessageId!==a);s(o,d),await J(o)}catch(a){console.error("Failed to delete message thread",a)}finally{aZ(b=>b===a?null:b)}}},[o,J,D,Y,s]),b6=(0,c.useCallback)(a=>{if(!o||!a)return;let b=D.find(b=>b.id===a);a_({type:"message",id:a,preview:b?.content?.slice(0,120)||void 0})},[o,D]),b7=(0,c.useCallback)(async a=>{if(o)try{let b=new URLSearchParams({threadId:o,messageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message",await c.text());let d=D.filter(b=>b.id!==a);s(o,d),await J(o)}catch(a){console.error("Failed to delete message",a)}},[o,J,D,s]),b8=(0,c.useCallback)(()=>{a$&&("thread"===a$.type?b5(a$.id):b7(a$.id),a_(null))},[a$,b5,b7]),b9=(0,c.useCallback)(()=>{a_(null)},[]),ca=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>b$()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>b_()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>bY()}],[b$,b_,bY]),cb=(0,c.useMemo)(()=>o?$.filter(a=>a.thread_ids?.includes(o)):$,[$,o]),cc=(0,c.useCallback)(a=>{let c=Q.some(b=>["spawning","running"].includes(b.state)&&b.threadId===a)||Object.values(R).some(b=>b.rootMessageId===a)?"working":U.some(b=>b.rootMessageId===a&&"queued"===b.status)?"queued":"ready";return(0,b.jsx)(a3,{onSend:(b,c,d,e,f)=>bT(a,b,c,f),onStop:()=>Y(a),loading:"ready"!==c,activityStatus:c,participants:bC,projectGroups:cb,projects:bD,messages:D,commands:ca,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:aJ,onAutoModeChange:b1})},[bT,Y,R,bC,cb,bD,ca,D,aJ,b1,Q,U]),cd=(0,c.useCallback)(()=>{au(a=>{let b=!a;return bx(b),b})},[bx]),ce=async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();ai(b=>b.map(b=>b.id===a.id?a:b))}},cf=(0,c.useCallback)((a,b)=>{am(c=>{let d=bm(ag,$,o);if(!new Set(d).has(a))return c;let e=new Set(c);b?e.add(a):e.delete(a);let f=d.filter(a=>e.has(a));return o&&a6(o,f),f})},[o,ag,$]),cg=(0,c.useCallback)(a=>{let b=$.find(b=>b.id===a);if(!b||o&&!b.thread_ids?.includes(o))return;let c=b.agents.map(a=>a.agent_id);am(c),o&&a6(o,c)},[$,o]),ch=(0,c.useCallback)(()=>{as(a=>"dark"===a?"light":"dark")},[]),ci=()=>(0,b.jsx)("button",{type:"button",onClick:ch,"aria-label":"dark"===ar?"Switch to light theme":"Switch to dark theme",title:"dark"===ar?"Switch to light theme":"Switch to dark theme",className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition-all hover:border-[var(--app-shell-border-strong)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:"dark"===ar?(0,b.jsx)(bg,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bf,{className:"h-4 w-4",strokeWidth:1.75})}),cj=(0,b.jsx)("div",{className:"border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:l&&!at&&(0,b.jsx)("button",{type:"button",onClick:cd,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(be,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,b.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,b.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,b.jsx)(bb.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:2}),(0,b.jsx)("input",{ref:br,type:"text",value:aK,onChange:a=>aL(a.target.value),onKeyDown:a=>{"Escape"===a.key&&bH()},placeholder:"Search messages…",className:"h-9 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-sm font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),by?(0,b.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:aQ?"…":aO}),(0,b.jsx)("button",{type:"button",onClick:bH,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[ci(),(0,b.jsx)(bj,{}),aG&&(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${F.length>0?` (${F.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${F.length>0?` (${F.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aw?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bd,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--app-shell-bg)] text-[var(--foreground)]",children:[l?(0,b.jsx)(i.WorkspaceSidebar,{threads:n,participants:ag,activeThreadId:o,isLoading:w,isRestoringActiveThread:x,isCreating:t,deletingThreadId:u,renamingThreadId:v,onSelectThread:p,onCreateThread:q,onRenameThread:y,onDeleteThread:b3,activeParticipantIds:al,onToggleParticipantActive:cf,visible:at,onToggle:cd,projects:$,onCreateProject:_,onUpdateProject:af,onDeleteProject:aa,onAddAgentToProject:ab,onRemoveAgentFromProject:ac,onReorderProjectAgents:ad,onUpdateParticipant:ce,onSelectProject:cg}):null,(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:x?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,b.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[aG?(0,b.jsx)("div",{className:"border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6 transition-colors duration-200 shrink-0",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[(0,b.jsx)("button",{onClick:()=>aH(null),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0",title:"Back to main feed",children:(0,b.jsx)(bc.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:bF}),bG&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border shrink-0",style:{borderColor:bG.color+"40",color:bG.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:bG.color}}),bG.label]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsxs)("span",{className:"opacity-80",children:[bB.length," agents"]}),(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsxs)("span",{className:"opacity-80",children:["Updated ",function(a){if(!a)return"recently";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(bE)]}),bQ&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsx)("span",{className:"opacity-80",children:bQ})]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:bB.map(a=>(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"h-7 w-7 rounded-full border-2 border-[var(--app-shell-elevated)] object-cover shadow-sm ring-1 ring-[var(--app-shell-border)]",title:a.name},a.id))}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>void bM(),disabled:bO,title:bN?"Learning is already running for this discussion":"Learn from this discussion",className:`inline-flex h-9 items-center gap-1.5 rounded-xl border px-3 text-xs font-medium transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${bO?"cursor-wait border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:[bO?(0,b.jsx)(I,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,b.jsx)(bh.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{className:"hidden sm:inline",children:bN?"Learning...":"Learn from discussion"})]}),ci(),(0,b.jsx)(bj,{}),(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${F.length>0?` (${F.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${F.length>0?` (${F.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aw?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bd,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):cj,bz?(0,b.jsx)(aq,{query:by,results:aM,total:aO,participants:ag,threadTitleById:bA,isLoading:aQ,error:aS,onSelectResult:b2}):aG?(0,b.jsx)(an,{messages:D,streaming:R,participants:ag,rootMessageId:aG,queued:U.some(a=>a.rootMessageId===aG&&"queued"===a.status),onClose:()=>aH(null),onCopyThread:bL,onAddToChat:bK,onDeleteThreadRoot:b4,onDeleteMessage:b6,highlightedMessageId:aU||void 0,renderReplyComposer:cc,activeProcesses:Q.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===aG)}):(0,b.jsx)(ah,{messages:D,streaming:R,participants:ag,onOpenThread:bZ,onCopyThread:bL,onAddToChat:bK,onDeleteThreadRoot:b4,onSummarize:bU,onCreateTasks:bV,onUpdateTaskDraft:bW,onBuildTasks:bX,summarizingThreads:aW,extractingTasks:a8,buildingDrafts:bp,taskDrafts:a0,deletingThreadRootId:aY,highlightedMessageId:aU,shipModeThreads:ay,onUpdateMessageThreadStatus:o?(a,b)=>{E(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),B(o,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:o?(a,b)=>{E(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),C(o,a,b);let c=D.find(b=>b.id===a);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:c?.threadStatus??null,outcomeNote:b})})}:void 0}),!bz&&!aG&&(0,b.jsx)(a3,{onSend:b0,onStop:X,loading:"ready"!==V,activityStatus:V,participants:bC,projects:bD,projectGroups:cb,messages:D,commands:ca,pendingThreadInsert:bI,onClearPendingThread:()=>bJ(null),autoMode:aJ,onAutoModeChange:b1})]})})}),k&&(0,b.jsx)(bi,{logs:F,participants:ag,onClear:()=>void K(o),open:aw,onToggle:()=>ax(!1)}),(0,b.jsx)(a9,{isOpen:null!==a$,title:a$?.type==="thread"?"Delete Discussion":"Delete Message",message:a$?.type==="thread"?"This will permanently delete this discussion and all of its replies. This action cannot be undone.":"This will permanently delete this message. This action cannot be undone.",preview:a$?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:b8,onCancel:b9})]})}a.s(["ChatContainer",()=>bo],24610)}];
9
9
 
10
10
  //# sourceMappingURL=components_chat-ui_bfeda794._.js.map