@mndrk/agx 2.0.45 → 2.0.47

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 (494) 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/chat/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
  54. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  167. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  168. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  169. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  171. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  172. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  173. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  175. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  176. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  177. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  178. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
  193. package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
  194. package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
  195. package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
  196. package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
  197. package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
  198. package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
  199. package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
  200. package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
  201. package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
  202. package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
  203. package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
  204. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
  205. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
  206. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
  207. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
  208. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
  209. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
  210. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  211. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  212. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  214. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  216. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  234. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  246. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  247. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  249. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  250. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  263. package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  273. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  274. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  275. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  276. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  277. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  280. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  282. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  285. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  286. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  287. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  288. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  289. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  292. package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js → [externals]__7b4c6b2b._.js} +1 -1
  293. package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
  294. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js → [root-of-the-server]__143fdf69._.js} +2 -2
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js → [root-of-the-server]__158df4bf._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js → [root-of-the-server]__179cb224._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js → [root-of-the-server]__1a1f66b1._.js} +2 -2
  298. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
  299. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js → [root-of-the-server]__23b075bd._.js} +2 -2
  300. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js → [root-of-the-server]__3170b7bf._.js} +2 -2
  301. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js → [root-of-the-server]__33865410._.js} +2 -2
  302. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js → [root-of-the-server]__36d15de5._.js} +2 -2
  303. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
  304. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js → [root-of-the-server]__4cb22e4d._.js} +2 -2
  305. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js → [root-of-the-server]__4ce74056._.js} +2 -2
  306. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js → [root-of-the-server]__538b0bdd._.js} +2 -2
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js → [root-of-the-server]__5c55f67a._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js → [root-of-the-server]__69a3c480._.js} +2 -2
  309. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js → [root-of-the-server]__6c53437e._.js} +1 -1
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js → [root-of-the-server]__94499e9a._.js} +2 -2
  313. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js → [root-of-the-server]__a280fa63._.js} +2 -2
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js → [root-of-the-server]__a2d31df1._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js → [root-of-the-server]__a7b2350e._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js → [root-of-the-server]__ab655b9f._.js} +2 -2
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js → [root-of-the-server]__b2748382._.js} +2 -2
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js → [root-of-the-server]__b627cb83._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js → [root-of-the-server]__bab85495._.js} +63 -18
  322. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js → [root-of-the-server]__c21747df._.js} +2 -2
  323. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
  324. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
  325. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js → [root-of-the-server]__ca4987eb._.js} +1 -1
  326. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js → [root-of-the-server]__d16caed5._.js} +2 -2
  327. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js → [root-of-the-server]__d324f8a1._.js} +2 -2
  328. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js → [root-of-the-server]__da645a5e._.js} +2 -2
  329. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js → [root-of-the-server]__e58e9f91._.js} +2 -2
  330. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
  331. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js → [root-of-the-server]__f7f336c7._.js} +1 -1
  332. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
  333. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
  334. package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
  335. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
  336. package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
  337. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js → [root-of-the-server]__01e1641e._.js} +2 -2
  338. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__21a9eaef._.js +3 -0
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js → [root-of-the-server]__5e73414b._.js} +2 -2
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ad05ace._.js +3 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js → [root-of-the-server]__d96bb3b5._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d949e96._.js +3 -0
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32a156b6._.js +3 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43c091dc._.js +3 -0
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/_45175f47._.js +3 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4f0c544d._.js +3 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/_97f6a18e._.js +3 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_f51a3112._.js → _a511a014._.js} +2 -2
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c3a3a829._.js +3 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +3 -3
  357. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  358. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  359. package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
  360. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  361. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
  363. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  364. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  365. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  366. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  367. package/cloud-runtime/standalone/.next/static/chunks/14fff3c493ea9c54.js +1 -0
  368. package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
  369. package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js → 31fe4e36a00fd7b5.js} +1 -1
  370. package/cloud-runtime/standalone/.next/static/chunks/41c518743656a291.js +1 -0
  371. package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js → 4343e7fe5bf5f34a.js} +1 -1
  372. package/cloud-runtime/standalone/.next/static/chunks/5405540470146645.js +1 -0
  373. package/cloud-runtime/standalone/.next/static/chunks/69f2db4b9996b9c1.js +37 -0
  374. package/cloud-runtime/standalone/.next/static/chunks/8aeb69ceb497ad85.css +1 -0
  375. package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js → 97c11137cd6fc860.js} +1 -1
  376. package/cloud-runtime/standalone/.next/static/chunks/baf5d39d089efb87.js +1 -0
  377. package/cloud-runtime/standalone/.next/static/chunks/c78969fde5798275.js +1 -0
  378. package/cloud-runtime/standalone/.next/static/chunks/d3dc6fadb96ab3a2.js +1 -0
  379. package/cloud-runtime/standalone/.next/static/chunks/{b3377e39d47c71cf.js → fdadad2379039dce.js} +1 -1
  380. package/cloud-runtime/standalone/app/api/linear/issues/route.ts +18 -4
  381. package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
  382. package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
  383. package/cloud-runtime/standalone/components/LinearBoard.tsx +346 -14
  384. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +20 -10
  385. package/cloud-runtime/standalone/hooks/useLinearIssues.ts +13 -5
  386. package/cloud-runtime/standalone/instrumentation.ts +3 -0
  387. package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
  388. package/cloud-runtime/standalone/lib/linear-issue-store.ts +44 -10
  389. package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
  390. package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +3 -3
  391. package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
  392. package/cloud-runtime/standalone/worker/index.js +147 -28
  393. package/package.json +1 -1
  394. package/cloud-runtime/standalone/.linear-token.json +0 -4
  395. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
  405. package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
  406. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
  407. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +0 -3
  408. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
  409. package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
  410. package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
  411. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
  412. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
  413. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
  414. package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
  416. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
  417. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
  418. package/cloud-runtime/standalone/.next/static/chunks/00716478a3ee55a2.js +0 -37
  419. package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
  420. package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
  421. package/cloud-runtime/standalone/.next/static/chunks/3091043e8c282dce.css +0 -1
  422. package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
  423. package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
  425. package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
  426. package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
  427. package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
  428. package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
  429. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  430. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  431. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  432. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  433. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  434. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  435. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  436. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  437. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  438. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  439. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  440. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  441. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  442. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  443. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  444. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  445. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  446. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  447. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  448. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  449. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  450. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  451. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  452. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  453. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  454. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  455. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  456. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  457. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  458. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  459. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  460. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  461. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  462. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  463. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  464. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  465. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  466. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  467. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  468. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  469. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  470. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  471. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  472. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  473. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  474. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  475. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  476. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  477. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  478. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  479. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  480. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  481. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  482. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  483. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  484. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  485. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  486. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  487. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  488. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  489. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  490. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  491. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  492. /package/cloud-runtime/standalone/.next/static/{Y8QdDdLJI3yzNjkyPjuJ- → lOB5InbmVcurTLQo9J3KK}/_buildManifest.js +0 -0
  493. /package/cloud-runtime/standalone/.next/static/{Y8QdDdLJI3yzNjkyPjuJ- → lOB5InbmVcurTLQo9J3KK}/_clientMiddlewareManifest.json +0 -0
  494. /package/cloud-runtime/standalone/.next/static/{Y8QdDdLJI3yzNjkyPjuJ- → lOB5InbmVcurTLQo9J3KK}/_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:
