@mndrk/agx 2.0.46 → 2.0.48

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 (504) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
  61. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  181. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  186. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  187. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  196. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  201. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  203. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  205. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  206. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  208. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
  212. package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
  213. package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
  214. package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
  215. package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
  216. package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
  217. package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
  218. package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
  219. package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
  220. package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
  221. package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
  222. package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
  223. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
  224. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
  225. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
  226. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
  227. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
  228. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
  229. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  231. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  232. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  233. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  265. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  266. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  267. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  268. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  270. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  275. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  276. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  277. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  279. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  280. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  282. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
  285. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  286. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  287. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  288. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  289. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  290. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  292. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  293. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  294. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  295. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  296. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  297. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  298. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  299. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  300. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  301. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  303. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  304. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  306. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  307. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  308. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  309. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  311. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  312. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  313. package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js → [externals]__7b4c6b2b._.js} +1 -1
  314. package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
  315. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
  316. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +67 -0
  317. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js → [root-of-the-server]__143fdf69._.js} +2 -2
  318. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js → [root-of-the-server]__158df4bf._.js} +2 -2
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js → [root-of-the-server]__179cb224._.js} +2 -2
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js → [root-of-the-server]__1a1f66b1._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
  322. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js → [root-of-the-server]__23b075bd._.js} +2 -2
  323. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js → [root-of-the-server]__3170b7bf._.js} +2 -2
  324. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js → [root-of-the-server]__33865410._.js} +2 -2
  325. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js → [root-of-the-server]__36d15de5._.js} +2 -2
  326. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
  327. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
  328. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js → [root-of-the-server]__4cb22e4d._.js} +2 -2
  330. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js → [root-of-the-server]__4ce74056._.js} +2 -2
  331. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js → [root-of-the-server]__538b0bdd._.js} +2 -2
  332. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js → [root-of-the-server]__5c55f67a._.js} +2 -2
  333. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js → [root-of-the-server]__69a3c480._.js} +2 -2
  334. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js → [root-of-the-server]__6c53437e._.js} +1 -1
  335. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
  336. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
  337. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js → [root-of-the-server]__94499e9a._.js} +2 -2
  338. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js → [root-of-the-server]__a280fa63._.js} +2 -2
  339. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js → [root-of-the-server]__a2d31df1._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js → [root-of-the-server]__a7b2350e._.js} +2 -2
  342. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js → [root-of-the-server]__ab655b9f._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js → [root-of-the-server]__b2748382._.js} +2 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js → [root-of-the-server]__b627cb83._.js} +2 -2
  346. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js → [root-of-the-server]__bab85495._.js} +63 -18
  347. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js → [root-of-the-server]__c21747df._.js} +2 -2
  348. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js → [root-of-the-server]__ca4987eb._.js} +1 -1
  351. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js → [root-of-the-server]__d16caed5._.js} +2 -2
  352. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js → [root-of-the-server]__d324f8a1._.js} +2 -2
  353. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js → [root-of-the-server]__da645a5e._.js} +2 -2
  354. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js → [root-of-the-server]__e58e9f91._.js} +2 -2
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js → [root-of-the-server]__f7f336c7._.js} +1 -1
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
  360. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
  361. package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
  362. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js → [root-of-the-server]__01e1641e._.js} +2 -2
  363. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js → [root-of-the-server]__5e73414b._.js} +2 -2
  367. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
  370. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
  371. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
  372. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
  377. package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
  379. package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
  386. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
  390. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
  392. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +2 -2
  393. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  394. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
  395. package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
  396. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  397. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  398. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
  399. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  400. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  401. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  402. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  403. package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
  404. package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
  405. package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
  406. package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
  407. package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
  408. package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
  409. package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
  410. package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
  411. package/cloud-runtime/standalone/.next/static/chunks/442eb8ef62bef9f9.js +3 -0
  412. package/cloud-runtime/standalone/.next/static/chunks/5f33b52d582b0bb4.js +1 -0
  413. package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js → 64c2961edd3a3b13.js} +1 -1
  414. package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
  415. package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
  416. package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
  417. package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js → 9328740727c6456d.js} +1 -1
  418. package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
  419. package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
  420. package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
  421. package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
  422. package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
  423. package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js → f8706212baa8ec67.js} +1 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
  425. package/cloud-runtime/standalone/app/api/linear/issues/route.ts +9 -2
  426. package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
  427. package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
  428. package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
  429. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
  430. package/cloud-runtime/standalone/components/LinearBoard.tsx +211 -28
  431. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -0
  432. package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
  433. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +55 -10
  434. package/cloud-runtime/standalone/hooks/useLinearIssues.ts +7 -3
  435. package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
  436. package/cloud-runtime/standalone/instrumentation.ts +3 -0
  437. package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
  438. package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
  439. package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
  440. package/cloud-runtime/standalone/lib/linear-issue-store.ts +33 -5
  441. package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
  442. package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
  443. package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
  444. package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
  445. package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
  446. package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
  447. package/cloud-runtime/standalone/state/windowState.ts +21 -0
  448. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  449. package/cloud-runtime/standalone/worker/index.js +147 -28
  450. package/package.json +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
  452. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
  453. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
  454. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
  455. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
  456. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
  457. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
  458. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
  459. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
  460. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
  461. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
  462. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
  463. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
  464. package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
  470. package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f51a3112._.js +0 -3
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
  484. package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
  485. package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
  486. package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
  487. package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
  488. package/cloud-runtime/standalone/.next/static/chunks/37f07896b044d69f.css +0 -1
  489. package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
  490. package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
  491. package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
  492. package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
  493. package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
  494. package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
  495. package/cloud-runtime/standalone/.next/static/chunks/b3377e39d47c71cf.js +0 -3
  496. package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
  497. package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
  498. package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
  499. package/cloud-runtime/standalone/.next/static/chunks/cca7c8e4ade050f0.js +0 -37
  500. package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
  501. package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
  502. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_buildManifest.js +0 -0
  503. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_clientMiddlewareManifest.json +0 -0
  504. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  module.exports=[207704,a=>{a.v({fileMentionFadeIn:"FileMentionPopover-module__1CTxzW__fileMentionFadeIn",popover:"FileMentionPopover-module__1CTxzW__popover"})},124610,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(331748),f=a.i(204301),g=a.i(195348),h=a.i(986976),i=a.i(238246),j=a.i(815682),k=a.i(520138),l=a.i(194125);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(104720),p=a.i(284505);function q({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)(o.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)(p.Download,{className:`text-[var(--muted-foreground)] shrink-0 ${c?"w-2.5 h-2.5":"w-3 h-3"}`})]},a.id)})})]})}var r=a.i(501027),s=a.i(883706);let t=(0,s.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(405784),v=a.i(50522),w=a.i(915618),x=a.i(633508);let y=(0,s.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var z=a.i(705151),A=a.i(533441);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}}var H=a.i(596221),I=a.i(296101),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.Loader2,{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
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)},[]),s=(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)(r.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:s,onClose:()=>j(!1)})]})}let M=new Set(["completed","done","failed","blocked"]);var N=a.i(167453),O=a.i(65151);let P=(0,s.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(862722);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.Loader2,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,b.jsx)(H.Loader2,{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 s=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)(r.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&&!s&&(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-[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})});T.displayName="ActionToolbar";let U=()=>(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] 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-[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})});V.displayName="IconButton";var W=a.i(563588),X=a.i(2835),Y=a.i(781560),Z=a.i(546842),$=a.i(641710);let _=(0,s.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,s.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,s.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,s.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:r,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.Loader2,{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)(q,{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.Loader2,{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.Loader2,{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=>r?.(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.Loader2,{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,s.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(808406);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,queued:g=!1,onClose:h,onCopyThread:m,onAddToChat:n,onDeleteThreadRoot:o,onDeleteMessage:p,highlightedMessageId:r,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),A=(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;A.current=c-b-d>80};return a.addEventListener("scroll",b,{passive:!0}),()=>a.removeEventListener("scroll",b)},[]),(0,c.useEffect)(()=>{if(r&&r!==B.current){B.current=r;let a=v.current.get(r);a&&a.scrollIntoView({behavior:"smooth",block:"center"})}else r||A.current||(B.current=null,u.current?.scrollIntoView({behavior:"smooth"}))},[r,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)(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: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,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: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)(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:`surface-card rounded-2xl p-5 text-[15px] leading-relaxed ${a.id===r?"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)(q,{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)(T,{children:[a.id===f&&(0,b.jsx)(V,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(a.id),title:"Copy message ID",children:(0,b.jsx)(aa,{className:"w-3.5 h-3.5"})}),a.id===f&&m&&(0,b.jsx)(V,{variant:"neutral",size:"sm",onClick:()=>m(a.id),title:"Copy Thread",children:(0,b.jsx)(ah,{className:"w-3.5 h-3.5"})}),(0,b.jsx)(V,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(a.content),title:"Copy as Markdown",children:(0,b.jsx)(z.Copy,{className:"w-3.5 h-3.5"})}),a.id===f&&o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{}),(0,b.jsx)(V,{variant:"destructive",size:"sm",onClick:()=>o(a.id),title:"Delete Thread",children:(0,b.jsx)(Y.Trash2,{className:"w-3.5 h-3.5"})})]}),a.id!==f&&p&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{}),(0,b.jsx)(V,{variant:"destructive",size:"sm",onClick:()=>p(a.id),title:"Delete Message",children:(0,b.jsx)(Y.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)(ai.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)(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:"surface-card rounded-2xl p-5 text-[15px] leading-relaxed",children:(0,b.jsx)(j.Markdown,{content:(0,l.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 an=a.i(182434);let ao=(0,s.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(313872),ar=a.i(628977),as=a.i(609345);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={"image/jpeg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","application/pdf":"pdf","text/plain":"txt","text/csv":"csv","text/markdown":"md","application/json":"json","application/zip":"zip","application/gzip":"gz"};function aA(a){return a.map((a,b)=>(function(a,b){let c,d;return a.name.trim()?a:new File([a],(c=az[a.type]??"bin",d=a.type.startsWith("image/")?"pasted-image":"attachment",`${d}-${b+1}.${c}`),{type:a.type,lastModified:a.lastModified})})(a,b))}function aB(a){return a.startsWith("image/")}function aC(a){let b;if((b=(!a?"":a.getData("text/plain")).trim())&&(b.length>=200||b.includes("\n")))return!1;let c=Array.from(a?.items??[]).map(a=>a.type);return Array.from(a?.files??[]).length>0||Array.from(a?.items??[]).some(a=>"file"===a.kind)||c.some(aB)}function aD(a){if(!a||!aC(a))return[];let b=Array.from(a.items??[]).filter(a=>"file"===a.kind).map(a=>a.getAsFile()).filter(a=>!!a),c=b.length>0?b:Array.from(a.files??[]);return 0===c.length?[]:aA(c)}async function aE(a,b){let c=aD(a);if(c.length>0)return c;if(!aC(a)||!b?.read)return[];try{let a=await b.read(),c=[];for(let b of a)for(let a of b.types.filter(aB)){let d=await b.getType(a),e=d instanceof Blob?d:d.arrayBuffer?await d.arrayBuffer():null;e&&c.push(new File([e],"",{type:d.type||a,lastModified:Date.now()}))}return aA(c)}catch{return[]}}let aF=[{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 aG(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 aH="agx-composer-history";async function aI(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 aJ(a){let b=await aI(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}">
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 s=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)(r.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&&!s&&(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-[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})});T.displayName="ActionToolbar";let U=()=>(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] 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-[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})});V.displayName="IconButton";var W=a.i(563588),X=a.i(2835),Y=a.i(781560),Z=a.i(546842),$=a.i(641710);let _=(0,s.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,s.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,s.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,s.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:r,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.Loader2,{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)(q,{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.Loader2,{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.Loader2,{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=>r?.(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.Loader2,{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,s.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(808406);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,queued:g=!1,onClose:h,onCopyThread:m,onAddToChat:n,onDeleteThreadRoot:o,onDeleteMessage:p,highlightedMessageId:r,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),A=(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;A.current=c-b-d>80};return a.addEventListener("scroll",b,{passive:!0}),()=>a.removeEventListener("scroll",b)},[]),(0,c.useEffect)(()=>{if(r&&r!==B.current){B.current=r;let a=v.current.get(r);a&&a.scrollIntoView({behavior:"smooth",block:"center"})}else r||A.current||(B.current=null,u.current?.scrollIntoView({behavior:"smooth"}))},[r,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)(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: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,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: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)(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:`surface-card rounded-2xl p-5 text-[15px] leading-relaxed ${a.id===r?"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)(q,{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)(T,{children:[a.id===f&&(0,b.jsx)(V,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(a.id),title:"Copy message ID",children:(0,b.jsx)(aa,{className:"w-3.5 h-3.5"})}),a.id===f&&m&&(0,b.jsx)(V,{variant:"neutral",size:"sm",onClick:()=>m(a.id),title:"Copy Thread",children:(0,b.jsx)(ah,{className:"w-3.5 h-3.5"})}),(0,b.jsx)(V,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(a.content),title:"Copy as Markdown",children:(0,b.jsx)(z.Copy,{className:"w-3.5 h-3.5"})}),a.id===f&&o&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{}),(0,b.jsx)(V,{variant:"destructive",size:"sm",onClick:()=>o(a.id),title:"Delete Thread",children:(0,b.jsx)(Y.Trash2,{className:"w-3.5 h-3.5"})})]}),a.id!==f&&p&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(U,{}),(0,b.jsx)(V,{variant:"destructive",size:"sm",onClick:()=>p(a.id),title:"Delete Message",children:(0,b.jsx)(Y.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)(ai.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)(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:"surface-card rounded-2xl p-5 text-[15px] leading-relaxed",children:(0,b.jsx)(j.Markdown,{content:(0,l.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)})]})}let an=(0,s.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),ao=(0,s.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,{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(313872),ar=a.i(628977),as=a.i(609345);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={"image/jpeg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","application/pdf":"pdf","text/plain":"txt","text/csv":"csv","text/markdown":"md","application/json":"json","application/zip":"zip","application/gzip":"gz"};function aA(a){return a.map((a,b)=>(function(a,b){let c,d;return a.name.trim()?a:new File([a],(c=az[a.type]??"bin",d=a.type.startsWith("image/")?"pasted-image":"attachment",`${d}-${b+1}.${c}`),{type:a.type,lastModified:a.lastModified})})(a,b))}function aB(a){return a.startsWith("image/")}function aC(a){let b;if((b=(!a?"":a.getData("text/plain")).trim())&&(b.length>=200||b.includes("\n")))return!1;let c=Array.from(a?.items??[]).map(a=>a.type);return Array.from(a?.files??[]).length>0||Array.from(a?.items??[]).some(a=>"file"===a.kind)||c.some(aB)}function aD(a){if(!a||!aC(a))return[];let b=Array.from(a.items??[]).filter(a=>"file"===a.kind).map(a=>a.getAsFile()).filter(a=>!!a),c=b.length>0?b:Array.from(a.files??[]);return 0===c.length?[]:aA(c)}async function aE(a,b){let c=aD(a);if(c.length>0)return c;if(!aC(a)||!b?.read)return[];try{let a=await b.read(),c=[];for(let b of a)for(let a of b.types.filter(aB)){let d=await b.getType(a),e=d instanceof Blob?d:d.arrayBuffer?await d.arrayBuffer():null;e&&c.push(new File([e],"",{type:d.type||a,lastModified:Date.now()}))}return aA(c)}catch{return[]}}let aF=[{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 aG(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 aH="agx-composer-history";async function aI(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 aJ(a){let b=await aI(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
5
  </file>`).join("\n\n")+"\n\n";return{fileContextBlocks:b,contextPrefix:c}}function aK(a){return a.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var aL=a.i(356283),aM=a.i(583489);let aN=aM.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,aM.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}`]}}),aO=aM.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,aM.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}`]}),aP=aM.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,aM.mergeAttributes)(b,{"data-file-mention":"","data-path":a.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${c}`]}}),aQ=aM.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,aM.mergeAttributes)(b,{"data-thread-mention":"","data-thread-id":a.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${a.attrs.title}`]}),aR=aM.Node.create({name:"linearIssueMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},identifier:{default:""},title:{default:""},status:{default:""},url:{default:null}}),parseHTML:()=>[{tag:"span[data-linear-issue-mention]"}],renderHTML:({node:a,HTMLAttributes:b})=>["span",(0,aM.mergeAttributes)(b,{"data-linear-issue-mention":"","data-id":a.attrs.id,"data-identifier":a.attrs.identifier,class:"composer-pill composer-pill--linear-issue",contenteditable:"false"}),`@${a.attrs.identifier}`]});function aS(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}case"linearIssueMention":{let a=String((c.attrs??{}).identifier??"").trim();a&&(b+=`@${a}`);break}default:"hardBreak"===c.type&&(b+="\n")}return b}(c));return b.join("\n")}function aT(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=aU(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 aU(a){switch(a.type.name){case"participantMention":{let b="parallel"===a.attrs.mode?"@@":"@";return`${b}${a.attrs.name}`}case"projectMention":{let b=String(a.attrs.slug??"").trim();if(b)return`@~project:${b}`;return a.attrs.name?`@${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}`}case"linearIssueMention":{let b=String(a.attrs.identifier??"").trim();return b?`@${b}`:""}default:return""}}function aV(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=aU(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 aW=(0,s.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"}]]),aX=(0,s.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var aY=a.i(660246);function aZ({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}`:"ticket"===a.kind?`ticket-${a.issue.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)(aY.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)(aW,{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);if("ticket"===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:"flex items-start gap-2",children:[(0,b.jsx)(aX,{className:"mt-0.5 h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,b.jsxs)("span",{className:"min-w-0",children:[(0,b.jsxs)("span",{className:"block font-medium",children:[a.issue.identifier,(0,b.jsx)("span",{className:"ml-2 text-xs text-[var(--muted-foreground)]",children:a.issue.status})]}),(0,b.jsx)("span",{className:"block truncate text-xs text-[var(--muted-foreground)]",children:a.issue.title})]})]})})]},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 a$({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 a_=a.i(292e3);let a0=(0,s.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 a1=a.i(492596);function a2({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)(a1.Folder,{className:"h-4 w-4 text-amber-400"}):(0,b.jsx)(a0,{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 a3=a.i(207704);function a4({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"} ${a3.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)(a_.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.Loader2,{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.Loader2,{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)(a2,{suggestion:a,isActive:c===e,optionId:`${i}-${c}`,onSelect:j,onAttachContents:k,itemRef:a=>{l.current[c]=a}},a.path))]})})}function a5({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 a6=a.i(669520);let a7=(0,s.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 a8({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)(a7,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,b.jsx)(o.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)(a6.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 a9({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 ba=(0,s.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"}]]);var bb=a.i(734531);function bc(a,b,c,d,e){if(!a)return;let f=aV(a,b,c,d);f&&a.chain().focus().deleteRange(f).insertContent(e).insertContent(" ").run()}function bd({onSend:a,onStop:d,loading:e,activityStatus:f,participants:g,projects:h=[],projectGroups:i=[],projectSlug:j,messages:k=[],commands:l,placeholder:m="Message — @name to mention, /search, /summarize",workspaceRoots:n=[],onConfigureRoots:o,pendingThreadInsert:p,onClearPendingThread:q,autoMode:r=!1,onAutoModeChange:s,repos:t=[],selectedRepoIds:v,onRepoSelectionChange:w,initialPinnedParticipantId:y}){let z,A,B,C=f??(e?"working":"ready"),D="ready"!==C,[E,F]=(0,c.useState)(y??null),[G,H]=(0,c.useState)(new Set),I=v??G,J=(0,c.useRef)(I);J.current=I;let K=(0,c.useCallback)(a=>{let b="function"==typeof a?a(J.current):a;w?w(b):H(b)},[w]),[L,M]=(0,c.useState)(!1),N=(0,c.useRef)(null),O=(0,c.useRef)(null),P=(0,c.useRef)(!1),Q=(0,c.useCallback)(()=>{O.current?.click()},[]),[R,S]=(0,c.useState)([]),{issues:T}=function({projectSlug:a,enabled:b=!0,limit:d=500}={}){let[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{if(!b){f([]),h(!1);return}let c=!1,e=new URLSearchParams;return e.set("limit",String(d)),a&&e.set("projectSlug",a),h(!0),fetch(`/api/linear/issues?${e.toString()}`).then(async a=>{let b=await a.json().catch(()=>({}));c||f(Array.isArray(b.issues)?b.issues:[])}).catch(()=>{c||f([])}).finally(()=>{c||h(!1)}),()=>{c=!0}},[b,d,a]),{issues:e,loading:g}}({projectSlug:j}),U=function({participants:a,projectGroups:b=[],projects:d=[],linearIssues:e=[],maxSuggestions:f=6}){let[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(0),[k,l]=(0,c.useState)(!1),m=null!==g&&!k,n=g?.query??"",o=(0,c.useMemo)(()=>(function(a,b,c,d=[],e=[],f=[]){let g=b.toLowerCase(),h=new Map(a.map(a=>[a.id,a])),i=new Set;for(let a of d)for(let b of a.agents)i.add(b.agent_id);let j=[];for(let a of(null!==av("all","all",g)&&j.push({kind:"agent",participant:au,group:""}),d)){let b=av(a.name.toLowerCase(),a.id.toLowerCase(),g),c=[];for(let b of a.agents){let a=h.get(b.agent_id);if(!a)continue;let d=av(a.name.toLowerCase(),a.id.toLowerCase(),g);null!==d&&c.push({participant:a,score:d})}(null!==b||c.length>0)&&(null!==b&&j.push({kind:"project-group",project:a,group:a.name}),(null!==b&&g?a.agents.map(a=>h.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})=>{j.push({kind:"agent",participant:b,group:a.name})}))}for(let a of e)null!==av(a.name.toLowerCase(),a.slug.toLowerCase(),g)&&j.push({kind:"project",project:a,group:"Projects"});g&&f.map(a=>{var b,c;let d,e;return{issue:a,score:(b=a,c=g,d=b.identifier.toLowerCase(),e=b.title.toLowerCase(),d===c?5:d.startsWith(c)?4:e.startsWith(c)?3:d.includes(c)?2:e.includes(c)?1:null)}}).filter(a=>null!==a.score).sort((a,b)=>b.score!==a.score?b.score-a.score:a.issue.identifier.localeCompare(b.issue.identifier)).forEach(({issue:a})=>{j.push({kind:"ticket",issue:a,group:"Tickets"})});let k=[];for(let b of a){if(i.has(b.id))continue;let a=av(b.name.toLowerCase(),b.id.toLowerCase(),g);null!==a&&k.push({participant:b,score:a})}return k.sort((a,b)=>a.participant.name.localeCompare(b.participant.name)).forEach(({participant:a})=>{j.push({kind:"agent",participant:a,group:""})}),j.slice(0,c)})(a,n,f,b,d,e),[a,n,f,b,d,e]),p=(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);h(a=>((a?.startIndex!==c?.startIndex||a?.isParallel!==c?.isParallel||a?.query!==c?.query)&&j(0),c))},[]),q=(0,c.useCallback)((a,b)=>{k||p(a,b)},[k,p]),r=(0,c.useCallback)(a=>{if(!m||0===o.length)return!1;switch(a.key){case"ArrowDown":return a.preventDefault(),j(a=>a<o.length-1?a+1:0),!0;case"ArrowUp":return a.preventDefault(),j(a=>a>0?a-1:o.length-1),!0;case"Enter":case"Tab":return a.preventDefault(),!0;case"Escape":return a.preventDefault(),h(null),!0;default:return!1}},[m,o.length]),s=(0,c.useCallback)(a=>{if(!g)return null;let b="project-group"===a.kind||"project"===a.kind?a.project.name:"ticket"===a.kind?a.issue.identifier:a.participant.name,c=g.isParallel?"@@":"@";return{text:`${c}${b} `,startIndex:g.startIndex,endIndex:g.endIndex}},[g]),t=(0,c.useCallback)(()=>{h(null),j(0)},[]);return{isOpen:m,query:n,filteredSuggestions:o,activeIndex:i,token:g,isComposing:k,handleInput:q,handleKeyDown:r,selectSuggestion:s,close:t,startComposition:(0,c.useCallback)(()=>{l(!0)},[]),endComposition:(0,c.useCallback)((a,b)=>{l(!1),p(a,b)},[p])}}({participants:g,projectGroups:i,projects:h,linearIssues:T,maxSuggestions:8}),V=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:l,maxSuggestions:6}),W=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(aF.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=aG(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=aG(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}),X=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:k,maxSuggestions:8}),Y=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=aA(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])}}(),Z=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}}(),$=function(){let[a,b]=(0,c.useState)(-1),d=(0,c.useRef)(""),e=(0,c.useCallback)(()=>{try{let a=localStorage.getItem(aH);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(aH,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)(()=>{E&&!g.some(a=>a.id===E)&&F(null)},[g,E]),(0,c.useEffect)(()=>{if(!L)return;let a=a=>{N.current&&!N.current.contains(a.target)&&M(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[L]),(0,c.useEffect)(()=>{if(null!=v||0===G.size)return;let a=new Set(t.map(a=>a.id)),b=new Set([...G].filter(b=>a.has(b)));b.size<G.size&&H(b)},[t,v,G]);let _=(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:m}),aN,aO,aP,aQ,aR],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handleDOMEvents:{compositionstart:()=>(P.current=!0,U.startComposition(),!1),compositionend:(a,b)=>(P.current=!1,setTimeout(()=>{if(!_)return;let a=aT(_);a&&U.endComposition(a.text,a.cursorPos)},0),!1)},handleKeyDown:(a,b)=>{if("Tab"===b.key||"Enter"===b.key&&!b.shiftKey){if(V.isOpen&&V.filteredCommands.length>0){b.preventDefault();let a=V.filteredCommands[V.activeIndex];return a&&ah(a),!0}if(W.isOpen&&W.suggestions.length>0){b.preventDefault();let a=W.suggestions[W.activeIndex];return a&&("folder"===a.type?af(a):ae(a)),!0}if(X.isOpen&&X.suggestions.length>0){b.preventDefault();let a=X.suggestions[X.activeIndex];return a&&ag(a),!0}if(U.isOpen&&U.filteredSuggestions.length>0){b.preventDefault();let a=U.filteredSuggestions[U.activeIndex];return a&&ad(a),!0}}let c={key:b.key,preventDefault:()=>b.preventDefault()};if(V.isOpen&&V.handleKeyDown(c)||W.isOpen&&W.handleKeyDown(c)||X.isOpen&&X.handleKeyDown(c)||U.handleKeyDown(c))return!0;if(("ArrowUp"===b.key||"ArrowDown"===b.key)&&!U.isOpen&&!V.isOpen&&!W.isOpen&&!X.isOpen){let a=aS(_.getJSON()).trim(),{state:c}=_.view,d="ArrowUp"===b.key,e=d?c.selection.from<=1:c.selection.to>=c.doc.content.size-1,f=$.navigate(d?"up":"down",a,e);if(null!==f)return b.preventDefault(),_.commands.setContent(f),_.commands.focus("end"),!0}return"Enter"===b.key&&!b.shiftKey&&(b.preventDefault(),ai(),!0)}},onUpdate:({editor:a})=>{if(P.current)return;-1!==$.historyIndex&&$.resetNavigation();let b=aT(a);b&&(U.handleInput(b.text,b.cursorPos),V.handleInput(b.text,b.cursorPos),W.handleInput(b.text,b.cursorPos),X.handleInput(b.text,b.cursorPos))},onBlur:()=>{U.close(),V.close(),W.close(),X.close()}});(0,c.useEffect)(()=>{if(!p||!_)return;let{title:a,threadId:b,messages:c}=p;_.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))};X.exportDiscussion(e).then(a=>S(b=>[...b,a])).catch(a=>console.error("Failed to export discussion for Add to chat:",a))}q?.()},[p]);let aa=(0,c.useCallback)(()=>{if(!_)return;let a=aT(_);a&&U.handleInput(a.text,a.cursorPos)},[_,U]),ab=(0,c.useCallback)(a=>{let{clipboardData:b}=a,c=aD(b);if(c.length>0){a.preventDefault(),a.stopPropagation(),Y.stageFiles(c);return}let d="u">typeof navigator?navigator.clipboard:void 0;aC(b)&&"function"==typeof d?.read&&(a.preventDefault(),a.stopPropagation(),aE(b,d).then(a=>{a.length>0&&Y.stageFiles(a)}).catch(a=>{console.error("Failed to read pasted clipboard attachments:",a)}))},[Y]),ad=(0,c.useCallback)(a=>{if(!_)return;let b=U.selectSuggestion(a);if(!b)return;let c=aT(_);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}}:"ticket"===a.kind?{type:"linearIssueMention",attrs:{id:a.issue.id,identifier:a.issue.identifier,title:a.issue.title,status:a.issue.status,url:a.issue.url}}:{type:"participantMention",attrs:{id:a.participant.id,name:a.participant.name,mode:d?"parallel":"sequential",kind:"agent"}};bc(_,c.blockStart,b.startIndex,b.endIndex,e),U.close()},[_,U]),ae=(0,c.useCallback)(a=>{if(!_)return;let b=W.selectSuggestion(a);if(!b)return;let c=aT(_);if(!c)return;let d={type:"fileMention",attrs:{path:a.path,relativePath:a.relativePath??a.path,trigger:W.token?.trigger??"@/",attachMode:a.attachMode}};bc(_,c.blockStart,b.startIndex,b.endIndex,d),Z.addFilePath(a.path,a.relativePath??a.path,a.attachMode)},[_,W,Z]),af=(0,c.useCallback)(a=>{if(!_)return;let b=aT(_);if(!b)return;let c=W.drillDown(a);if(!c)return;let d=aV(_,b.blockStart,c.startIndex,c.endIndex);d&&_.chain().focus().deleteRange(d).insertContent(c.text).run()},[_,W]),ag=(0,c.useCallback)(async a=>{if(!_)return;let b=X.selectSuggestion(a);if(!b)return;let c=aT(_);if(!c)return;let d={type:"threadMention",attrs:{threadId:a.rootMessageId,title:a.title}};bc(_,c.blockStart,b.startIndex,b.endIndex,d);try{let b=await X.exportDiscussion(a);S(a=>[...a,b])}catch(a){console.error("Failed to export discussion:",a)}},[_,X]),ah=(0,c.useCallback)(a=>{V.selectCommand(a),_&&_.commands.clearContent()},[V,_]),ai=(0,c.useCallback)(async()=>{let b;if(!_)return;let c=_.getJSON(),d=aS(c).trim();if(!d&&!Y.hasUploaded&&!Z.hasFilePaths||!Y.canSend)return;if(d){let a=l.find(a=>a.name===d||a.aliases?.some(a=>`/${a}`===d));if(a){a.execute(),_.commands.clearContent(),V.close(),U.close();return}}let e=d||"(attached files)",f=[];if(I.size>0){let a=t.filter(a=>I.has(a.id));if(a.length>0){let b=a.map(a=>{let b=[a.name];return a.path&&b.push(`path: ${a.path}`),a.notes&&b.push(a.notes),`- ${b.join(" | ")}`}).join("\n");f.push(`Focused repos (the user is specifically talking about these repositories):
6
6
  ${b}`)}}if(R.length>0){let a=R.map(a=>`- "${a.title}" — ${a.summary} (full transcript: ${a.filePath})`).join("\n");f.push(`Referenced threads:
@@ -8,6 +8,6 @@ ${a}`)}if(Z.hasFilePaths){let a=await aJ(Z.filePaths);a.contextPrefix&&f.push(a.
8
8
 
9
9
  ${b.join("\n\n")}
10
10
 
11
- `}(c);d&&f.push(d.trimEnd())}catch(a){console.error("Failed to load Linear issue mention context:",a)}let h=f.length>0?f.join("\n\n")+"\n\n":void 0,i=(0,aL.extractComposerRouting)(c,E);d&&$.pushEntry(d);let j=Y.attachmentIds.length>0?Y.attachmentIds:void 0,k=j?Y.getAttachmentMetas():void 0;a(e,10,j,k,E??void 0,h,i),_.commands.clearContent(),S([]),Y.clear(),Z.clearFilePaths(),U.close(),V.close(),X.close()},[_,U,V,l,a,Y,Z,R,X,$,I,t,E]),aj=U.isOpen&&U.filteredSuggestions.length>0;V.isOpen&&V.filteredCommands.length,W.isOpen&&W.suggestions.length,X.isOpen&&X.suggestions.length,aj&&U.filteredSuggestions[U.activeIndex];let ak=Y.staged.some(a=>"uploading"===a.status),al=!_||_.isEmpty,am=g.find(a=>a.id===E)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsx)(a9,{onDrop:Y.stageFiles,children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] shadow-[var(--shadow-sm)] focus-within:border-[var(--app-shell-border-strong)] focus-within:ring-1 focus-within:ring-[var(--ring)] transition-all flex flex-col rounded-2xl",children:[s&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${r?"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 ${r?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:r?"shipBgSweep 4s ease-in-out infinite":"none"}}),r&&(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 ${r?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:r?{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 ${r?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${r?"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 ${r?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:r?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!r),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)] ${r?"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 ${r?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[Y.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(a8,{attachments:Y.staged,onRemove:Y.remove,onRetry:Y.retry})}),(0,b.jsxs)("div",{className:"p-2 relative",children:[(0,b.jsx)("input",{ref:O,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(Y.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:aa,onPasteCapture:ab,children:[(0,b.jsx)(aq.EditorContent,{editor:_,className:"composer-editor"}),(0,b.jsx)(aZ,{isOpen:U.isOpen&&!V.isOpen,suggestions:U.filteredSuggestions,activeIndex:U.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:ad}),(0,b.jsx)(a$,{isOpen:V.isOpen,commands:V.filteredCommands,activeIndex:V.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:ah}),(0,b.jsx)(a4,{isOpen:W.isOpen,suggestions:W.suggestions,activeIndex:W.activeIndex,isLoading:W.isLoading,error:W.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?af(a):ae(a)},onAttachContents:W.onAttachContents}),(0,b.jsx)(a5,{isOpen:X.isOpen&&!V.isOpen&&!W.isOpen,suggestions:X.suggestions,activeIndex:X.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:ag})]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--app-shell-border)] transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:Q,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)(ba,{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":E===a.id,onClick:()=>F(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),F(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 ${E===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"}),D&&(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"===C?"bg-amber-400":"bg-emerald-400"}`})]},a.id))})]}),am&&(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:am.name})]})]}),t.length>0&&(0,b.jsxs)(b.Fragment,{children:[(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.jsxs)("div",{className:"relative",ref:N,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>M(a=>!a),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":L,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Repos"}),(0,b.jsx)(u.ChevronDown,{className:`h-3 w-3 transition-transform ${L?"rotate-180":""}`})]}),L&&(0,b.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:t.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":c,className:`composer-repo-dropdown__item ${c?"composer-repo-dropdown__item--selected":""}`,onClick:()=>K(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("span",{className:`w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0 transition-colors ${c?"bg-emerald-500 border-emerald-500 text-white":"border-[var(--app-shell-border-strong)]"}`,children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)})})]}),(A=(z=t.filter(a=>I.has(a.id))).slice(0,1),B=z.length-1,(0,b.jsxs)(b.Fragment,{children:[A.map(a=>(0,b.jsxs)("span",{className:"composer-repo-pill",title:a.path||a.name,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3 w-3 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{className:"composer-repo-pill__name",children:a.name}),(0,b.jsx)("button",{type:"button",className:"composer-repo-pill__remove",onClick:()=>K(b=>{let c=new Set(b);return c.delete(a.id),c}),"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(x.X,{className:"h-3 w-3"})})]},a.id)),B>0&&(0,b.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",B]})]}))]})]})]}),D?(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:ai,disabled:al&&!Y.hasUploaded&&!Z.hasFilePaths||ak,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"===C?"bg-emerald-400 animate-pulse":"queued"===C?"bg-amber-400":"bg-emerald-400"}`}),(0,b.jsx)("span",{children:"working"===C?"Working":"queued"===C?"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 be=a.i(655672);let bf={activeParticipantIdsByThread:{}};function bg(a,b){let c=a.trim();if(c)({...bf}).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 bh=a.i(215040),bi=a.i(731626);function bj({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)(bi.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 bk=a.i(56196),bl=a.i(587532),bm=a.i(613749);let bn=(0,s.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"}]]),bo=(0,s.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"}]]),bp=(0,s.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"}]]),bq=(0,s.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 br=a.i(953722),bs=a.i(404650),bs=bs;function bt({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 bu(){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 bv(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 bw(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 bx(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 by(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=bv(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=bv(d.title)||`Task ${e+1}`,g=bv(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 bz({projectSlug:a,initialThreadId:i,initialRootMessageId:j,showSidebar:k=!0}={}){let l=(0,d.useSearchParams)(),{threads:m,activeThreadId:n,selectThread:o,createThread:p,deleteThread:q,updateThreadMessages:r,isCreating:s,deletingThreadId:t,renamingThreadId:u,isLoading:v,isRestoringActiveThread:w,renameThread:x,updateThreadStatus:y,updateThreadOutcomeNote:z,updateMessageThreadStatus:A,updateMessageOutcomeNote:B}=(0,g.useThreadState)(i),{messages:C,setMessages:D,logs:E,sendMessage:F,loadHistory:H,clearLogs:I,chatRuns:J,setChatRuns:K,stop:L,stopThread:M}=(0,e.useGroupChat)(n),{activeAgents:N,processes:O,streaming:P,chatRuns:Q,poll:R}=(0,f.useProcessPolling)(n?{workspaceId:n}:null,{messages:C,setMessages:D}),S=(0,c.useMemo)(()=>{let a=Date.now(),b=new Map(Q.map(a=>[a.chatRunId,a]));for(let c of J)!(!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)},[J,Q]),T=N.size>0||S.some(a=>"running"===a.status)?"working":S.some(a=>"queued"===a.status)?"queued":"ready";(0,c.useEffect)(()=>{K(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 Q)a?.chatRunId&&c.set(a.chatRunId,a);return Array.from(c.values()).filter(a=>!!(!a.optimistic||Q.some(b=>b.chatRunId===a.chatRunId))||b-(a.enqueuedAt??0)<=5e3).sort((a,b)=>String(a.chatRunId||"").localeCompare(String(b.chatRunId||"")))})},[Q,K]);let U=(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(()=>{})},[]),V=(0,c.useCallback)(async()=>{let a=S[0];a?.chatRunId&&await U(a.chatRunId),await L(),await R()},[S,U,L,R]),W=(0,c.useCallback)(async a=>{let b=S.find(b=>b.rootMessageId===a);b?.chatRunId&&await U(b.chatRunId),await M(a),await R()},[S,U,M,R]),X=(0,c.useRef)(V);(0,c.useEffect)(()=>{X.current=V},[V]);let{projects:Y,createProject:Z,deleteProject:$,addAgent:_,removeAgent:aa,reorderAgents:ab}=(0,bk.useProjectsWithAgents)(),{projects:ac,updateProject:ad}=(0,bk.useProjects)(),ae=(0,c.useMemo)(()=>n?Y.filter(a=>a.thread_ids?.includes(n)):Y,[Y,n]),af=(0,c.useMemo)(()=>a||ae[0]?.slug||void 0,[a,ae]),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(!1),[al,an]=(0,c.useState)([]),[ao,aq]=(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,be.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)(j??null),aI=l.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(n??i??"")}?open=${encodeURIComponent(aG)}`:`/thread/${aG}`;window.history.replaceState(null,"",b)}else window.history.replaceState(null,"",a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}`:"/")},[n,i,aG,a]),(0,c.useEffect)(()=>{a&&aH(a=>a===aI?a:aI)},[a,aI]),(0,c.useEffect)(()=>{j&&(async()=>{try{let a=await fetch(`/api/messages/${j}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&o(b)}catch{}})()},[j,o]);let[aK,aM]=(0,c.useState)(""),[aN,aO]=(0,c.useState)([]),[aP,aQ]=(0,c.useState)(0),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(null),[aX,aY]=(0,c.useState)(new Set),[aZ,a$]=(0,c.useState)(null),[a_,a0]=(0,c.useState)(null),[a1,a2]=(0,c.useState)({}),a3=(0,c.useCallback)(a=>{a2(b=>{let c="function"==typeof a?a(b):a;if(n)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:n,messageId:a,draft:d})}).catch(()=>{});return c})},[n]),[a4,a5]=(0,c.useState)(new Set),[a6,a7]=(0,c.useState)(new Set),a8=(0,c.useRef)(null),a9=(0,c.useRef)(null),ba=(0,c.useRef)(null),bb=(0,c.useRef)(""),bc=(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)}},[]),bi=(0,c.useCallback)(async a=>{try{await (0,bh.updateUserPreferences)({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[bh.updateUserPreferences]),bv=(0,c.useCallback)(a=>{(0,be.persistWorkspaceSidebarVisible)(a),bi(a)},[bi]),bA=aK.trim(),bB=bA.length>0,bC=(0,c.useMemo)(()=>Object.fromEntries(m.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[m]),bD=(0,c.useMemo)(()=>{if(!aG)return[];let a=new Set([C.find(a=>a.id===aG),...C.filter(a=>a.rootMessageId===aG)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(P).forEach(b=>{P[b].rootMessageId===aG&&a.add(b)}),ah.filter(b=>a.has(b.id))},[aG,C,P,ah]),bE=(0,c.useMemo)(()=>{let a=new Map(ah.map(a=>[a.id,a]));return al.map(b=>a.get(b)).filter(Boolean)},[ah,al]),bF=(0,c.useMemo)(()=>ac.map(a=>({id:a.id,name:a.name,slug:a.slug})),[ac]),bG=(0,c.useMemo)(()=>{if(!aG)return 0;let a=[C.find(a=>a.id===aG),...C.filter(a=>a.rootMessageId===aG)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[aG,C]),bH=(0,c.useMemo)(()=>{if(!aG)return"";let a=C.find(a=>a.id===aG);if(!a)return"Discussion";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[aG,C]),bI=(0,c.useMemo)(()=>{if(!aG)return null;let a=C.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,C]),bJ=(0,c.useCallback)(()=>{aM(""),aO([]),aQ(0),aU(null),aS(!1)},[]);(0,c.useCallback)(()=>{let a=by(C,ah);navigator.clipboard.writeText(a).then(()=>{aq(!0),setTimeout(()=>aq(!1),2e3)})},[C,ah]);let[bK,bL]=(0,c.useState)(null),bM=(0,c.useCallback)(a=>{let b=C.find(b=>b.id===a);if(!b)return;let c=[b,...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)];bL({title:b.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:a,messages:c})},[C]),bN=(0,c.useCallback)(a=>{let b=by([C.find(b=>b.id===a),...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),ah,a1[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[C,ah,a1]),bO=(0,c.useCallback)(async()=>{if(aG){aD(!0);try{let a=["repo"];af&&a.push("project");let b=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aG,scopes:a})}),c=await b.json().catch(()=>null);if(!b.ok)throw Error("string"==typeof c?.error?c.error:"Request failed");aF(c?.run??null)}catch(b){let a=b instanceof Error?b.message:"Request failed";window.alert(`Failed to extract knowledge: ${a}`)}finally{aD(!1)}}},[aG,af]);(0,c.useEffect)(()=>{if(!aG){aF(null),aD(!1);return}let a=!1;return(async()=>{try{let b=await bw(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 bw(aG);if(a)return;aF(b)}catch{}};b();let c=window.setInterval(()=>{b()},2e3);return()=>{a=!0,window.clearInterval(c)}},[aG,aE?.status]);let bP=aE?.status==="running",bQ=aC||bP,bR=(aE?.repoInsertedCount??0)+(aE?.projectInsertedCount??0),bS=(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(bR>0){let a=1===bR?"insight":"insights";return`Learned ${bR} ${a}`}return"No new learnings"},[bR,aE]);(0,c.useEffect)(()=>{bc(!0)},[bc]);let bT=(0,c.useMemo)(()=>{if(!aj)return[];let a=new Set(ah.map(a=>a.id)),b=new Set;for(let c of C)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(P))a.has(c)||b.add(c);return Array.from(b).sort()},[C,ah,aj,P]);(0,c.useEffect)(()=>{if(!aj)return;let a=bT.join("|");if(!a){bb.current="";return}bb.current!==a&&(bb.current=a,bc(!1))},[aj,bc,bT]),(0,c.useEffect)(()=>{if(!aj)return;let a=bx(ah,Y,n);if(!n)return void an(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...bf};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(n);if(null===b)return void an(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))&&bg(n,d),an(d)},[n,ah,aj,Y]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await (0,bh.fetchUserPreferences)();if(a)return;au(a=>a===b.threadSidebarVisible?a:av.current?(bi(a),a):((0,be.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[bi]),(0,c.useEffect)(()=>{v||s||0!==m.length||p({id:"global",title:"General"})},[v,s,m.length,p]),(0,c.useEffect)(()=>()=>{ba.current&&window.clearTimeout(ba.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),a8.current?.focus(),a8.current?.select();return}"Escape"===a.key&&bA&&bJ()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[bJ,bA]),(0,c.useEffect)(()=>{if(!bA){aO([]),aQ(0),aU(null),aS(!1);return}let a=!1;aS(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:bA,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";aO([]),aQ(0),aU(a);return}aO(Array.isArray(d.results)?d.results:[]),aQ("number"==typeof d.total?d.total:0),aU(null)}catch(b){if(a)return;console.error("Search request failed",b),aO([]),aQ(0),aU("Search failed")}finally{a||aS(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[bA]);let bU=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bU.current&&bU.current!==n&&(X.current(),a9.current?(aH(a9.current),a9.current=null):aH(null)),bU.current=n,n&&(H(n),fetch(`/api/task-drafts?threadId=${encodeURIComponent(n)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?a2(a.drafts):a2({})}).catch(()=>a2({})))},[n,H]),(0,c.useEffect)(()=>{n&&r(n,C)},[n,C,r]);let bV=(0,c.useCallback)((a,b,c=10,d,e,f)=>{n&&0!==bE.length&&F(b,c,n,a,void 0,void 0,(0,aL.orderParticipantIds)(bE.map(a=>a.id),d),af,e,f)},[n,F,bE,af]),bW=(0,c.useCallback)(async a=>{if(n){if(0===bE.length)return void window.alert("Enable at least one agent in this project.");aY(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bE.map(a=>a.id)})});b.ok?await H(n):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{aY(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,H,bE]),bX=(0,c.useCallback)(async a=>{if(n){if(0===bE.length)return void window.alert("Enable at least one agent in this project.");a5(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:n,rootMessageId:a,activeParticipantIds:bE.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};a3(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{a5(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,bE]),bY=(0,c.useCallback)((a,b)=>{a3(c=>({...c,[a]:b}))},[]),bZ=(0,c.useCallback)(async(a,b,c,d)=>{if(n){a7(a=>new Set(a).add(b.draftId)),a3(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;a3(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),a3(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{a7(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[n]),b$=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aG)return aG;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bX(a):console.warn("No thread with replies available to extract tasks from")},[n,bX,C,aG]);(0,c.useCallback)(a=>{aH(a)},[]);let b_=(0,c.useCallback)(a=>{aH(a)},[]),b0=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&aM(b),requestAnimationFrame(()=>{a8.current?.focus(),b||a8.current?.select()})},[]),b1=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aG)return aG;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bW(a):console.warn("No thread with replies available to summarize")},[n,bW,C,aG]),b2=(0,c.useCallback)(async(a,b,c,d,e,f,g)=>{let h=a.match(/^\/search(?:\s+([\s\S]+))?$/i);if(h)return void b0(h[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(a))return void b1();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(a)||/^\/create(?:\s+[\s\S]+)?$/i.test(a))return void b$();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 i=n;i||(i=(await p()).id);let j=bE.map(a=>a.id);if(0===j.length)return void window.alert("Enable at least one agent in this project.");let k=(0,aL.orderParticipantIds)(j,e);if(aG)return void await F(a,b,i,aG,c,d,k,af,f,g);let l=await F(a,b,i,null,c,d,k,af,f,g);aA&&l&&(aB(!1),az(a=>{let b=new Set(a);return b.add(l),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:l})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[n,aJ,aA,p,b0,b1,aG,bE,F,af]),b3=(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]),b4=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==n?(a9.current=b,o(a.threadId)):aH(b),aW(null),window.requestAnimationFrame(()=>{aW(a.messageId),ba.current&&window.clearTimeout(ba.current),ba.current=window.setTimeout(()=>{aW(b=>b===a.messageId?null:b)},2e3)}),bJ()},[n,bJ,o]),b5=(0,c.useCallback)(async a=>{V(),await q(a)},[q,V]),b6=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a0({type:"thread",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),b7=(0,c.useCallback)(async a=>{if(n){a$(a),W(a);try{let b=new URLSearchParams({threadId:n,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),aW(null);let d=C.filter(b=>b.id!==a&&b.rootMessageId!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message thread",a)}finally{a$(b=>b===a?null:b)}}},[n,H,C,W,r]),b8=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a0({type:"message",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),b9=(0,c.useCallback)(async a=>{if(n)try{let b=new URLSearchParams({threadId:n,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=C.filter(b=>b.id!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message",a)}},[n,H,C,r]),ca=(0,c.useCallback)(()=>{a_&&("thread"===a_.type?b7(a_.id):b9(a_.id),a0(null))},[a_,b7,b9]),cb=(0,c.useCallback)(()=>{a0(null)},[]),cc=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>b0()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>b1()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>b$()}],[b0,b1,b$]),cd=(0,c.useMemo)(()=>{let a=af?ae.find(a=>a.slug===af):ae[0];return a?.repos??[]},[ae,af]),[ce,cf]=(0,c.useState)(new Set),cg=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!aG){cf(new Set),cg.current=null;return}cg.current!==aG&&(cf(new Set),cg.current=aG,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(aG)}`).then(a=>a.json()).then(a=>{cg.current===aG&&a.repoIds&&a.repoIds.length>0&&cf(new Set(a.repoIds))}).catch(()=>{}))},[aG]);let ch=(0,c.useCallback)(a=>{cf(a),aG&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aG,repoIds:[...a]})}).catch(()=>{})},[aG]),ci=(0,c.useCallback)(a=>{let c=O.some(b=>["spawning","running"].includes(b.state)&&b.threadId===a)||Object.values(P).some(b=>b.rootMessageId===a)?"working":S.some(b=>b.rootMessageId===a&&"queued"===b.status)?"queued":"ready";return(0,b.jsx)(bd,{onSend:(b,c,d,e,f,g,h)=>bV(a,b,c,f,g,h),onStop:()=>W(a),loading:"ready"!==c,activityStatus:c,participants:bE,projectGroups:ae,projects:bF,projectSlug:af,messages:C,commands:cc,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:aJ,onAutoModeChange:b3,repos:cd,selectedRepoIds:ce,onRepoSelectionChange:ch})},[bV,W,P,bE,ae,bF,af,cc,C,aJ,b3,O,S,cd,ce,ch]),cj=(0,c.useCallback)(()=>{au(a=>{let b=!a;return bv(b),b})},[bv]),ck=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))}},cl=(0,c.useCallback)((a,b)=>{an(c=>{let d=bx(ah,Y,n);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 n&&bg(n,f),f})},[n,ah,Y]),cm=(0,c.useCallback)(a=>{let b=Y.find(b=>b.id===a);if(!b||n&&!b.thread_ids?.includes(n))return;let c=b.agents.map(a=>a.agent_id);an(c),n&&bg(n,c)},[Y,n]),cn=(0,c.useCallback)(()=>{as(a=>"dark"===a?"light":"dark")},[]),co=()=>(0,b.jsx)("button",{type:"button",onClick:cn,"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)(bq,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bp,{className:"h-4 w-4",strokeWidth:1.75})}),cp=(0,b.jsx)("div",{className:"desktop-titlebar 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:k&&!at&&(0,b.jsx)("button",{type:"button",onClick:cj,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)(bo,{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)(bl.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:a8,type:"text",value:aK,onChange:a=>aM(a.target.value),onKeyDown:a=>{"Escape"===a.key&&bJ()},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)]"}),bA?(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:aR?"…":aP}),(0,b.jsx)("button",{type:"button",onClick:bJ,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:[co(),(0,b.jsx)(bu,{}),aG&&(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${E.length>0?` (${E.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)(bn,{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:[k?(0,b.jsx)(h.WorkspaceSidebar,{threads:m,participants:ah,activeThreadId:n,isLoading:v,isRestoringActiveThread:w,isCreating:s,deletingThreadId:t,renamingThreadId:u,onSelectThread:o,onCreateThread:p,onRenameThread:x,onDeleteThread:b5,activeParticipantIds:al,onToggleParticipantActive:cl,visible:at,onToggle:cj,projects:Y,onCreateProject:Z,onUpdateProject:ad,onDeleteProject:$,onAddAgentToProject:_,onRemoveAgentFromProject:aa,onReorderProjectAgents:ab,onUpdateParticipant:ck,onSelectProject:cm}):null,(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:w?(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:"desktop-titlebar 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)(bm.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:bH}),bI&&(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:bI.color+"40",color:bI.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:bI.color}}),bI.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:[bD.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)}(bG)]}),bS&&(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:bS})]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:bD.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 bO(),disabled:bQ,title:bP?"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)] ${bQ?"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:[bQ?(0,b.jsx)(bs.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,b.jsx)(br.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{className:"hidden sm:inline",children:bP?"Learning...":"Learn from discussion"})]}),co(),(0,b.jsx)(bu,{}),(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${E.length>0?` (${E.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)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):cp,bB?(0,b.jsx)(ap,{query:bA,results:aN,total:aP,participants:ah,threadTitleById:bC,isLoading:aR,error:aT,onSelectResult:b4}):aG?(0,b.jsx)(am,{messages:C,streaming:P,participants:ah,rootMessageId:aG,queued:S.some(a=>a.rootMessageId===aG&&"queued"===a.status),onClose:()=>aH(null),onCopyThread:bN,onAddToChat:bM,onDeleteThreadRoot:b6,onDeleteMessage:b8,highlightedMessageId:aV||void 0,renderReplyComposer:ci,activeProcesses:O.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===aG)}):(0,b.jsx)(ag,{messages:C,streaming:P,participants:ah,onOpenThread:b_,onCopyThread:bN,onAddToChat:bM,onDeleteThreadRoot:b6,onSummarize:bW,onCreateTasks:bX,onUpdateTaskDraft:bY,onBuildTasks:bZ,summarizingThreads:aX,extractingTasks:a4,buildingDrafts:a6,taskDrafts:a1,deletingThreadRootId:aZ,highlightedMessageId:aV,shipModeThreads:ay,onUpdateMessageThreadStatus:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),A(n,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),B(n,a,b);let c=C.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}),!bB&&!aG&&(0,b.jsx)(bd,{onSend:b2,onStop:V,loading:"ready"!==T,activityStatus:T,participants:bE,projects:bF,projectGroups:ae,projectSlug:af,messages:C,commands:cc,pendingThreadInsert:bK,onClearPendingThread:()=>bL(null),autoMode:aJ,onAutoModeChange:b3,repos:cd,selectedRepoIds:ce,onRepoSelectionChange:ch})]})})}),j&&(0,b.jsx)(bt,{logs:E,participants:ah,onClear:()=>void I(n),open:aw,onToggle:()=>ax(!1)}),(0,b.jsx)(bj,{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:ca,onCancel:cb})]})}a.s(["ChatContainer",()=>bz],124610)}];
11
+ `}(c);d&&f.push(d.trimEnd())}catch(a){console.error("Failed to load Linear issue mention context:",a)}let h=f.length>0?f.join("\n\n")+"\n\n":void 0,i=(0,aL.extractComposerRouting)(c,E);d&&$.pushEntry(d);let j=Y.attachmentIds.length>0?Y.attachmentIds:void 0,k=j?Y.getAttachmentMetas():void 0;a(e,10,j,k,E??void 0,h,i),_.commands.clearContent(),S([]),Y.clear(),Z.clearFilePaths(),U.close(),V.close(),X.close()},[_,U,V,l,a,Y,Z,R,X,$,I,t,E]),aj=U.isOpen&&U.filteredSuggestions.length>0;V.isOpen&&V.filteredCommands.length,W.isOpen&&W.suggestions.length,X.isOpen&&X.suggestions.length,aj&&U.filteredSuggestions[U.activeIndex];let ak=Y.staged.some(a=>"uploading"===a.status),al=!_||_.isEmpty,am=g.find(a=>a.id===E)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsx)(a9,{onDrop:Y.stageFiles,children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] shadow-[var(--shadow-sm)] focus-within:border-[var(--app-shell-border-strong)] focus-within:ring-1 focus-within:ring-[var(--ring)] transition-all flex flex-col rounded-2xl",children:[s&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${r?"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 ${r?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:r?"shipBgSweep 4s ease-in-out infinite":"none"}}),r&&(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 ${r?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:r?{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 ${r?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${r?"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 ${r?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:r?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!r),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)] ${r?"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 ${r?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[Y.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(a8,{attachments:Y.staged,onRemove:Y.remove,onRetry:Y.retry})}),(0,b.jsxs)("div",{className:"p-2 relative",children:[(0,b.jsx)("input",{ref:O,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(Y.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:aa,onPasteCapture:ab,children:[(0,b.jsx)(aq.EditorContent,{editor:_,className:"composer-editor"}),(0,b.jsx)(aZ,{isOpen:U.isOpen&&!V.isOpen,suggestions:U.filteredSuggestions,activeIndex:U.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:ad}),(0,b.jsx)(a$,{isOpen:V.isOpen,commands:V.filteredCommands,activeIndex:V.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:ah}),(0,b.jsx)(a4,{isOpen:W.isOpen,suggestions:W.suggestions,activeIndex:W.activeIndex,isLoading:W.isLoading,error:W.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?af(a):ae(a)},onAttachContents:W.onAttachContents}),(0,b.jsx)(a5,{isOpen:X.isOpen&&!V.isOpen&&!W.isOpen,suggestions:X.suggestions,activeIndex:X.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:ag})]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--app-shell-border)] transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:Q,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)(ba,{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":E===a.id,onClick:()=>F(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),F(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 ${E===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"}),D&&(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"===C?"bg-amber-400":"bg-emerald-400"}`})]},a.id))})]}),am&&(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:am.name})]})]}),t.length>0&&(0,b.jsxs)(b.Fragment,{children:[(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.jsxs)("div",{className:"relative",ref:N,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>M(a=>!a),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":L,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Repos"}),(0,b.jsx)(u.ChevronDown,{className:`h-3 w-3 transition-transform ${L?"rotate-180":""}`})]}),L&&(0,b.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:t.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":c,className:`composer-repo-dropdown__item ${c?"composer-repo-dropdown__item--selected":""}`,onClick:()=>K(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("span",{className:`w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0 transition-colors ${c?"bg-emerald-500 border-emerald-500 text-white":"border-[var(--app-shell-border-strong)]"}`,children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)})})]}),(A=(z=t.filter(a=>I.has(a.id))).slice(0,1),B=z.length-1,(0,b.jsxs)(b.Fragment,{children:[A.map(a=>(0,b.jsxs)("span",{className:"composer-repo-pill",title:a.path||a.name,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3 w-3 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{className:"composer-repo-pill__name",children:a.name}),(0,b.jsx)("button",{type:"button",className:"composer-repo-pill__remove",onClick:()=>K(b=>{let c=new Set(b);return c.delete(a.id),c}),"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(x.X,{className:"h-3 w-3"})})]},a.id)),B>0&&(0,b.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",B]})]}))]})]})]}),D?(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:ai,disabled:al&&!Y.hasUploaded&&!Z.hasFilePaths||ak,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"===C?"bg-emerald-400 animate-pulse":"queued"===C?"bg-amber-400":"bg-emerald-400"}`}),(0,b.jsx)("span",{children:"working"===C?"Working":"queued"===C?"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 be=a.i(655672),bf=a.i(176388);let bg={activeParticipantIdsByThread:{}};function bh(a,b){let c=a.trim();if(c)({...bg}).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 bi=a.i(215040),bj=a.i(81779),bk=a.i(56196),bl=a.i(587532),bm=a.i(613749);let bn=(0,s.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"}]]),bo=(0,s.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"}]]),bp=(0,s.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"}]]),bq=(0,s.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 br=a.i(953722),bs=a.i(404650),bs=bs;function bt({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 bu(){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 bv(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 bw(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 bx(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 by(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=bv(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=bv(d.title)||`Task ${e+1}`,g=bv(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 bz({projectSlug:a,initialThreadId:i,initialRootMessageId:j,showSidebar:k=!0}={}){let l=(0,d.useSearchParams)(),{threads:m,activeThreadId:n,selectThread:o,createThread:p,deleteThread:q,updateThreadMessages:r,isCreating:s,deletingThreadId:t,renamingThreadId:u,isLoading:v,isRestoringActiveThread:w,renameThread:x,updateThreadStatus:y,updateThreadOutcomeNote:z,updateMessageThreadStatus:A,updateMessageOutcomeNote:B}=(0,g.useThreadState)(i),{messages:C,setMessages:D,logs:E,sendMessage:F,loadHistory:H,clearLogs:I,chatRuns:J,setChatRuns:K,stop:L,stopThread:M}=(0,e.useGroupChat)(n),{activeAgents:N,processes:O,streaming:P,chatRuns:Q,poll:R}=(0,f.useProcessPolling)(n?{workspaceId:n}:null,{messages:C,setMessages:D}),S=(0,c.useMemo)(()=>{let a=Date.now(),b=new Map(Q.map(a=>[a.chatRunId,a]));for(let c of J)!(!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)},[J,Q]),T=N.size>0||S.some(a=>"running"===a.status)?"working":S.some(a=>"queued"===a.status)?"queued":"ready";(0,c.useEffect)(()=>{K(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 Q)a?.chatRunId&&c.set(a.chatRunId,a);return Array.from(c.values()).filter(a=>!!(!a.optimistic||Q.some(b=>b.chatRunId===a.chatRunId))||b-(a.enqueuedAt??0)<=5e3).sort((a,b)=>String(a.chatRunId||"").localeCompare(String(b.chatRunId||"")))})},[Q,K]);let U=(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(()=>{})},[]),V=(0,c.useCallback)(async()=>{let a=S[0];a?.chatRunId&&await U(a.chatRunId),await L(),await R()},[S,U,L,R]),W=(0,c.useCallback)(async a=>{let b=S.find(b=>b.rootMessageId===a);b?.chatRunId&&await U(b.chatRunId),await M(a),await R()},[S,U,M,R]),X=(0,c.useRef)(V);(0,c.useEffect)(()=>{X.current=V},[V]);let{projects:Y,createProject:Z,deleteProject:$,addAgent:_,removeAgent:aa,reorderAgents:ab}=(0,bk.useProjectsWithAgents)(),{projects:ac,updateProject:ad}=(0,bk.useProjects)(),ae=(0,c.useMemo)(()=>n?Y.filter(a=>a.thread_ids?.includes(n)):Y,[Y,n]),af=(0,c.useMemo)(()=>a||ae[0]?.slug||void 0,[a,ae]),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(!1),[al,an]=(0,c.useState)([]),[ao,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(()=>"light"),[at,au]=(0,c.useState)(!1),[av,aw]=(0,c.useState)(368),ax=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=(0,be.loadWorkspaceSidebarVisible)();ax.current=!0,au(a),aw((0,bf.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{},[ar]);let[ay,az]=(0,c.useState)(!1),[aA,aB]=(0,c.useState)(new Set),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(null),[aI,aJ]=(0,c.useState)(j??null),aK=l.get("open")?.trim()||null,aM=aI?aA.has(aI):aC;(0,c.useEffect)(()=>{if(!aI)return;let a=!1,b=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(aI)}`).then(a=>a.json()).then(b=>{a||aB(a=>{let c=a.has(aI);if(b.active&&!c){let b=new Set(a);return b.add(aI),b}if(!b.active&&c){let b=new Set(a);return b.delete(aI),b}return a})}).catch(()=>{})};b();let c=setInterval(b,1e4);return()=>{a=!0,clearInterval(c)}},[aI]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/schedules").then(a=>a.json()).then(b=>{!a&&b.activeRootMessageIds&&aB(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(aI){let b=a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}?open=${encodeURIComponent(aI)}`:`/thread/${aI}`;window.history.replaceState(null,"",b)}else window.history.replaceState(null,"",a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}`:"/")},[n,i,aI,a]),(0,c.useEffect)(()=>{a&&aJ(a=>a===aK?a:aK)},[a,aK]),(0,c.useEffect)(()=>{j&&(async()=>{try{let a=await fetch(`/api/messages/${j}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&o(b)}catch{}})()},[j,o]);let[aN,aO]=(0,c.useState)(""),[aP,aQ]=(0,c.useState)([]),[aR,aS]=(0,c.useState)(0),[aT,aU]=(0,c.useState)(!1),[aV,aW]=(0,c.useState)(null),[aX,aY]=(0,c.useState)(null),[aZ,a$]=(0,c.useState)(new Set),[a_,a0]=(0,c.useState)(null),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)({}),a5=(0,c.useCallback)(a=>{a4(b=>{let c="function"==typeof a?a(b):a;if(n)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:n,messageId:a,draft:d})}).catch(()=>{});return c})},[n]),[a6,a7]=(0,c.useState)(new Set),[a8,a9]=(0,c.useState)(new Set),ba=(0,c.useRef)(null),bb=(0,c.useRef)(null),bc=(0,c.useRef)(null),bv=(0,c.useRef)(""),bA=(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)}},[]),bB=(0,c.useCallback)(async a=>{try{await (0,bi.updateUserPreferences)({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[bi.updateUserPreferences]),bC=(0,c.useCallback)(a=>{(0,be.persistWorkspaceSidebarVisible)(a),bB(a)},[bB]),bD=aN.trim(),bE=bD.length>0,bF=(0,c.useMemo)(()=>Object.fromEntries(m.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[m]),bG=(0,c.useMemo)(()=>{if(!aI)return[];let a=new Set([C.find(a=>a.id===aI),...C.filter(a=>a.rootMessageId===aI)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(P).forEach(b=>{P[b].rootMessageId===aI&&a.add(b)}),ah.filter(b=>a.has(b.id))},[aI,C,P,ah]),bH=(0,c.useMemo)(()=>{let a=new Map(ah.map(a=>[a.id,a]));return al.map(b=>a.get(b)).filter(Boolean)},[ah,al]),bI=(0,c.useMemo)(()=>ac.map(a=>({id:a.id,name:a.name,slug:a.slug})),[ac]),bJ=(0,c.useMemo)(()=>{if(!aI)return 0;let a=[C.find(a=>a.id===aI),...C.filter(a=>a.rootMessageId===aI)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[aI,C]),bK=(0,c.useMemo)(()=>{if(!aI)return"";let a=C.find(a=>a.id===aI);if(!a)return"Discussion";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[aI,C]),bL=(0,c.useMemo)(()=>{if(!aI)return null;let a=C.find(a=>a.id===aI),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]}},[aI,C]),bM=(0,c.useCallback)(()=>{aO(""),aQ([]),aS(0),aW(null),aU(!1)},[]);(0,c.useCallback)(()=>{let a=by(C,ah);navigator.clipboard.writeText(a).then(()=>{aq(!0),setTimeout(()=>aq(!1),2e3)})},[C,ah]);let[bN,bO]=(0,c.useState)(null),bP=(0,c.useCallback)(a=>{let b=C.find(b=>b.id===a);if(!b)return;let c=[b,...C.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})},[C]),bQ=(0,c.useCallback)(a=>{let b=by([C.find(b=>b.id===a),...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),ah,a3[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[C,ah,a3]),bR=(0,c.useCallback)(async()=>{if(aI){aF(!0);try{let a=["repo"];af&&a.push("project");let b=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aI,scopes:a})}),c=await b.json().catch(()=>null);if(!b.ok)throw Error("string"==typeof c?.error?c.error:"Request failed");aH(c?.run??null)}catch(b){let a=b instanceof Error?b.message:"Request failed";window.alert(`Failed to extract knowledge: ${a}`)}finally{aF(!1)}}},[aI,af]);(0,c.useEffect)(()=>{if(!aI){aH(null),aF(!1);return}let a=!1;return(async()=>{try{let b=await bw(aI);if(a)return;aH(b)}catch{a||aH(null)}})(),()=>{a=!0}},[aI]),(0,c.useEffect)(()=>{if(!aI||aG?.status!=="running")return;let a=!1,b=async()=>{try{let b=await bw(aI);if(a)return;aH(b)}catch{}};b();let c=window.setInterval(()=>{b()},2e3);return()=>{a=!0,window.clearInterval(c)}},[aI,aG?.status]);let bS=aG?.status==="running",bT=aE||bS,bU=(aG?.repoInsertedCount??0)+(aG?.projectInsertedCount??0),bV=(0,c.useMemo)(()=>{if(!aG)return null;if("running"===aG.status)return"Learning in progress";if("failed"===aG.status)return"Last learning run failed";if(bU>0){let a=1===bU?"insight":"insights";return`Learned ${bU} ${a}`}return"No new learnings"},[bU,aG]);(0,c.useEffect)(()=>{bA(!0)},[bA]);let bW=(0,c.useMemo)(()=>{if(!aj)return[];let a=new Set(ah.map(a=>a.id)),b=new Set;for(let c of C)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(P))a.has(c)||b.add(c);return Array.from(b).sort()},[C,ah,aj,P]);(0,c.useEffect)(()=>{if(!aj)return;let a=bW.join("|");if(!a){bv.current="";return}bv.current!==a&&(bv.current=a,bA(!1))},[aj,bA,bW]),(0,c.useEffect)(()=>{if(!aj)return;let a=bx(ah,Y,n);if(!n)return void an(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...bg};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(n);if(null===b)return void an(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))&&bh(n,d),an(d)},[n,ah,aj,Y]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await (0,bi.fetchUserPreferences)();if(a)return;au(a=>a===b.threadSidebarVisible?a:ax.current?(bB(a),a):((0,be.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[bB]),(0,c.useEffect)(()=>{v||s||0!==m.length||p({id:"global",title:"General"})},[v,s,m.length,p]),(0,c.useEffect)(()=>()=>{bc.current&&window.clearTimeout(bc.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),ba.current?.focus(),ba.current?.select();return}"Escape"===a.key&&bD&&bM()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[bM,bD]),(0,c.useEffect)(()=>{if(!bD){aQ([]),aS(0),aW(null),aU(!1);return}let a=!1;aU(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:bD,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";aQ([]),aS(0),aW(a);return}aQ(Array.isArray(d.results)?d.results:[]),aS("number"==typeof d.total?d.total:0),aW(null)}catch(b){if(a)return;console.error("Search request failed",b),aQ([]),aS(0),aW("Search failed")}finally{a||aU(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[bD]);let bX=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bX.current&&bX.current!==n&&(X.current(),bb.current?(aJ(bb.current),bb.current=null):aJ(null)),bX.current=n,n&&(H(n),fetch(`/api/task-drafts?threadId=${encodeURIComponent(n)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?a4(a.drafts):a4({})}).catch(()=>a4({})))},[n,H]),(0,c.useEffect)(()=>{n&&r(n,C)},[n,C,r]);let bY=(0,c.useCallback)((a,b,c=10,d,e,f)=>{n&&0!==bH.length&&F(b,c,n,a,void 0,void 0,(0,aL.orderParticipantIds)(bH.map(a=>a.id),d),af,e,f)},[n,F,bH,af]),bZ=(0,c.useCallback)(async a=>{if(n){if(0===bH.length)return void window.alert("Enable at least one agent in this project.");a$(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bH.map(a=>a.id)})});b.ok?await H(n):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{a$(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,H,bH]),b$=(0,c.useCallback)(async a=>{if(n){if(0===bH.length)return void window.alert("Enable at least one agent in this project.");a7(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:n,rootMessageId:a,activeParticipantIds:bH.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};a5(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{a7(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,bH]),b_=(0,c.useCallback)((a,b)=>{a5(c=>({...c,[a]:b}))},[]),b0=(0,c.useCallback)(async(a,b,c,d)=>{if(n){a9(a=>new Set(a).add(b.draftId)),a5(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;a5(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),a5(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{a9(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[n]),b1=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aI)return aI;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?b$(a):console.warn("No thread with replies available to extract tasks from")},[n,b$,C,aI]);(0,c.useCallback)(a=>{aJ(a)},[]);let b2=(0,c.useCallback)(a=>{aJ(a)},[]),b3=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&aO(b),requestAnimationFrame(()=>{ba.current?.focus(),b||ba.current?.select()})},[]),b4=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aI)return aI;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bZ(a):console.warn("No thread with replies available to summarize")},[n,bZ,C,aI]),b5=(0,c.useCallback)(async(a,b,c,d,e,f,g)=>{let h=a.match(/^\/search(?:\s+([\s\S]+))?$/i);if(h)return void b3(h[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(a))return void b4();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(a)||/^\/create(?:\s+[\s\S]+)?$/i.test(a))return void b1();aM&&aI&&(aB(a=>{let b=new Set(a);return b.delete(aI),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"stop",rootMessageId:aI})}).catch(a=>console.error("Failed to deactivate schedule:",a)));let i=n;i||(i=(await p()).id);let j=bH.map(a=>a.id);if(0===j.length)return void window.alert("Enable at least one agent in this project.");let k=(0,aL.orderParticipantIds)(j,e);if(aI)return void await F(a,b,i,aI,c,d,k,af,f,g);let l=await F(a,b,i,null,c,d,k,af,f,g);aC&&l&&(aD(!1),aB(a=>{let b=new Set(a);return b.add(l),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:l})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[n,aM,aC,p,b3,b4,aI,bH,F,af]),b6=(0,c.useCallback)(async a=>{if(!aI)return void aD(a);aB(b=>{let c=new Set(b);return a?c.add(aI):c.delete(aI),c});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a?"activate":"stop",rootMessageId:aI})})}catch(a){console.error("Failed to toggle autonomous schedule:",a)}},[aI]),b7=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==n?(bb.current=b,o(a.threadId)):aJ(b),aY(null),window.requestAnimationFrame(()=>{aY(a.messageId),bc.current&&window.clearTimeout(bc.current),bc.current=window.setTimeout(()=>{aY(b=>b===a.messageId?null:b)},2e3)}),bM()},[n,bM,o]),b8=(0,c.useCallback)(async a=>{V(),await q(a)},[q,V]),b9=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a2({type:"thread",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),ca=(0,c.useCallback)(async a=>{if(n){a0(a),W(a);try{let b=new URLSearchParams({threadId:n,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());aJ(b=>b===a?null:b),aY(null);let d=C.filter(b=>b.id!==a&&b.rootMessageId!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message thread",a)}finally{a0(b=>b===a?null:b)}}},[n,H,C,W,r]),cb=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a2({type:"message",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),cc=(0,c.useCallback)(async a=>{if(n)try{let b=new URLSearchParams({threadId:n,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=C.filter(b=>b.id!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message",a)}},[n,H,C,r]),cd=(0,c.useCallback)(()=>{a1&&("thread"===a1.type?ca(a1.id):cc(a1.id),a2(null))},[a1,ca,cc]),ce=(0,c.useCallback)(()=>{a2(null)},[]),cf=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>b3()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>b4()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>b1()}],[b3,b4,b1]),cg=(0,c.useMemo)(()=>{let a=af?ae.find(a=>a.slug===af):ae[0];return a?.repos??[]},[ae,af]),[ch,ci]=(0,c.useState)(new Set),cj=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!aI){ci(new Set),cj.current=null;return}cj.current!==aI&&(ci(new Set),cj.current=aI,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(aI)}`).then(a=>a.json()).then(a=>{cj.current===aI&&a.repoIds&&a.repoIds.length>0&&ci(new Set(a.repoIds))}).catch(()=>{}))},[aI]);let ck=(0,c.useCallback)(a=>{ci(a),aI&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aI,repoIds:[...a]})}).catch(()=>{})},[aI]),cl=(0,c.useCallback)(a=>{let c=O.some(b=>["spawning","running"].includes(b.state)&&b.threadId===a)||Object.values(P).some(b=>b.rootMessageId===a)?"working":S.some(b=>b.rootMessageId===a&&"queued"===b.status)?"queued":"ready";return(0,b.jsx)(bd,{onSend:(b,c,d,e,f,g,h)=>bY(a,b,c,f,g,h),onStop:()=>W(a),loading:"ready"!==c,activityStatus:c,participants:bH,projectGroups:ae,projects:bI,projectSlug:af,messages:C,commands:cf,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:aM,onAutoModeChange:b6,repos:cg,selectedRepoIds:ch,onRepoSelectionChange:ck})},[bY,W,P,bH,ae,bI,af,cf,C,aM,b6,O,S,cg,ch,ck]),cm=(0,c.useCallback)(()=>{au(a=>{let b=!a;return bC(b),b})},[bC]),cn=(0,c.useCallback)(a=>{aw(a),(0,bf.persistWorkspaceWidth)(a)},[]),co=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))}},cp=(0,c.useCallback)((a,b)=>{an(c=>{let d=bx(ah,Y,n);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 n&&bh(n,f),f})},[n,ah,Y]),cq=(0,c.useCallback)(a=>{let b=Y.find(b=>b.id===a);if(!b||n&&!b.thread_ids?.includes(n))return;let c=b.agents.map(a=>a.agent_id);an(c),n&&bh(n,c)},[Y,n]),cr=(0,c.useCallback)(()=>{as(a=>"dark"===a?"light":"dark")},[]),cs=()=>(0,b.jsx)("button",{type:"button",onClick:cr,"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)(bq,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bp,{className:"h-4 w-4",strokeWidth:1.75})}),ct=(0,b.jsx)("div",{className:"desktop-titlebar 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:k&&!at&&(0,b.jsx)("button",{type:"button",onClick:cm,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)(bo,{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)(bl.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:ba,type:"text",value:aN,onChange:a=>aO(a.target.value),onKeyDown:a=>{"Escape"===a.key&&bM()},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)]"}),bD?(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:aT?"…":aR}),(0,b.jsx)("button",{type:"button",onClick:bM,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:[cs(),(0,b.jsx)(bu,{}),aI&&(0,b.jsx)("button",{type:"button",onClick:()=>az(!ay),"aria-label":ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":ay,title:ay?"Hide logs":`Show logs${E.length>0?` (${E.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)] ${ay?"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)(bn,{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:[k?(0,b.jsx)(h.WorkspaceSidebar,{threads:m,participants:ah,activeThreadId:n,isLoading:v,isRestoringActiveThread:w,isCreating:s,deletingThreadId:t,renamingThreadId:u,onSelectThread:o,onCreateThread:p,onRenameThread:x,onDeleteThread:b8,activeParticipantIds:al,onToggleParticipantActive:cp,visible:at,onToggle:cm,width:av,onWidthChange:cn,projects:Y,onCreateProject:Z,onUpdateProject:ad,onDeleteProject:$,onAddAgentToProject:_,onRemoveAgentFromProject:aa,onReorderProjectAgents:ab,onUpdateParticipant:co,onSelectProject:cq}):null,(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:w?(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:[aI?(0,b.jsx)("div",{className:"desktop-titlebar 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:()=>aJ(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)(bm.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:bK}),bL&&(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:bL.color+"40",color:bL.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:bL.color}}),bL.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:[bG.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)}(bJ)]}),bV&&(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:bV})]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:bG.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 bR(),disabled:bT,title:bS?"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)] ${bT?"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:[bT?(0,b.jsx)(bs.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,b.jsx)(br.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{className:"hidden sm:inline",children:bS?"Learning...":"Learn from discussion"})]}),cs(),(0,b.jsx)(bu,{}),(0,b.jsx)("button",{type:"button",onClick:()=>az(!ay),"aria-label":ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":ay,title:ay?"Hide logs":`Show logs${E.length>0?` (${E.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)] ${ay?"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)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):ct,bE?(0,b.jsx)(ap,{query:bD,results:aP,total:aR,participants:ah,threadTitleById:bF,isLoading:aT,error:aV,onSelectResult:b7}):aI?(0,b.jsx)(am,{messages:C,streaming:P,participants:ah,rootMessageId:aI,queued:S.some(a=>a.rootMessageId===aI&&"queued"===a.status),onClose:()=>aJ(null),onCopyThread:bQ,onAddToChat:bP,onDeleteThreadRoot:b9,onDeleteMessage:cb,highlightedMessageId:aX||void 0,renderReplyComposer:cl,activeProcesses:O.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===aI)}):(0,b.jsx)(ag,{messages:C,streaming:P,participants:ah,onOpenThread:b2,onCopyThread:bQ,onAddToChat:bP,onDeleteThreadRoot:b9,onSummarize:bZ,onCreateTasks:b$,onUpdateTaskDraft:b_,onBuildTasks:b0,summarizingThreads:aZ,extractingTasks:a6,buildingDrafts:a8,taskDrafts:a3,deletingThreadRootId:a_,highlightedMessageId:aX,shipModeThreads:aA,onUpdateMessageThreadStatus:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),A(n,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),B(n,a,b);let c=C.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}),!bE&&!aI&&(0,b.jsx)(bd,{onSend:b5,onStop:V,loading:"ready"!==T,activityStatus:T,participants:bH,projects:bI,projectGroups:ae,projectSlug:af,messages:C,commands:cf,pendingThreadInsert:bN,onClearPendingThread:()=>bO(null),autoMode:aM,onAutoModeChange:b6,repos:cg,selectedRepoIds:ch,onRepoSelectionChange:ck})]})})}),j&&(0,b.jsx)(bt,{logs:E,participants:ah,onClear:()=>void I(n),open:ay,onToggle:()=>az(!1)}),(0,b.jsx)(bj.default,{isOpen:null!==a1,title:a1?.type==="thread"?"Delete Discussion":"Delete Message",message:a1?.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:a1?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:cd,onCancel:ce})]})}a.s(["ChatContainer",()=>bz],124610)}];
12
12
 
13
13
  //# sourceMappingURL=components_chat-ui_bfeda794._.js.map