@@ -1,3 +1,3 @@
1
- module.exports=[986976,182434,492596,655672,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(935112),e=a.i(405784),f=a.i(50522),g=a.i(2835),h=a.i(883706);let i=(0,h.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"}]]);a.s(["Bot",()=>i],182434);var j=a.i(501027);let k=(0,h.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",()=>k],492596);var l=a.i(734531);let m=(0,h.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var n=a.i(699464),o=a.i(915618),p=a.i(587532),q=a.i(781560),r=a.i(633508),s=a.i(860614),t=a.i(321161),u=a.i(238246),v=a.i(520138),w=a.i(18984);function x({threads:a,participants:h=[],activeThreadId:x,isLoading:y,isCreating:z,onSelectThread:A,onCreateThread:B,onRenameThread:C,onDeleteThread:D,deletingThreadId:E=null,renamingThreadId:F=null,activeParticipantIds:G=[],onToggleParticipantActive:H,visible:I=!1,isRestoringActiveThread:J=!1,onToggle:K,onSearch:L,projects:M=[],onCreateProject:N,onUpdateProject:O,onDeleteProject:P,onAddAgentToProject:Q,onRemoveAgentFromProject:R,onAddAgentViaForm:S,onReorderProjectAgents:T,onUpdateParticipant:U,onSelectProject:V,activeProjectId:W=null,activeProjectView:X=null}){let Y,Z,$=(0,c.useRef)(null),[_,aa]=(0,c.useState)(!1),[ab,ac]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{if(ab.size>0||!M?.length)return;let a=M.find(a=>!1);ac(new Set([a?.id??M[0].id]))},[M]);let[ad,ae]=(0,c.useState)(null),[af,ag]=(0,c.useState)(new Set),[ah,ai]=(0,c.useState)(!1),[aj,ak]=(0,c.useState)(null),[al,am]=(0,c.useState)(null),an=(0,w.useProjectFormState)(),[ao,ap]=(0,c.useState)(null),aq=(0,c.useCallback)(a=>{a&&(a.focus(),a.select())},[]),[ar,as]=(0,c.useState)(null),[at,au]=(0,c.useState)(null),av=at?h.find(a=>a.id===at)??null:null,[aw,ax]=(0,c.useState)(null),[ay,az]=(0,c.useState)(null),aA=async()=>{if(!aj&&!al)return;if(!an.form.name.trim())return void an.setFormError("Project name is required");let a=an.repos.find(a=>a.name.trim()&&!a.path.trim());if(a)return void an.setFormError(`Local path is required for folder "${a.name}"`);an.setFormError(null),an.setIsSubmitting(!0);let b=(0,w.createProjectPayload)(an.form,an.repos);al?await O?.(al.id,b):await N?.(b,aj?.threadId),an.setIsSubmitting(!1),ak(null),am(null)},aB=async a=>{an.resetForm();try{let b=await fetch(`/api/projects/${a}`);if(!b.ok)throw Error("Failed to load project");let c=(await b.json()).project;am(c),an.hydrateFromProject(c)}catch(a){console.error("Failed to load project settings",a)}};(0,c.useEffect)(()=>{aa(!0)},[]),(0,c.useEffect)(()=>{let a=!1;async function b(){if(aw?.repoId)try{let b=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(aw.repoId)}`),c=(b.ok?await b.json():{note:null}).note;a||ax(a=>a&&a.repoId===aw.repoId?{...a,generatedKnowledge:c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt}]:[],isLoadingKnowledge:!1}:a)}catch{a||ax(a=>a&&a.repoId===aw.repoId?{...a,generatedKnowledge:[],isLoadingKnowledge:!1}:a)}}return aw?.repoId&&b(),()=>{a=!0}},[aw?.repoId]);let aC=a=>{S?S(a):(ag(new Set),ae({projectId:a}))},aD=ad?M.find(a=>a.id===ad.projectId):null,aE=new Set(aD?.agents.map(a=>a.agent_id)??[]),aF=ad?h.filter(a=>!aE.has(a.id)):[],aG=a.length>0,aH=!!I,aI=[...a].sort((a,b)=>(a.title??"").localeCompare(b.title??"")),aJ=new Map(a.map(a=>[a.id,a])),aK=M.filter(a=>!a.is_default),aL=aI.filter(a=>!aK.some(b=>b.thread_ids?.includes(a.id)));!function({focusTarget:a,shouldFocus:b}){(0,c.useEffect)(()=>{if(!b||"u"<typeof document)return;let c=a.current;if(!c||c instanceof HTMLButtonElement&&c.disabled)return;let d=document.activeElement;if(!(d&&(c===d||c.contains(d))))try{c.focus({preventScroll:!0})}catch{c.focus()}},[a,b])}({focusTarget:$,shouldFocus:aH&&!(y&&!aG||J&&aG)&&!aG&&!z});let aM=()=>{ap({title:"Create chat",placeholder:"Chat title",defaultValue:"",onSubmit:a=>void B({title:a})})};return aH?(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":y?"true":void 0,children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand-content flex items-center gap-2 px-1",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand-icon","aria-hidden":"true",children:(0,b.jsx)("span",{className:"text-[10px]",children:"AGX"})}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-title",children:"Workspace"})]}),K&&(0,b.jsx)("button",{type:"button",onClick:K,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,b.jsx)(m,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__content",children:[L&&(0,b.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,b.jsxs)("button",{type:"button",onClick:L,className:"flex h-8 w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 text-xs text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] hover:text-[var(--app-shell-muted)]",children:[(0,b.jsx)(p.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Search..."}),(0,b.jsx)("kbd",{className:"ml-auto rounded border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1 py-0.5 font-sans text-[10px] font-medium text-[var(--app-shell-soft-text)]",children:"⌘K"})]})}),(0,b.jsx)("nav",{className:"workspace-sidebar__section",style:{gap:0},children:(0,b.jsxs)(u.default,{href:"/agents",className:"workspace-sidebar__nav-item",children:[(0,b.jsx)(i,{size:14,className:"flex-shrink-0"}),"Manage Agents"]})}),(0,b.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__section-header group/projects-header",children:[(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,b.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/projects-header:opacity-100",onClick:()=>{an.resetForm(),am(null),ak({})},"aria-label":"Create project",title:"Create project",children:(0,b.jsx)(o.Plus,{size:14})})})]}),aK.map(a=>{let c=ab.has(a.id),d=aI.filter(b=>a.thread_ids?.includes(b.id)),i=a.id===W,m=a.thread_ids?.find(a=>aJ.has(a))??a.thread_ids?.[0]??d[0]?.id??null,p=i&&"thread"===X&&m===x,r=i&&"automations"===X,w=i&&"linear"===X;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",children:[(0,b.jsx)("button",{type:"button",className:"inline-flex items-center justify-center rounded-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>{var b;return b=a.id,void ac(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},"aria-label":c?`Collapse ${a.name}`:`Expand ${a.name}`,title:c?"Collapse project":"Expand project",children:c?(0,b.jsx)(e.ChevronDown,{size:14,className:"flex-shrink-0"}):(0,b.jsx)(f.ChevronRight,{size:14,className:"flex-shrink-0"})}),(0,b.jsx)(k,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a.name})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void aB(a.id),"aria-label":`Open project settings for ${a.name}`,title:"Project settings",children:(0,b.jsx)(n.Pencil,{size:12})}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var b;let c;return b=a.id,c=M.find(a=>a.id===b),void as({title:"Delete project",message:`Delete "${c?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void P?.(b)})},"aria-label":`Delete project ${a.name}`,title:`Delete project ${a.name}`,children:(0,b.jsx)(q.Trash2,{size:12})})]})]}),c&&(0,b.jsxs)("div",{className:"ml-4 my-1 flex flex-col gap-0.5 border-l border-[var(--app-shell-border)] pl-3",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,b.jsxs)(u.default,{href:`/projects/${a.slug}/linear`,className:`workspace-sidebar__nav-item flex-1 ${w?"workspace-sidebar__nav-item--active":""}`,"aria-current":w?"page":void 0,children:[(0,b.jsx)(s.ExternalLink,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Linear"})]}),(0,b.jsx)(u.default,{href:`/projects/${a.slug}/linear?settings=true`,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,b.jsx)(t.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a.slug}/automations`,className:`workspace-sidebar__nav-item ${r?"workspace-sidebar__nav-item--active":""}`,"aria-current":r?"page":void 0,children:[(0,b.jsx)(j.Zap,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Scheduled Tasks"})]})}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:m?(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${p?"workspace-sidebar__nav-item--active":""}`,onClick:()=>A(m),"aria-current":p?"page":void 0,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]}):(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:aM,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]})}),(0,b.jsxs)("div",{className:"pt-1",children:[(0,b.jsxs)("div",{className:"group/repos-header flex items-center justify-between px-3 py-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Folders"}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>ax({projectId:a.id,projectName:a.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add folder",title:"Add folder",children:(0,b.jsx)(o.Plus,{size:12})})]}),a.repos.length>0?a.repos.map(c=>(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item min-w-0 flex-1 text-left",onClick:()=>ax({projectId:a.id,projectName:a.name,repoId:c.id,name:c.name,path:c.path||"",gitUrl:c.git_url||"",notes:c.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,b.jsx)(l.FolderGit2,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)] ml-2"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:c.name})]}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-[var(--muted-foreground)] hover:text-red-400",onClick:async b=>{b.stopPropagation();let d=a.repos.filter(a=>a.id!==c.id).map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}));await O?.(a.id,{repos:d})},"aria-label":"Delete folder",title:"Delete folder",children:(0,b.jsx)(q.Trash2,{size:12})})]},`${a.id}:${c.name}:${c.path??""}`)):(0,b.jsx)("p",{className:"px-3 py-1 text-[11px] text-[var(--muted-foreground)]",children:"No folders"})]}),(0,b.jsxs)("div",{className:"pt-1",children:[(0,b.jsxs)("div",{className:"group/agents-header flex items-center justify-between px-3 py-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Agents"}),a.agents.length>0&&(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>aC(a.id),"aria-label":"Add agents",title:"Add agents",children:(0,b.jsx)(o.Plus,{size:12})})]}),a.agents.length>0?(0,b.jsx)(b.Fragment,{children:a.agents.map((c,d)=>{let e=h.find(a=>a.id===c.agent_id),f=ay?.projectId===a.id&&ay?.agentId===c.agent_id,g=ay?.projectId===a.id&&ay?.overIndex===d&&!f;return(0,b.jsx)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.effectAllowed="move",az({projectId:a.id,agentId:c.agent_id,overIndex:d})},onDragOver:b=>{b.preventDefault(),ay&&ay.projectId===a.id&&az(a=>a?{...a,overIndex:d}:null)},onDragEnd:()=>{if(ay&&ay.projectId===a.id&&T){let b=a.agents.map(a=>a.agent_id),c=b.indexOf(ay.agentId),d=ay.overIndex;if(-1!==c&&c!==d){let e=[...b],[f]=e.splice(c,1);e.splice(d,0,f),T(a.id,e)}}az(null)},className:`group/agent flex items-center ${g?"border-t-2 border-[var(--border)]":"border-t-2 border-transparent"} ${f?"opacity-40":""}`,children:(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item flex-1 min-w-0 !py-1",onClick:()=>au(c.agent_id),children:[(0,b.jsx)("span",{className:`cursor-grab text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] flex-shrink-0 mr-0.5 transition-opacity ${0===d?"opacity-100":"opacity-0 group-hover/agent:opacity-100"}`,title:"Drag to reorder",children:"⠿"}),(0,b.jsx)("img",{src:(0,v.agentAvatarUrl)(c.agent_id,16,e?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:e?.name??c.agent_id}),0===d&&(0,b.jsx)("span",{className:"ml-auto text-[9px] text-[var(--muted-foreground)] font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},c.agent_id)})}):(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-3 py-1 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>aC(a.id),children:[(0,b.jsx)(o.Plus,{size:10}),(0,b.jsx)("span",{children:"Add agents"})]})]})]})]},a.id)}),aL.length>0&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Unassigned Threads"}),aL.map(a=>{let c=a.id===x,d=a.title?.trim()||"Untitled thread";return(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${c?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>A(a.id),"aria-current":c?"page":void 0,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title",children:d})]})},a.id)})]})]})]}),(0,b.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,b.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:[(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),_&&aw&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{aw.isSaving||ax(null)},children:(0,b.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:aw.projectName}),(0,b.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:aw.repoId?aw.name||"Folder":"Add Folder"})]}),(0,b.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{aw.isSaving||ax(null)},"aria-label":"Close folder details",disabled:aw.isSaving,children:(0,b.jsx)(r.X,{size:16})})]}),(0,b.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{value:aw.name,onChange:a=>ax(b=>b?{...b,name:a.target.value,error:null}:b),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:aw.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:aw.path,onChange:a=>ax(b=>b?{...b,path:a.target.value,error:null}:b),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:aw.isSaving,placeholder:"Local path to folder"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:aw.isSaving,onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&ax(a=>a?{...a,path:b.path,error:null}:a)}catch{}},children:"Browse"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,b.jsx)("textarea",{value:aw.notes,onChange:a=>ax(b=>b?{...b,notes:a.target.value,error:null}:b),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:aw.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),aw.repoId?(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),aw.isLoadingKnowledge?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):aw.generatedKnowledge.length>0?(0,b.jsx)("div",{className:"space-y-2",children:aw.generatedKnowledge.slice(0,5).map(a=>(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,aw.error?(0,b.jsx)("p",{className:"text-xs text-red-600",children:aw.error}):null,(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,b.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>ax(null),disabled:aw.isSaving,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:aw.isSaving||!O,onClick:async()=>{let a=M.find(a=>a.id===aw.projectId);if(!a)return void ax(a=>a?{...a,error:"Project not found."}:a);let b=aw.name.trim(),c=aw.path.trim();if(!b)return void ax(a=>a?{...a,error:"Folder name is required."}:a);if(!c)return void ax(a=>a?{...a,error:"Folder path is required."}:a);ax(a=>a?{...a,isSaving:!0,error:null}:a);try{let d=aw.repoId?a.repos.map(a=>a.id===aw.repoId?{id:a.id,name:b,path:c,git_url:aw.gitUrl.trim()||void 0,notes:aw.notes.trim()||void 0}:{id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}):[...a.repos.map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes})),{name:b,path:c,git_url:aw.gitUrl.trim()||void 0,notes:aw.notes.trim()||void 0}];await O?.(a.id,{repos:d}),ax(null)}catch(a){ax(b=>b?{...b,isSaving:!1,error:a instanceof Error?a.message:"Failed to save folder details."}:b)}},children:aw.isSaving?"Saving...":aw.repoId?"Save":"Add Folder"})]})]})]})}),document.body),_&&ad&&!ah&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ae(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",aD?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ae(null),children:(0,b.jsx)(r.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>ai(!0),children:[(0,b.jsx)(o.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===aF.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):aF.map(a=>{let c=af.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{ag(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${c?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,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:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("img",{src:(0,v.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name}),(0,b.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:a.model})]})]},a.id)})]}),aF.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ae(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===af.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let a of af)Q?.(ad.projectId,a);ae(null)},children:["Add ",af.size>0?`(${af.size})`:""]})]})]})}),document.body),_&&ah&&(0,d.createPortal)((0,b.jsx)(v.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:M?.filter(a=>!a.is_default).map(b=>{let c=(b.thread_ids??[]).map(b=>a.find(a=>a.id===b)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:b.id,name:b.name,label:`${c} › ${b.name}`}}),initialProjectIds:ad?[ad.projectId]:[],onSubmit:async(a,b)=>{let c=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],d=c[h.length%c.length],e=a.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),f=b?.[0],g=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,name:a.name,provider:a.provider,model:a.model,color:a.color??d,...a.title?{title:a.title}:{},...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[],...f?{projectId:f}:{}})});if(g.ok){let a=await g.json().catch(()=>({})),c="string"==typeof a?.id&&a.id.trim()?a.id.trim():e;for(let a of(b??[]).slice(1))Q?.(a,c);ai(!1),ae(null)}},onCancel:()=>{ai(!1)}}),document.body),_&&ao&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ap(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ao.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ap(null),children:(0,b.jsx)(r.X,{size:16})})]}),(0,b.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.get("value")?.trim();c&&(ao.onSubmit(c),ap(null))},children:[(0,b.jsx)("input",{ref:aq,name:"value",type:"text",defaultValue:ao.defaultValue,placeholder:ao.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ap(null),children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:ao.defaultValue?"Save":"Create"})]})]})]})}),document.body),_&&ar&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>as(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ar.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>as(null),children:(0,b.jsx)(r.X,{size:16})})]}),(0,b.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:ar.message}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>as(null),children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{ar.onConfirm(),as(null)},children:"Delete"})]})]})]})}),document.body),_&&(aj||al)&&(0,d.createPortal)((0,b.jsx)(w.default,{isOpen:!0,onClose:()=>{an.resetForm(),ak(null),am(null)},onSubmit:()=>void aA(),editingProject:al,form:an.form,repos:an.repos,isSubmitting:an.isSubmitting,formError:an.formError,onFieldChange:(a,b)=>an.setForm(c=>({...c,[a]:b})),onRepoChange:an.handleRepoChange,onAddRepo:an.addRepo,onRemoveRepo:an.removeRepo}),document.body),_&&av&&(0,d.createPortal)((Y=M.filter(a=>a.agents.some(a=>a.agent_id===av.id)),Z=M.filter(a=>!a.agents.some(a=>a.agent_id===av.id)),(0,b.jsx)(v.AgentForm,{title:"Edit agent",initial:{name:av.name,title:av.title||"",provider:av.provider,model:av.model||"",identity:av.identity||"",color:av.color,skills:av.skills||[],skillBindings:av.skillBindings||[]},agentId:av.id,submitLabel:"Save",projectMemberships:{current:Y.map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:Z.map(a=>({id:a.id,name:a.name}))},onAddToProject:Q?a=>Q(a,av.id):void 0,onRemoveFromProject:R?a=>R(a,av.id):void 0,onSubmit:async a=>{U&&await U({...av,name:a.name,title:a.title||void 0,provider:a.provider,model:a.model,color:a.color??av.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[]}),au(null)},onCancel:()=>au(null)})),document.body)]}):(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand",children:(0,b.jsx)("button",{type:"button",onClick:K,className:"workspace-sidebar__brand-icon border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,b.jsx)("span",{className:"text-[10px]",children:"AGX"})})}),(0,b.jsx)("div",{className:"mt-auto p-2",children:(0,b.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}a.s(["WorkspaceSidebar",()=>x],986976);let y={threadSidebarVisible:!1};function z(){return({...y}).threadSidebarVisible}function A(a){}a.s(["loadWorkspaceSidebarVisible",()=>z,"persistWorkspaceSidebarVisible",()=>A],655672)}];
1
+ module.exports=[986976,655672,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(935112),e=a.i(405784),f=a.i(50522),g=a.i(2835),h=a.i(501027),i=a.i(492596),j=a.i(734531);let k=(0,a.i(883706).default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var l=a.i(699464),m=a.i(915618),n=a.i(587532),o=a.i(781560),p=a.i(633508),q=a.i(860614),r=a.i(321161),s=a.i(238246),t=a.i(520138),u=a.i(18984);function v({threads:a,participants:v=[],activeThreadId:w,isLoading:x,isCreating:y,onSelectThread:z,onCreateThread:A,onRenameThread:B,onDeleteThread:C,deletingThreadId:D=null,renamingThreadId:E=null,activeParticipantIds:F=[],onToggleParticipantActive:G,visible:H=!1,isRestoringActiveThread:I=!1,onToggle:J,onSearch:K,projects:L=[],onCreateProject:M,onUpdateProject:N,onDeleteProject:O,onAddAgentToProject:P,onRemoveAgentFromProject:Q,onAddAgentViaForm:R,onReorderProjectAgents:S,onUpdateParticipant:T,onSelectProject:U,activeProjectId:V=null,activeProjectView:W=null}){let X,Y,Z=(0,c.useRef)(null),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{if(aa.size>0||!L?.length)return;let a=L.find(a=>!1);ab(new Set([a?.id??L[0].id]))},[L]);let[ac,ad]=(0,c.useState)(null),[ae,af]=(0,c.useState)(new Set),[ag,ah]=(0,c.useState)(!1),[ai,aj]=(0,c.useState)(null),[ak,al]=(0,c.useState)(null),am=(0,u.useProjectFormState)(),[an,ao]=(0,c.useState)(null),ap=(0,c.useCallback)(a=>{a&&(a.focus(),a.select())},[]),[aq,ar]=(0,c.useState)(null),[as,at]=(0,c.useState)(null),au=as?v.find(a=>a.id===as)??null:null,[av,aw]=(0,c.useState)(null),[ax,ay]=(0,c.useState)(null),az=async()=>{if(!ai&&!ak)return;if(!am.form.name.trim())return void am.setFormError("Project name is required");let a=am.repos.find(a=>a.name.trim()&&!a.path.trim());if(a)return void am.setFormError(`Local path is required for folder "${a.name}"`);am.setFormError(null),am.setIsSubmitting(!0);let b=(0,u.createProjectPayload)(am.form,am.repos);ak?await N?.(ak.id,b):await M?.(b,ai?.threadId),am.setIsSubmitting(!1),aj(null),al(null)},aA=async a=>{am.resetForm();try{let b=await fetch(`/api/projects/${a}`);if(!b.ok)throw Error("Failed to load project");let c=(await b.json()).project;al(c),am.hydrateFromProject(c)}catch(a){console.error("Failed to load project settings",a)}};(0,c.useEffect)(()=>{_(!0)},[]),(0,c.useEffect)(()=>{let a=!1;async function b(){if(av?.repoId)try{let b=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(av.repoId)}`),c=(b.ok?await b.json():{note:null}).note;a||aw(a=>a&&a.repoId===av.repoId?{...a,generatedKnowledge:c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt}]:[],isLoadingKnowledge:!1}:a)}catch{a||aw(a=>a&&a.repoId===av.repoId?{...a,generatedKnowledge:[],isLoadingKnowledge:!1}:a)}}return av?.repoId&&b(),()=>{a=!0}},[av?.repoId]);let aB=a=>{R?R(a):(af(new Set),ad({projectId:a}))},aC=ac?L.find(a=>a.id===ac.projectId):null,aD=new Set(aC?.agents.map(a=>a.agent_id)??[]),aE=ac?v.filter(a=>!aD.has(a.id)):[],aF=a.length>0,aG=!!H,aH=[...a].sort((a,b)=>(a.title??"").localeCompare(b.title??"")),aI=new Map(a.map(a=>[a.id,a])),aJ=L.filter(a=>!a.is_default),aK=aH.filter(a=>!aJ.some(b=>b.thread_ids?.includes(a.id)));!function({focusTarget:a,shouldFocus:b}){(0,c.useEffect)(()=>{if(!b||"u"<typeof document)return;let c=a.current;if(!c||c instanceof HTMLButtonElement&&c.disabled)return;let d=document.activeElement;if(!(d&&(c===d||c.contains(d))))try{c.focus({preventScroll:!0})}catch{c.focus()}},[a,b])}({focusTarget:Z,shouldFocus:aG&&!(x&&!aF||I&&aF)&&!aF&&!y});let aL=()=>{ao({title:"Create chat",placeholder:"Chat title",defaultValue:"",onSubmit:a=>void A({title:a})})};return aG?(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":x?"true":void 0,children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand-content flex items-center gap-2 px-1",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand-icon","aria-hidden":"true",children:(0,b.jsx)("span",{className:"text-[10px]",children:"AGX"})}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-title",children:"Workspace"})]}),J&&(0,b.jsx)("button",{type:"button",onClick:J,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,b.jsx)(k,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__content",children:[K&&(0,b.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,b.jsxs)("button",{type:"button",onClick:K,className:"flex h-8 w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 text-xs text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] hover:text-[var(--app-shell-muted)]",children:[(0,b.jsx)(n.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Search..."}),(0,b.jsx)("kbd",{className:"ml-auto rounded border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1 py-0.5 font-sans text-[10px] font-medium text-[var(--app-shell-soft-text)]",children:"⌘K"})]})}),(0,b.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__section-header group/projects-header",children:[(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,b.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/projects-header:opacity-100",onClick:()=>{am.resetForm(),al(null),aj({})},"aria-label":"Create project",title:"Create project",children:(0,b.jsx)(m.Plus,{size:14})})})]}),aJ.map(a=>{let c=aa.has(a.id),d=aH.filter(b=>a.thread_ids?.includes(b.id)),k=a.id===V,n=a.thread_ids?.find(a=>aI.has(a))??a.thread_ids?.[0]??d[0]?.id??null,p=k&&"thread"===W&&n===w,u=k&&"automations"===W,x=k&&"linear"===W;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",children:[(0,b.jsx)("button",{type:"button",className:"inline-flex items-center justify-center rounded-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>{var b;return b=a.id,void ab(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},"aria-label":c?`Collapse ${a.name}`:`Expand ${a.name}`,title:c?"Collapse project":"Expand project",children:c?(0,b.jsx)(e.ChevronDown,{size:14,className:"flex-shrink-0"}):(0,b.jsx)(f.ChevronRight,{size:14,className:"flex-shrink-0"})}),(0,b.jsx)(i.Folder,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a.name})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void aA(a.id),"aria-label":`Open project settings for ${a.name}`,title:"Project settings",children:(0,b.jsx)(l.Pencil,{size:12})}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var b;let c;return b=a.id,c=L.find(a=>a.id===b),void ar({title:"Delete project",message:`Delete "${c?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void O?.(b)})},"aria-label":`Delete project ${a.name}`,title:`Delete project ${a.name}`,children:(0,b.jsx)(o.Trash2,{size:12})})]})]}),c&&(0,b.jsxs)("div",{className:"ml-4 my-1 flex flex-col gap-0.5 border-l border-[var(--app-shell-border)] pl-3",children:[(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,b.jsxs)(s.default,{href:`/projects/${a.slug}/linear`,className:`workspace-sidebar__nav-item flex-1 ${x?"workspace-sidebar__nav-item--active":""}`,"aria-current":x?"page":void 0,children:[(0,b.jsx)(q.ExternalLink,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Linear"})]}),(0,b.jsx)(s.default,{href:`/projects/${a.slug}/linear?settings=true`,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,b.jsx)(r.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(s.default,{href:`/projects/${a.slug}/automations`,className:`workspace-sidebar__nav-item ${u?"workspace-sidebar__nav-item--active":""}`,"aria-current":u?"page":void 0,children:[(0,b.jsx)(h.Zap,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Scheduled Tasks"})]})}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:n?(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${p?"workspace-sidebar__nav-item--active":""}`,onClick:()=>z(n),"aria-current":p?"page":void 0,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]}):(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:aL,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]})}),(0,b.jsxs)("div",{className:"pt-1",children:[(0,b.jsxs)("div",{className:"group/repos-header flex items-center justify-between px-3 py-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Folders"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.default,{href:"/folders",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white","aria-label":"Manage folders",title:"Manage folders",children:(0,b.jsx)(r.Settings,{size:12})}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>aw({projectId:a.id,projectName:a.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add folder",title:"Add folder",children:(0,b.jsx)(m.Plus,{size:12})})]})]}),a.repos.length>0?a.repos.map(c=>(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item min-w-0 flex-1 text-left",onClick:()=>aw({projectId:a.id,projectName:a.name,repoId:c.id,name:c.name,path:c.path||"",gitUrl:c.git_url||"",notes:c.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,b.jsx)(j.FolderGit2,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)] ml-2"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:c.name})]}),(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-[var(--muted-foreground)] hover:text-red-400",onClick:async b=>{b.stopPropagation();let d=a.repos.filter(a=>a.id!==c.id).map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}));await N?.(a.id,{repos:d})},"aria-label":"Delete folder",title:"Delete folder",children:(0,b.jsx)(o.Trash2,{size:12})})]},`${a.id}:${c.name}:${c.path??""}`)):(0,b.jsx)("p",{className:"px-3 py-1 text-[11px] text-[var(--muted-foreground)]",children:"No folders"})]}),(0,b.jsxs)("div",{className:"pt-1",children:[(0,b.jsxs)("div",{className:"group/agents-header flex items-center justify-between px-3 py-1",children:[(0,b.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Agents"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.default,{href:"/agents",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white","aria-label":"Manage agents",title:"Manage agents",children:(0,b.jsx)(r.Settings,{size:12})}),a.agents.length>0&&(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>aB(a.id),"aria-label":"Add agents",title:"Add agents",children:(0,b.jsx)(m.Plus,{size:12})})]})]}),a.agents.length>0?(0,b.jsx)(b.Fragment,{children:a.agents.map((c,d)=>{let e=v.find(a=>a.id===c.agent_id),f=ax?.projectId===a.id&&ax?.agentId===c.agent_id,g=ax?.projectId===a.id&&ax?.overIndex===d&&!f;return(0,b.jsx)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.effectAllowed="move",ay({projectId:a.id,agentId:c.agent_id,overIndex:d})},onDragOver:b=>{b.preventDefault(),ax&&ax.projectId===a.id&&ay(a=>a?{...a,overIndex:d}:null)},onDragEnd:()=>{if(ax&&ax.projectId===a.id&&S){let b=a.agents.map(a=>a.agent_id),c=b.indexOf(ax.agentId),d=ax.overIndex;if(-1!==c&&c!==d){let e=[...b],[f]=e.splice(c,1);e.splice(d,0,f),S(a.id,e)}}ay(null)},className:`group/agent flex items-center ${g?"border-t-2 border-[var(--border)]":"border-t-2 border-transparent"} ${f?"opacity-40":""}`,children:(0,b.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item flex-1 min-w-0 !py-1",onClick:()=>at(c.agent_id),children:[(0,b.jsx)("span",{className:`cursor-grab text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] flex-shrink-0 mr-0.5 transition-opacity ${0===d?"opacity-100":"opacity-0 group-hover/agent:opacity-100"}`,title:"Drag to reorder",children:"⠿"}),(0,b.jsx)("img",{src:(0,t.agentAvatarUrl)(c.agent_id,16,e?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:e?.name??c.agent_id}),0===d&&(0,b.jsx)("span",{className:"ml-auto text-[9px] text-[var(--muted-foreground)] font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},c.agent_id)})}):(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-3 py-1 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>aB(a.id),children:[(0,b.jsx)(m.Plus,{size:10}),(0,b.jsx)("span",{children:"Add agents"})]})]})]})]},a.id)}),aK.length>0&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Unassigned Threads"}),aK.map(a=>{let c=a.id===w,d=a.title?.trim()||"Untitled thread";return(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${c?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>z(a.id),"aria-current":c?"page":void 0,children:[(0,b.jsx)(g.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title",children:d})]})},a.id)})]})]})]}),(0,b.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,b.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:[(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),$&&av&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{av.isSaving||aw(null)},children:(0,b.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:av.projectName}),(0,b.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:av.repoId?av.name||"Folder":"Add Folder"})]}),(0,b.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{av.isSaving||aw(null)},"aria-label":"Close folder details",disabled:av.isSaving,children:(0,b.jsx)(p.X,{size:16})})]}),(0,b.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{value:av.name,onChange:a=>aw(b=>b?{...b,name:a.target.value,error:null}:b),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:av.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:av.path,onChange:a=>aw(b=>b?{...b,path:a.target.value,error:null}:b),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:av.isSaving,placeholder:"Local path to folder"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:av.isSaving,onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&aw(a=>a?{...a,path:b.path,error:null}:a)}catch{}},children:"Browse"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,b.jsx)("textarea",{value:av.notes,onChange:a=>aw(b=>b?{...b,notes:a.target.value,error:null}:b),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:av.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),av.repoId?(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),av.isLoadingKnowledge?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):av.generatedKnowledge.length>0?(0,b.jsx)("div",{className:"space-y-2",children:av.generatedKnowledge.slice(0,5).map(a=>(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,av.error?(0,b.jsx)("p",{className:"text-xs text-red-600",children:av.error}):null,(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,b.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>aw(null),disabled:av.isSaving,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:av.isSaving||!N,onClick:async()=>{let a=L.find(a=>a.id===av.projectId);if(!a)return void aw(a=>a?{...a,error:"Project not found."}:a);let b=av.name.trim(),c=av.path.trim();if(!b)return void aw(a=>a?{...a,error:"Folder name is required."}:a);if(!c)return void aw(a=>a?{...a,error:"Folder path is required."}:a);aw(a=>a?{...a,isSaving:!0,error:null}:a);try{let d=av.repoId?a.repos.map(a=>a.id===av.repoId?{id:a.id,name:b,path:c,git_url:av.gitUrl.trim()||void 0,notes:av.notes.trim()||void 0}:{id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}):[...a.repos.map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes})),{name:b,path:c,git_url:av.gitUrl.trim()||void 0,notes:av.notes.trim()||void 0}];await N?.(a.id,{repos:d}),aw(null)}catch(a){aw(b=>b?{...b,isSaving:!1,error:a instanceof Error?a.message:"Failed to save folder details."}:b)}},children:av.isSaving?"Saving...":av.repoId?"Save":"Add Folder"})]})]})]})}),document.body),$&&ac&&!ag&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ad(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",aC?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ad(null),children:(0,b.jsx)(p.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>ah(!0),children:[(0,b.jsx)(m.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===aE.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):aE.map(a=>{let c=ae.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{af(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c})},children:[(0,b.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${c?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,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:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("img",{src:(0,t.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name}),(0,b.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:a.model})]})]},a.id)})]}),aE.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ad(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===ae.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let a of ae)P?.(ac.projectId,a);ad(null)},children:["Add ",ae.size>0?`(${ae.size})`:""]})]})]})}),document.body),$&&ag&&(0,d.createPortal)((0,b.jsx)(t.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:L?.filter(a=>!a.is_default).map(b=>{let c=(b.thread_ids??[]).map(b=>a.find(a=>a.id===b)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:b.id,name:b.name,label:`${c} › ${b.name}`}}),initialProjectIds:ac?[ac.projectId]:[],onSubmit:async(a,b)=>{let c=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],d=c[v.length%c.length],e=a.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),f=b?.[0],g=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,name:a.name,provider:a.provider,model:a.model,color:a.color??d,...a.title?{title:a.title}:{},...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[],...f?{projectId:f}:{}})});if(g.ok){let a=await g.json().catch(()=>({})),c="string"==typeof a?.id&&a.id.trim()?a.id.trim():e;for(let a of(b??[]).slice(1))P?.(a,c);ah(!1),ad(null)}},onCancel:()=>{ah(!1)}}),document.body),$&&an&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ao(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:an.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ao(null),children:(0,b.jsx)(p.X,{size:16})})]}),(0,b.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.get("value")?.trim();c&&(an.onSubmit(c),ao(null))},children:[(0,b.jsx)("input",{ref:ap,name:"value",type:"text",defaultValue:an.defaultValue,placeholder:an.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ao(null),children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:an.defaultValue?"Save":"Create"})]})]})]})}),document.body),$&&aq&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ar(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:aq.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ar(null),children:(0,b.jsx)(p.X,{size:16})})]}),(0,b.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:aq.message}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ar(null),children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{aq.onConfirm(),ar(null)},children:"Delete"})]})]})]})}),document.body),$&&(ai||ak)&&(0,d.createPortal)((0,b.jsx)(u.default,{isOpen:!0,onClose:()=>{am.resetForm(),aj(null),al(null)},onSubmit:()=>void az(),editingProject:ak,form:am.form,repos:am.repos,isSubmitting:am.isSubmitting,formError:am.formError,onFieldChange:(a,b)=>am.setForm(c=>({...c,[a]:b})),onRepoChange:am.handleRepoChange,onAddRepo:am.addRepo,onRemoveRepo:am.removeRepo}),document.body),$&&au&&(0,d.createPortal)((X=L.filter(a=>a.agents.some(a=>a.agent_id===au.id)),Y=L.filter(a=>!a.agents.some(a=>a.agent_id===au.id)),(0,b.jsx)(t.AgentForm,{title:"Edit agent",initial:{name:au.name,title:au.title||"",provider:au.provider,model:au.model||"",identity:au.identity||"",color:au.color,skills:au.skills||[],skillBindings:au.skillBindings||[]},agentId:au.id,submitLabel:"Save",projectMemberships:{current:X.map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:Y.map(a=>({id:a.id,name:a.name}))},onAddToProject:P?a=>P(a,au.id):void 0,onRemoveFromProject:Q?a=>Q(a,au.id):void 0,onSubmit:async a=>{T&&await T({...au,name:a.name,title:a.title||void 0,provider:a.provider,model:a.model,color:a.color??au.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[]}),at(null)},onCancel:()=>at(null)})),document.body)]}):(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand",children:(0,b.jsx)("button",{type:"button",onClick:J,className:"workspace-sidebar__brand-icon border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,b.jsx)("span",{className:"text-[10px]",children:"AGX"})})}),(0,b.jsx)("div",{className:"mt-auto p-2",children:(0,b.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}a.s(["WorkspaceSidebar",()=>v],986976);let w={threadSidebarVisible:!1};function x(){return({...w}).threadSidebarVisible}function y(a){}a.s(["loadWorkspaceSidebarVisible",()=>x,"persistWorkspaceSidebarVisible",()=>y],655672)}];
2
2
 
3
3
  //# sourceMappingURL=components_thread_WorkspaceSidebar_tsx_e660301b._.js.map
@@ -1,4 +1,4 @@
1
1
  var R=require("./chunks/[turbopack]_runtime.js")("server/instrumentation.js")
2
- R.c("server/chunks/_a93e80e8._.js")
2
+ R.c("server/chunks/_4d07f8db._.js")
3
3
  R.m(769449)
4
4
  module.exports=R.m(769449).exports