@mndrk/agx 2.0.47 → 2.0.49

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 (486) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  3. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  4. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  5. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  13. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  25. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  26. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  27. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  33. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +13 -7
  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/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +3 -3
  59. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +2 -2
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +14 -6
  102. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +13 -5
  104. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +3 -4
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +3 -4
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +3 -4
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +3 -4
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +3 -4
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +3 -4
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +4 -5
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +2 -2
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  175. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  176. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  177. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  179. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  184. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  187. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  188. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  195. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  196. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  201. package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  203. package/cloud-runtime/standalone/.next/server/app/folders.html +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/folders.rsc +3 -3
  205. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  206. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  208. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  212. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  213. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  214. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  215. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  218. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  235. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  240. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  241. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  250. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  266. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  267. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  272. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  273. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  274. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  275. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  276. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  277. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  278. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  280. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  282. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  284. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  285. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  286. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  287. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  288. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  289. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  291. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  292. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
  293. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a300f072._.js → [root-of-the-server]__02a4a323._.js} +2 -2
  294. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__05dedbe1._.js +64 -0
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4ce74056._.js → [root-of-the-server]__05f0bfbf._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c22dd3a6._.js → [root-of-the-server]__08c82fe8._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fae531a._.js → [root-of-the-server]__09e37b59._.js} +2 -2
  298. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1a1f66b1._.js → [root-of-the-server]__0e83aabc._.js} +2 -2
  299. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__27da58f0._.js +67 -0
  300. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9ffa67b7._.js → [root-of-the-server]__2ae8b938._.js} +2 -2
  301. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2cfd21b8._.js +108 -0
  302. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
  303. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
  304. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f9f7f2df._.js → [root-of-the-server]__3c1403f2._.js} +2 -2
  305. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__143fdf69._.js → [root-of-the-server]__40e9e2e8._.js} +2 -2
  306. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42e602eb._.js +49 -0
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a7b2350e._.js → [root-of-the-server]__456840d0._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5c2848bb._.js +64 -0
  309. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__667c658f._.js +52 -0
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a92b882._.js +49 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c9baa7c._.js +64 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c21747df._.js → [root-of-the-server]__719eddc2._.js} +2 -2
  313. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__36d15de5._.js → [root-of-the-server]__7ee3dfe1._.js} +2 -2
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d324f8a1._.js → [root-of-the-server]__80964fad._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__bab85495._.js → [root-of-the-server]__862cf77d._.js} +2 -2
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a280fa63._.js → [root-of-the-server]__8b5b9860._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3170b7bf._.js → [root-of-the-server]__8d475640._.js} +2 -2
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__958dded3._.js +49 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ab655b9f._.js → [root-of-the-server]__96c424d5._.js} +2 -2
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5c55f67a._.js → [root-of-the-server]__976ebe46._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__179cb224._.js → [root-of-the-server]__a1cab8fe._.js} +2 -2
  322. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__20a2cb22._.js → [root-of-the-server]__a31dd756._.js} +9 -9
  323. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a3955224._.js → [root-of-the-server]__ad53dc3f._.js} +17 -17
  324. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ac6326b6._.js → [root-of-the-server]__b8eeb177._.js} +2 -2
  325. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcfa3690._.js → [root-of-the-server]__c10e827d._.js} +2 -2
  326. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e58e9f91._.js → [root-of-the-server]__c11e0040._.js} +2 -2
  327. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c40b6f69._.js +49 -0
  328. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c7d3c7ab._.js +52 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__cdc52544._.js +49 -0
  330. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8cbd8c56._.js → [root-of-the-server]__d1c698b6._.js} +12 -12
  331. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9ea98bd._.js +52 -0
  332. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ef27f8cd._.js → [root-of-the-server]__df886e3c._.js} +2 -2
  333. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ca4987eb._.js → [root-of-the-server]__e0b6f424._.js} +2 -2
  334. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8890cd6._.js → [root-of-the-server]__f43ecbc2._.js} +13 -13
  335. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f51c7b72._.js +5 -0
  336. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f662fd1e._.js +20 -0
  337. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__538b0bdd._.js → [root-of-the-server]__f961230c._.js} +2 -2
  338. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b627cb83._.js → [root-of-the-server]__feec5b54._.js} +2 -2
  339. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d16caed5._.js → [root-of-the-server]__ff6ce4b1._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9ce15e._.js +5 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/_26ffc857._.js +121 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +1 -1
  343. package/cloud-runtime/standalone/.next/server/chunks/_66d0cf73._.js +6 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/_9b10087f._.js +3 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/_a13c0bef._.js +121 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/{lib_98ae187c._.js → lib_2cd3429c._.js} +2 -2
  347. package/cloud-runtime/standalone/.next/server/chunks/lib_a2a83df5._.js +55 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/lib_a658c9ef._.js +34 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/lib_ba38ea08._.js +55 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js +27 -29
  351. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +6 -102
  352. package/cloud-runtime/standalone/.next/server/chunks/src_graph_schedule-runner_ts_43a13c69._.js +13 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
  357. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d96bb3b5._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
  359. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
  361. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
  362. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
  367. package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
  371. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
  372. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
  376. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  377. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  378. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
  379. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  380. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  381. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  382. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  383. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  384. package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
  385. package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
  386. package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
  387. package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
  388. package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
  389. package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
  390. package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
  391. package/cloud-runtime/standalone/.next/static/chunks/5545da2ad239c0b6.js +3 -0
  392. package/cloud-runtime/standalone/.next/static/chunks/{41c518743656a291.js → 5f33b52d582b0bb4.js} +1 -1
  393. package/cloud-runtime/standalone/.next/static/chunks/{97c11137cd6fc860.js → 64c2961edd3a3b13.js} +1 -1
  394. package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
  395. package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
  396. package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
  397. package/cloud-runtime/standalone/.next/static/chunks/{4343e7fe5bf5f34a.js → 9328740727c6456d.js} +1 -1
  398. package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
  399. package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
  400. package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
  401. package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
  402. package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
  403. package/cloud-runtime/standalone/.next/static/chunks/{31fe4e36a00fd7b5.js → f8706212baa8ec67.js} +1 -1
  404. package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
  405. package/cloud-runtime/standalone/app/api/chat/route.ts +5 -163
  406. package/cloud-runtime/standalone/app/api/schedules/route.ts +11 -2
  407. package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
  408. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
  409. package/cloud-runtime/standalone/components/LinearBoard.tsx +118 -21
  410. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -13
  411. package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
  412. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +35 -0
  413. package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
  414. package/cloud-runtime/standalone/lib/chat/project-context.ts +169 -0
  415. package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
  416. package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
  417. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +2 -0
  418. package/cloud-runtime/standalone/lib/orchestrator/schedule-runtime.ts +76 -0
  419. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +201 -16
  420. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +128 -35
  421. package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
  422. package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
  423. package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
  424. package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
  425. package/cloud-runtime/standalone/state/windowState.ts +21 -0
  426. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  427. package/cloud-runtime/standalone/vault/agx/issues/ESO-327/design-doc.md +202 -0
  428. package/cloud-runtime/standalone/worker/index.js +34516 -1717
  429. package/cloud-runtime/standalone/worker/index.ts +3 -0
  430. package/package.json +1 -1
  431. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
  432. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__152b2000._.js +0 -61
  433. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__33865410._.js +0 -3
  434. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c53437e._.js +0 -110
  435. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6dbe939c._.js +0 -49
  436. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7012e83d._.js +0 -66
  437. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
  438. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
  439. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da645a5e._.js +0 -15
  440. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +0 -3
  441. package/cloud-runtime/standalone/.next/server/chunks/_2a5aeb76._.js +0 -3
  442. package/cloud-runtime/standalone/.next/server/chunks/_4689976f._.js +0 -6
  443. package/cloud-runtime/standalone/.next/server/chunks/_682c9d81._.js +0 -6
  444. package/cloud-runtime/standalone/.next/server/chunks/_6e7f0ae4._.js +0 -6
  445. package/cloud-runtime/standalone/.next/server/chunks/_a32a5cdd._.js +0 -6
  446. package/cloud-runtime/standalone/.next/server/chunks/_af7bd752._.js +0 -3
  447. package/cloud-runtime/standalone/.next/server/chunks/_fe32a267._.js +0 -3
  448. package/cloud-runtime/standalone/.next/server/chunks/lib_2492d514._.js +0 -55
  449. package/cloud-runtime/standalone/.next/server/chunks/lib_3c080873._.js +0 -34
  450. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +0 -70
  451. package/cloud-runtime/standalone/.next/server/chunks/src_graph_12d46a92._.js +0 -3
  452. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +0 -8
  453. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__21a9eaef._.js +0 -3
  454. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
  455. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ad05ace._.js +0 -3
  456. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
  457. package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
  458. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d949e96._.js +0 -3
  459. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32a156b6._.js +0 -3
  460. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43c091dc._.js +0 -3
  461. package/cloud-runtime/standalone/.next/server/chunks/ssr/_45175f47._.js +0 -3
  462. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4f0c544d._.js +0 -3
  463. package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
  464. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/_97f6a18e._.js +0 -3
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a511a014._.js +0 -3
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c3a3a829._.js +0 -3
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
  470. package/cloud-runtime/standalone/.next/static/chunks/14fff3c493ea9c54.js +0 -1
  471. package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
  472. package/cloud-runtime/standalone/.next/static/chunks/5405540470146645.js +0 -1
  473. package/cloud-runtime/standalone/.next/static/chunks/69f2db4b9996b9c1.js +0 -37
  474. package/cloud-runtime/standalone/.next/static/chunks/8aeb69ceb497ad85.css +0 -1
  475. package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
  476. package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
  477. package/cloud-runtime/standalone/.next/static/chunks/baf5d39d089efb87.js +0 -1
  478. package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
  479. package/cloud-runtime/standalone/.next/static/chunks/c78969fde5798275.js +0 -1
  480. package/cloud-runtime/standalone/.next/static/chunks/d3dc6fadb96ab3a2.js +0 -1
  481. package/cloud-runtime/standalone/.next/static/chunks/fdadad2379039dce.js +0 -3
  482. package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
  483. package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
  484. /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_buildManifest.js +0 -0
  485. /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_clientMiddlewareManifest.json +0 -0
  486. /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_ssgManifest.js +0 -0
@@ -8,6 +8,6 @@ ${a}`)}if(Z.hasFilePaths){let a=await aJ(Z.filePaths);a.contextPrefix&&f.push(a.
8
8
 
9
9
  ${b.join("\n\n")}
10
10
 
11
- `}(c);d&&f.push(d.trimEnd())}catch(a){console.error("Failed to load Linear issue mention context:",a)}let h=f.length>0?f.join("\n\n")+"\n\n":void 0,i=(0,aL.extractComposerRouting)(c,E);d&&$.pushEntry(d);let j=Y.attachmentIds.length>0?Y.attachmentIds:void 0,k=j?Y.getAttachmentMetas():void 0;a(e,10,j,k,E??void 0,h,i),_.commands.clearContent(),S([]),Y.clear(),Z.clearFilePaths(),U.close(),V.close(),X.close()},[_,U,V,l,a,Y,Z,R,X,$,I,t,E]),aj=U.isOpen&&U.filteredSuggestions.length>0;V.isOpen&&V.filteredCommands.length,W.isOpen&&W.suggestions.length,X.isOpen&&X.suggestions.length,aj&&U.filteredSuggestions[U.activeIndex];let ak=Y.staged.some(a=>"uploading"===a.status),al=!_||_.isEmpty,am=g.find(a=>a.id===E)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsx)(a9,{onDrop:Y.stageFiles,children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] shadow-[var(--shadow-sm)] focus-within:border-[var(--app-shell-border-strong)] focus-within:ring-1 focus-within:ring-[var(--ring)] transition-all flex flex-col rounded-2xl",children:[s&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${r?"border-orange-200/50 dark:border-orange-500/30":"border-gray-100 dark:border-gray-800/60"}`,children:[(0,b.jsx)("div",{className:`absolute inset-0 transition-opacity duration-700 ${r?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:r?"shipBgSweep 4s ease-in-out infinite":"none"}}),r&&(0,b.jsx)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(8)].map((a,c)=>(0,b.jsx)("div",{className:"absolute h-[1.5px] rounded-full",style:{top:`${12+10*c}%`,right:"-10%",width:`${20+c%3*15}%`,background:"linear-gradient(to left, transparent, var(--warning))",opacity:.3+c%3*.1,animation:`shipSpeedLine ${.8+c%4*.3}s ${.1*c}s ease-in-out infinite`}},c))}),(0,b.jsx)("div",{className:"relative px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:`p-1 rounded-md transition-all duration-300 ${r?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:r?{animation:"shipPulse 2s ease-in-out infinite"}:{},children:(0,b.jsx)(ac,{size:14})}),(0,b.jsx)("span",{className:`text-sm font-semibold transition-colors duration-300 ${r?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${r?"text-[var(--warning)] opacity-60":"text-[var(--app-shell-muted)] opacity-60"}`,children:"|"}),(0,b.jsx)("span",{className:`text-xs font-medium transition-colors duration-300 ${r?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:r?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!r),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-[var(--warning)] focus:ring-offset-2 focus:ring-offset-[var(--background)] ${r?"bg-[var(--warning)]":"bg-[var(--app-shell-border-strong)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-[var(--app-shell-elevated)] shadow-sm transition-transform duration-200 ${r?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[Y.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(a8,{attachments:Y.staged,onRemove:Y.remove,onRetry:Y.retry})}),(0,b.jsxs)("div",{className:"p-2 relative",children:[(0,b.jsx)("input",{ref:O,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(Y.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:aa,onPasteCapture:ab,children:[(0,b.jsx)(aq.EditorContent,{editor:_,className:"composer-editor"}),(0,b.jsx)(aZ,{isOpen:U.isOpen&&!V.isOpen,suggestions:U.filteredSuggestions,activeIndex:U.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:ad}),(0,b.jsx)(a$,{isOpen:V.isOpen,commands:V.filteredCommands,activeIndex:V.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:ah}),(0,b.jsx)(a4,{isOpen:W.isOpen,suggestions:W.suggestions,activeIndex:W.activeIndex,isLoading:W.isLoading,error:W.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?af(a):ae(a)},onAttachContents:W.onAttachContents}),(0,b.jsx)(a5,{isOpen:X.isOpen&&!V.isOpen&&!W.isOpen,suggestions:X.suggestions,activeIndex:X.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:ag})]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--app-shell-border)] transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:Q,className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors","aria-label":"Attach file",title:"Attach file",children:(0,b.jsx)(ba,{className:"h-4 w-4",strokeWidth:1.75})}),(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-[10px] font-semibold text-[var(--app-shell-muted)] uppercase tracking-wider mr-1",children:"Agents"}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:0===g.length?(0,b.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):g.map(a=>(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":E===a.id,onClick:()=>F(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),F(b=>b===a.id?null:a.id))},className:`relative w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--app-shell-elevated)] shadow-sm flex items-center justify-center overflow-visible shrink-0 transition-all cursor-pointer ${E===a.id?"-translate-y-0.5 ring-2 ring-[var(--ring)] ring-offset-1 ring-offset-[var(--background)]":"hover:-translate-y-0.5"}`,title:a.name,children:[(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"w-full h-full rounded-full object-cover"}),D&&(0,b.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2 h-2 border border-[var(--app-shell-elevated)] rounded-full ${"queued"===C?"bg-amber-400":"bg-emerald-400"}`})]},a.id))})]}),am&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:["Pinned: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:am.name})]})]}),t.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"relative",ref:N,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>M(a=>!a),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":L,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Repos"}),(0,b.jsx)(u.ChevronDown,{className:`h-3 w-3 transition-transform ${L?"rotate-180":""}`})]}),L&&(0,b.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:t.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":c,className:`composer-repo-dropdown__item ${c?"composer-repo-dropdown__item--selected":""}`,onClick:()=>K(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("span",{className:`w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0 transition-colors ${c?"bg-emerald-500 border-emerald-500 text-white":"border-[var(--app-shell-border-strong)]"}`,children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)})})]}),(A=(z=t.filter(a=>I.has(a.id))).slice(0,1),B=z.length-1,(0,b.jsxs)(b.Fragment,{children:[A.map(a=>(0,b.jsxs)("span",{className:"composer-repo-pill",title:a.path||a.name,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3 w-3 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{className:"composer-repo-pill__name",children:a.name}),(0,b.jsx)("button",{type:"button",className:"composer-repo-pill__remove",onClick:()=>K(b=>{let c=new Set(b);return c.delete(a.id),c}),"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(x.X,{className:"h-3 w-3"})})]},a.id)),B>0&&(0,b.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",B]})]}))]})]})]}),D?(0,b.jsx)("button",{type:"button",onClick:d,className:"flex items-center gap-2 bg-[var(--destructive-muted)] text-[var(--destructive)] border border-[var(--status-failed-border)] px-4 py-1.5 rounded-lg text-sm font-semibold hover:opacity-90 transition-colors",children:"Stop"}):(0,b.jsxs)("button",{type:"button",onClick:ai,disabled:al&&!Y.hasUploaded&&!Z.hasFilePaths||ak,className:"flex items-center gap-2 bg-[var(--primary)] hover:bg-[var(--primary-hover)] text-[var(--primary-foreground)] px-4 py-1.5 rounded-lg text-sm font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm",children:["Send",(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,b.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})]})]})]})]})}),(0,b.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-[var(--app-shell-muted)] px-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${"working"===C?"bg-emerald-400 animate-pulse":"queued"===C?"bg-amber-400":"bg-emerald-400"}`}),(0,b.jsx)("span",{children:"working"===C?"Working":"queued"===C?"Queued":"Ready"})]}),(0,b.jsxs)("span",{children:["Press ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," to send, ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Shift"})," + ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," for new line"]})]})]})})}var be=a.i(655672);let bf={activeParticipantIdsByThread:{}};function bg(a,b){let c=a.trim();if(c)({...bf}).activeParticipantIdsByThread[c]=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(b)}var bh=a.i(215040),bi=a.i(731626);function bj({isOpen:a,title:d,message:e,preview:f,confirmLabel:g="Confirm",cancelLabel:h="Cancel",variant:i="default",onConfirm:j,onCancel:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a){let a=setTimeout(()=>l.current?.focus(),50);return()=>clearTimeout(a)}},[a]);let n=(0,c.useCallback)(a=>{"Escape"===a.key&&k()},[k]);if(!a)return null;let o="danger"===i;return(0,b.jsxs)("div",{style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:a=>a.target===a.currentTarget&&k(),onKeyDown:n,className:"jsx-1da17079bc733bcf fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",children:[(0,b.jsxs)("div",{ref:m,style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},className:"jsx-1da17079bc733bcf w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",children:[(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf px-6 pt-6 pb-3",children:(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf flex items-start gap-4",children:[o&&(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,b.jsx)("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,className:"jsx-1da17079bc733bcf w-5 h-5 text-red-500",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0",className:"jsx-1da17079bc733bcf"})})}),(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf flex-1 min-w-0",children:[(0,b.jsx)("h3",{className:"jsx-1da17079bc733bcf text-[15px] font-semibold text-[var(--foreground)]",children:d}),(0,b.jsx)("p",{className:"jsx-1da17079bc733bcf mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:e})]})]})}),f&&(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,b.jsxs)("p",{className:"jsx-1da17079bc733bcf text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",f,"”"]})}),(0,b.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 border-t border-[var(--card-border)]"}),(0,b.jsxs)("div",{className:"jsx-1da17079bc733bcf px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,b.jsx)("button",{onClick:k,className:"jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:h}),(0,b.jsx)("button",{ref:l,onClick:j,className:`jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${o?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:g})]})]}),(0,b.jsx)(bi.default,{id:"1da17079bc733bcf",children:"@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}"})]})}var bk=a.i(56196),bl=a.i(587532),bm=a.i(613749);let bn=(0,s.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),bo=(0,s.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),bp=(0,s.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),bq=(0,s.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var br=a.i(953722),bs=a.i(404650),bs=bs;function bt({logs:a,participants:d,onClear:e,open:f,onToggle:g}){let[h,i]=(0,c.useState)(420),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(!1),n=(0,c.useRef)(0),o=(0,c.useRef)(0),p=Object.fromEntries(d.map(a=>[a.id,a]));(0,c.useEffect)(()=>{f&&l.current?.scrollIntoView({behavior:"smooth"})},[a.length,f]);let q=(0,c.useCallback)(a=>{a.preventDefault(),m.current=!0,n.current=a.clientX,o.current=h,a.target.setPointerCapture(a.pointerId)},[h]),r=(0,c.useCallback)(a=>{if(!m.current)return;let b=n.current-a.clientX;i(Math.max(280,Math.min(o.current+b,.6*window.innerWidth)))},[]),s=(0,c.useCallback)(()=>{m.current=!1},[]);if(!f)return null;let t=j?a.filter(a=>a.participantId===j):a;return(0,b.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,b.jsx)("div",{onPointerDown:q,onPointerMove:r,onPointerUp:s,className:"w-1.5 cursor-col-resize bg-zinc-800 hover:bg-zinc-600 transition-colors flex items-center justify-center shrink-0",children:(0,b.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:h},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,b.jsxs)("select",{value:j||"",onChange:a=>k(a.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,b.jsx)("option",{value:"",children:"All"}),d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:e,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,b.jsx)("button",{onClick:g,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[t.map((a,c)=>{let d=p[a.participantId]?.name||a.participantId,e=p[a.participantId]?.color||"#888",f="stderr"===a.stream;return(0,b.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(a.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,b.jsx)("span",{className:"shrink-0",style:{color:e},children:d}),(0,b.jsx)("span",{className:f?"text-red-400":"text-[var(--muted-foreground)]",children:a.line})]},c)}),(0,b.jsx)("div",{ref:l})]})]})]})}function bu(){let[a,d]=(0,c.useState)("unknown"),[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(""),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/status");if(!a.ok)return void d("unknown");let b=await a.json();d("ok"===b.status?"ok":"degraded");let c=b.services.filter(a=>"agx-chat"===a.name||"agx-cloud"===a.name);f(c),h(new Date().toLocaleTimeString())}catch{d("unknown"),f([])}},[]);return(0,c.useEffect)(()=>{l();let a=setInterval(l,3e4);return()=>clearInterval(a)},[l]),(0,b.jsxs)("div",{className:"relative",onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:[(0,b.jsx)(i.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,b.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===a?"bg-emerald-400":"degraded"===a?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===a?"animate-pulse":""}`})}),j&&(0,b.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[e.length>0?(0,b.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:"ok"===a.status?"text-emerald-600":"error"===a.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===a.status?"Healthy":"error"===a.status?a.detail||"Error":"Unavailable"})]},a.name))}):(0,b.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),g&&(0,b.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",g]})]})]})}function bv(a,b=!1){return(b?a.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():a).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}async function bw(a){let b=await fetch(`/api/threads/knowledge?rootMessageId=${encodeURIComponent(a)}`,{cache:"no-store"});if(!b.ok)throw Error("Failed to load thread knowledge run");let c=await b.json().catch(()=>null);return c?.run??null}function bx(a,b,c){let d=new Set(a.map(a=>a.id)),e=c?b.find(a=>a.thread_ids?.includes(c)):b[0],f=e?e.agents.map(a=>a.agent_id).filter(a=>d.has(a)):[];return e?f:0===f.length?a.map(a=>a.id):f}function by(a,b,c){let d=Object.fromEntries(b.map(a=>[a.id,a])),e=[];for(let b of a){let a="user"===b.role?"You":b.participantId?d[b.participantId]?.name||b.participantId:"Assistant",c=bv(b.content,"user"!==b.role);c&&(e.push(`**${a}:**`),e.push(""),e.push(c),e.push(""))}if(c){let a=function(a){if(0===a.tasks.length)return"";let b=new Map(a.tasks.map(a=>[a.id,a.title.trim()])),c=["## Draft Tasks",""];return a.projectName&&c.push(`Project: ${a.projectName}`),a.buildStatus&&c.push(`Build status: ${a.buildStatus.replaceAll("_"," ")}`),(a.projectName||a.buildStatus)&&c.push(""),a.tasks.forEach((d,e)=>{let f=bv(d.title)||`Task ${e+1}`,g=bv(d.description),h=(d.dependsOn||[]).map(a=>b.get(a)?.trim()).filter(a=>!!a),i=a.builtTaskIds?.[d.id];c.push(`${e+1}. [ ] **${f}**`),g&&c.push(g),h.length>0&&c.push(`Depends on: ${h.join(", ")}`),i&&c.push(`agx task id: \`${i}\``),c.push("")}),c.join("\n").trim()}(c);a&&e.push(a)}return e.join("\n").trim()}function bz({projectSlug:a,initialThreadId:i,initialRootMessageId:j,showSidebar:k=!0}={}){let l=(0,d.useSearchParams)(),{threads:m,activeThreadId:n,selectThread:o,createThread:p,deleteThread:q,updateThreadMessages:r,isCreating:s,deletingThreadId:t,renamingThreadId:u,isLoading:v,isRestoringActiveThread:w,renameThread:x,updateThreadStatus:y,updateThreadOutcomeNote:z,updateMessageThreadStatus:A,updateMessageOutcomeNote:B}=(0,g.useThreadState)(i),{messages:C,setMessages:D,logs:E,sendMessage:F,loadHistory:H,clearLogs:I,chatRuns:J,setChatRuns:K,stop:L,stopThread:M}=(0,e.useGroupChat)(n),{activeAgents:N,processes:O,streaming:P,chatRuns:Q,poll:R}=(0,f.useProcessPolling)(n?{workspaceId:n}:null,{messages:C,setMessages:D}),S=(0,c.useMemo)(()=>{let a=Date.now(),b=new Map(Q.map(a=>[a.chatRunId,a]));for(let c of J)!(!c.optimistic||b.has(c.chatRunId))&&(a-(c.enqueuedAt??0)>5e3||b.set(c.chatRunId,c));return Array.from(b.values()).filter(a=>"queued"===a.status||"running"===a.status)},[J,Q]),T=N.size>0||S.some(a=>"running"===a.status)?"working":S.some(a=>"queued"===a.status)?"queued":"ready";(0,c.useEffect)(()=>{K(a=>{let b=Date.now(),c=new Map(a.filter(a=>"string"==typeof a.chatRunId&&a.chatRunId.length>0).map(a=>[a.chatRunId,a]));for(let a of Q)a?.chatRunId&&c.set(a.chatRunId,a);return Array.from(c.values()).filter(a=>!!(!a.optimistic||Q.some(b=>b.chatRunId===a.chatRunId))||b-(a.enqueuedAt??0)<=5e3).sort((a,b)=>String(a.chatRunId||"").localeCompare(String(b.chatRunId||"")))})},[Q,K]);let U=(0,c.useCallback)(async a=>{await fetch(`/api/chat-runs/${encodeURIComponent(a)}/signal`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({signal:"cancel",reason:"Stopped from chat UI"})}).catch(()=>{})},[]),V=(0,c.useCallback)(async()=>{let a=S[0];a?.chatRunId&&await U(a.chatRunId),await L(),await R()},[S,U,L,R]),W=(0,c.useCallback)(async a=>{let b=S.find(b=>b.rootMessageId===a);b?.chatRunId&&await U(b.chatRunId),await M(a),await R()},[S,U,M,R]),X=(0,c.useRef)(V);(0,c.useEffect)(()=>{X.current=V},[V]);let{projects:Y,createProject:Z,deleteProject:$,addAgent:_,removeAgent:aa,reorderAgents:ab}=(0,bk.useProjectsWithAgents)(),{projects:ac,updateProject:ad}=(0,bk.useProjects)(),ae=(0,c.useMemo)(()=>n?Y.filter(a=>a.thread_ids?.includes(n)):Y,[Y,n]),af=(0,c.useMemo)(()=>a||ae[0]?.slug||void 0,[a,ae]),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(!1),[al,an]=(0,c.useState)([]),[ao,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(()=>"light"),[at,au]=(0,c.useState)(!1),av=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=(0,be.loadWorkspaceSidebarVisible)();av.current=!0,au(a)},[]),(0,c.useEffect)(()=>{},[ar]);let[aw,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(new Set),[aA,aB]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(null),[aG,aH]=(0,c.useState)(j??null),aI=l.get("open")?.trim()||null,aJ=aG?ay.has(aG):aA;(0,c.useEffect)(()=>{if(!aG)return;let a=!1,b=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(aG)}`).then(a=>a.json()).then(b=>{a||az(a=>{let c=a.has(aG);if(b.active&&!c){let b=new Set(a);return b.add(aG),b}if(!b.active&&c){let b=new Set(a);return b.delete(aG),b}return a})}).catch(()=>{})};b();let c=setInterval(b,1e4);return()=>{a=!0,clearInterval(c)}},[aG]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/schedules").then(a=>a.json()).then(b=>{!a&&b.activeRootMessageIds&&az(a=>{let c=new Set(b.activeRootMessageIds);for(let b of a)c.add(b);return c.size===a.size&&[...c].every(b=>a.has(b))?a:c})}).catch(()=>{})};b();let c=setInterval(b,15e3);return()=>{a=!0,clearInterval(c)}},[]),(0,c.useEffect)(()=>{if(aG){let b=a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}?open=${encodeURIComponent(aG)}`:`/thread/${aG}`;window.history.replaceState(null,"",b)}else window.history.replaceState(null,"",a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}`:"/")},[n,i,aG,a]),(0,c.useEffect)(()=>{a&&aH(a=>a===aI?a:aI)},[a,aI]),(0,c.useEffect)(()=>{j&&(async()=>{try{let a=await fetch(`/api/messages/${j}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&o(b)}catch{}})()},[j,o]);let[aK,aM]=(0,c.useState)(""),[aN,aO]=(0,c.useState)([]),[aP,aQ]=(0,c.useState)(0),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(null),[aX,aY]=(0,c.useState)(new Set),[aZ,a$]=(0,c.useState)(null),[a_,a0]=(0,c.useState)(null),[a1,a2]=(0,c.useState)({}),a3=(0,c.useCallback)(a=>{a2(b=>{let c="function"==typeof a?a(b):a;if(n)for(let[a,d]of Object.entries(c))b[a]!==d&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,messageId:a,draft:d})}).catch(()=>{});return c})},[n]),[a4,a5]=(0,c.useState)(new Set),[a6,a7]=(0,c.useState)(new Set),a8=(0,c.useRef)(null),a9=(0,c.useRef)(null),ba=(0,c.useRef)(null),bb=(0,c.useRef)(""),bc=(0,c.useCallback)(async(a=!1)=>{try{let a=await fetch("/api/participants");if(!a.ok)return;let b=await a.json();if(!Array.isArray(b))return;ai(b)}finally{a&&ak(!0)}},[]),bi=(0,c.useCallback)(async a=>{try{await (0,bh.updateUserPreferences)({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[bh.updateUserPreferences]),bv=(0,c.useCallback)(a=>{(0,be.persistWorkspaceSidebarVisible)(a),bi(a)},[bi]),bA=aK.trim(),bB=bA.length>0,bC=(0,c.useMemo)(()=>Object.fromEntries(m.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[m]),bD=(0,c.useMemo)(()=>{if(!aG)return[];let a=new Set([C.find(a=>a.id===aG),...C.filter(a=>a.rootMessageId===aG)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(P).forEach(b=>{P[b].rootMessageId===aG&&a.add(b)}),ah.filter(b=>a.has(b.id))},[aG,C,P,ah]),bE=(0,c.useMemo)(()=>{let a=new Map(ah.map(a=>[a.id,a]));return al.map(b=>a.get(b)).filter(Boolean)},[ah,al]),bF=(0,c.useMemo)(()=>ac.map(a=>({id:a.id,name:a.name,slug:a.slug})),[ac]),bG=(0,c.useMemo)(()=>{if(!aG)return 0;let a=[C.find(a=>a.id===aG),...C.filter(a=>a.rootMessageId===aG)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[aG,C]),bH=(0,c.useMemo)(()=>{if(!aG)return"";let a=C.find(a=>a.id===aG);if(!a)return"Discussion";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[aG,C]),bI=(0,c.useMemo)(()=>{if(!aG)return null;let a=C.find(a=>a.id===aG),b=a?.threadStatus??"active";return{value:b,...{active:{label:"Active",color:"#f59e0b"},paused:{label:"Paused",color:"#f97316"},"in-review":{label:"In Review",color:"#6b7280"},done:{label:"Done",color:"#3b82f6"},archived:{label:"Archived",color:"#9ca3af"}}[b]}},[aG,C]),bJ=(0,c.useCallback)(()=>{aM(""),aO([]),aQ(0),aU(null),aS(!1)},[]);(0,c.useCallback)(()=>{let a=by(C,ah);navigator.clipboard.writeText(a).then(()=>{aq(!0),setTimeout(()=>aq(!1),2e3)})},[C,ah]);let[bK,bL]=(0,c.useState)(null),bM=(0,c.useCallback)(a=>{let b=C.find(b=>b.id===a);if(!b)return;let c=[b,...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)];bL({title:b.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:a,messages:c})},[C]),bN=(0,c.useCallback)(a=>{let b=by([C.find(b=>b.id===a),...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),ah,a1[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[C,ah,a1]),bO=(0,c.useCallback)(async()=>{if(aG){aD(!0);try{let a=["repo"];af&&a.push("project");let b=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aG,scopes:a})}),c=await b.json().catch(()=>null);if(!b.ok)throw Error("string"==typeof c?.error?c.error:"Request failed");aF(c?.run??null)}catch(b){let a=b instanceof Error?b.message:"Request failed";window.alert(`Failed to extract knowledge: ${a}`)}finally{aD(!1)}}},[aG,af]);(0,c.useEffect)(()=>{if(!aG){aF(null),aD(!1);return}let a=!1;return(async()=>{try{let b=await bw(aG);if(a)return;aF(b)}catch{a||aF(null)}})(),()=>{a=!0}},[aG]),(0,c.useEffect)(()=>{if(!aG||aE?.status!=="running")return;let a=!1,b=async()=>{try{let b=await bw(aG);if(a)return;aF(b)}catch{}};b();let c=window.setInterval(()=>{b()},2e3);return()=>{a=!0,window.clearInterval(c)}},[aG,aE?.status]);let bP=aE?.status==="running",bQ=aC||bP,bR=(aE?.repoInsertedCount??0)+(aE?.projectInsertedCount??0),bS=(0,c.useMemo)(()=>{if(!aE)return null;if("running"===aE.status)return"Learning in progress";if("failed"===aE.status)return"Last learning run failed";if(bR>0){let a=1===bR?"insight":"insights";return`Learned ${bR} ${a}`}return"No new learnings"},[bR,aE]);(0,c.useEffect)(()=>{bc(!0)},[bc]);let bT=(0,c.useMemo)(()=>{if(!aj)return[];let a=new Set(ah.map(a=>a.id)),b=new Set;for(let c of C)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(P))a.has(c)||b.add(c);return Array.from(b).sort()},[C,ah,aj,P]);(0,c.useEffect)(()=>{if(!aj)return;let a=bT.join("|");if(!a){bb.current="";return}bb.current!==a&&(bb.current=a,bc(!1))},[aj,bc,bT]),(0,c.useEffect)(()=>{if(!aj)return;let a=bx(ah,Y,n);if(!n)return void an(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...bf};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(n);if(null===b)return void an(a);let c=function(a,b){if(null===b)return a;let c=new Set(b);return a.filter(a=>c.has(a))}(a,b),d=c.length>0?c:a;(d.length!==b.length||d.some((a,c)=>b[c]!==a))&&bg(n,d),an(d)},[n,ah,aj,Y]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await (0,bh.fetchUserPreferences)();if(a)return;au(a=>a===b.threadSidebarVisible?a:av.current?(bi(a),a):((0,be.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[bi]),(0,c.useEffect)(()=>{v||s||0!==m.length||p({id:"global",title:"General"})},[v,s,m.length,p]),(0,c.useEffect)(()=>()=>{ba.current&&window.clearTimeout(ba.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),a8.current?.focus(),a8.current?.select();return}"Escape"===a.key&&bA&&bJ()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[bJ,bA]),(0,c.useEffect)(()=>{if(!bA){aO([]),aQ(0),aU(null),aS(!1);return}let a=!1;aS(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:bA,limit:"20",offset:"0"}),c=await fetch(`/api/search?${b.toString()}`),d=await c.json().catch(()=>null);if(a)return;if(!c.ok){let a=d&&"object"==typeof d&&"error"in d?String(d.error):"Search failed";aO([]),aQ(0),aU(a);return}aO(Array.isArray(d.results)?d.results:[]),aQ("number"==typeof d.total?d.total:0),aU(null)}catch(b){if(a)return;console.error("Search request failed",b),aO([]),aQ(0),aU("Search failed")}finally{a||aS(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[bA]);let bU=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bU.current&&bU.current!==n&&(X.current(),a9.current?(aH(a9.current),a9.current=null):aH(null)),bU.current=n,n&&(H(n),fetch(`/api/task-drafts?threadId=${encodeURIComponent(n)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?a2(a.drafts):a2({})}).catch(()=>a2({})))},[n,H]),(0,c.useEffect)(()=>{n&&r(n,C)},[n,C,r]);let bV=(0,c.useCallback)((a,b,c=10,d,e,f)=>{n&&0!==bE.length&&F(b,c,n,a,void 0,void 0,(0,aL.orderParticipantIds)(bE.map(a=>a.id),d),af,e,f)},[n,F,bE,af]),bW=(0,c.useCallback)(async a=>{if(n){if(0===bE.length)return void window.alert("Enable at least one agent in this project.");aY(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bE.map(a=>a.id)})});b.ok?await H(n):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{aY(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,H,bE]),bX=(0,c.useCallback)(async a=>{if(n){if(0===bE.length)return void window.alert("Enable at least one agent in this project.");a5(b=>new Set(b).add(a));try{let b=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bE.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};a3(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{a5(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,bE]),bY=(0,c.useCallback)((a,b)=>{a3(c=>({...c,[a]:b}))},[]),bZ=(0,c.useCallback)(async(a,b,c,d)=>{if(n){a7(a=>new Set(a).add(b.draftId)),a3(e=>({...e,[a]:{...b,buildStatus:"building",projectId:c,projectName:d}}));try{let d=crypto.randomUUID(),e=await G(b.tasks,c,d,b.builtTaskIds),f={...b.builtTaskIds},g=!1;for(let a of e.results)"created"===a.status&&a.remoteTaskId?f[a.clientTaskId]=a.remoteTaskId:g=!0;a3(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),a3(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{a7(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[n]),b$=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aG)return aG;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bX(a):console.warn("No thread with replies available to extract tasks from")},[n,bX,C,aG]);(0,c.useCallback)(a=>{aH(a)},[]);let b_=(0,c.useCallback)(a=>{aH(a)},[]),b0=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&aM(b),requestAnimationFrame(()=>{a8.current?.focus(),b||a8.current?.select()})},[]),b1=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aG)return aG;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bW(a):console.warn("No thread with replies available to summarize")},[n,bW,C,aG]),b2=(0,c.useCallback)(async(a,b,c,d,e,f,g)=>{let h=a.match(/^\/search(?:\s+([\s\S]+))?$/i);if(h)return void b0(h[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(a))return void b1();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(a)||/^\/create(?:\s+[\s\S]+)?$/i.test(a))return void b$();aJ&&aG&&(az(a=>{let b=new Set(a);return b.delete(aG),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"stop",rootMessageId:aG})}).catch(a=>console.error("Failed to deactivate schedule:",a)));let i=n;i||(i=(await p()).id);let j=bE.map(a=>a.id);if(0===j.length)return void window.alert("Enable at least one agent in this project.");let k=(0,aL.orderParticipantIds)(j,e);if(aG)return void await F(a,b,i,aG,c,d,k,af,f,g);let l=await F(a,b,i,null,c,d,k,af,f,g);aA&&l&&(aB(!1),az(a=>{let b=new Set(a);return b.add(l),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:l})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[n,aJ,aA,p,b0,b1,aG,bE,F,af]),b3=(0,c.useCallback)(async a=>{if(!aG)return void aB(a);az(b=>{let c=new Set(b);return a?c.add(aG):c.delete(aG),c});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a?"activate":"stop",rootMessageId:aG})})}catch(a){console.error("Failed to toggle autonomous schedule:",a)}},[aG]),b4=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==n?(a9.current=b,o(a.threadId)):aH(b),aW(null),window.requestAnimationFrame(()=>{aW(a.messageId),ba.current&&window.clearTimeout(ba.current),ba.current=window.setTimeout(()=>{aW(b=>b===a.messageId?null:b)},2e3)}),bJ()},[n,bJ,o]),b5=(0,c.useCallback)(async a=>{V(),await q(a)},[q,V]),b6=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a0({type:"thread",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),b7=(0,c.useCallback)(async a=>{if(n){a$(a),W(a);try{let b=new URLSearchParams({threadId:n,rootMessageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message thread",await c.text());aH(b=>b===a?null:b),aW(null);let d=C.filter(b=>b.id!==a&&b.rootMessageId!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message thread",a)}finally{a$(b=>b===a?null:b)}}},[n,H,C,W,r]),b8=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a0({type:"message",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),b9=(0,c.useCallback)(async a=>{if(n)try{let b=new URLSearchParams({threadId:n,messageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message",await c.text());let d=C.filter(b=>b.id!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message",a)}},[n,H,C,r]),ca=(0,c.useCallback)(()=>{a_&&("thread"===a_.type?b7(a_.id):b9(a_.id),a0(null))},[a_,b7,b9]),cb=(0,c.useCallback)(()=>{a0(null)},[]),cc=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>b0()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>b1()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>b$()}],[b0,b1,b$]),cd=(0,c.useMemo)(()=>{let a=af?ae.find(a=>a.slug===af):ae[0];return a?.repos??[]},[ae,af]),[ce,cf]=(0,c.useState)(new Set),cg=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!aG){cf(new Set),cg.current=null;return}cg.current!==aG&&(cf(new Set),cg.current=aG,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(aG)}`).then(a=>a.json()).then(a=>{cg.current===aG&&a.repoIds&&a.repoIds.length>0&&cf(new Set(a.repoIds))}).catch(()=>{}))},[aG]);let ch=(0,c.useCallback)(a=>{cf(a),aG&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aG,repoIds:[...a]})}).catch(()=>{})},[aG]),ci=(0,c.useCallback)(a=>{let c=O.some(b=>["spawning","running"].includes(b.state)&&b.threadId===a)||Object.values(P).some(b=>b.rootMessageId===a)?"working":S.some(b=>b.rootMessageId===a&&"queued"===b.status)?"queued":"ready";return(0,b.jsx)(bd,{onSend:(b,c,d,e,f,g,h)=>bV(a,b,c,f,g,h),onStop:()=>W(a),loading:"ready"!==c,activityStatus:c,participants:bE,projectGroups:ae,projects:bF,projectSlug:af,messages:C,commands:cc,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:aJ,onAutoModeChange:b3,repos:cd,selectedRepoIds:ce,onRepoSelectionChange:ch})},[bV,W,P,bE,ae,bF,af,cc,C,aJ,b3,O,S,cd,ce,ch]),cj=(0,c.useCallback)(()=>{au(a=>{let b=!a;return bv(b),b})},[bv]),ck=async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();ai(b=>b.map(b=>b.id===a.id?a:b))}},cl=(0,c.useCallback)((a,b)=>{an(c=>{let d=bx(ah,Y,n);if(!new Set(d).has(a))return c;let e=new Set(c);b?e.add(a):e.delete(a);let f=d.filter(a=>e.has(a));return n&&bg(n,f),f})},[n,ah,Y]),cm=(0,c.useCallback)(a=>{let b=Y.find(b=>b.id===a);if(!b||n&&!b.thread_ids?.includes(n))return;let c=b.agents.map(a=>a.agent_id);an(c),n&&bg(n,c)},[Y,n]),cn=(0,c.useCallback)(()=>{as(a=>"dark"===a?"light":"dark")},[]),co=()=>(0,b.jsx)("button",{type:"button",onClick:cn,"aria-label":"dark"===ar?"Switch to light theme":"Switch to dark theme",title:"dark"===ar?"Switch to light theme":"Switch to dark theme",className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition-all hover:border-[var(--app-shell-border-strong)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:"dark"===ar?(0,b.jsx)(bq,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bp,{className:"h-4 w-4",strokeWidth:1.75})}),cp=(0,b.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:k&&!at&&(0,b.jsx)("button",{type:"button",onClick:cj,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(bo,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,b.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,b.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,b.jsx)(bl.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:2}),(0,b.jsx)("input",{ref:a8,type:"text",value:aK,onChange:a=>aM(a.target.value),onKeyDown:a=>{"Escape"===a.key&&bJ()},placeholder:"Search messages…",className:"h-9 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-sm font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),bA?(0,b.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:aR?"…":aP}),(0,b.jsx)("button",{type:"button",onClick:bJ,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[co(),(0,b.jsx)(bu,{}),aG&&(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aw?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--app-shell-bg)] text-[var(--foreground)]",children:[k?(0,b.jsx)(h.WorkspaceSidebar,{threads:m,participants:ah,activeThreadId:n,isLoading:v,isRestoringActiveThread:w,isCreating:s,deletingThreadId:t,renamingThreadId:u,onSelectThread:o,onCreateThread:p,onRenameThread:x,onDeleteThread:b5,activeParticipantIds:al,onToggleParticipantActive:cl,visible:at,onToggle:cj,projects:Y,onCreateProject:Z,onUpdateProject:ad,onDeleteProject:$,onAddAgentToProject:_,onRemoveAgentFromProject:aa,onReorderProjectAgents:ab,onUpdateParticipant:ck,onSelectProject:cm}):null,(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:w?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,b.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[aG?(0,b.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6 transition-colors duration-200 shrink-0",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[(0,b.jsx)("button",{onClick:()=>aH(null),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0",title:"Back to main feed",children:(0,b.jsx)(bm.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:bH}),bI&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border shrink-0",style:{borderColor:bI.color+"40",color:bI.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:bI.color}}),bI.label]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsxs)("span",{className:"opacity-80",children:[bD.length," agents"]}),(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsxs)("span",{className:"opacity-80",children:["Updated ",function(a){if(!a)return"recently";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(bG)]}),bS&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsx)("span",{className:"opacity-80",children:bS})]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:bD.map(a=>(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"h-7 w-7 rounded-full border-2 border-[var(--app-shell-elevated)] object-cover shadow-sm ring-1 ring-[var(--app-shell-border)]",title:a.name},a.id))}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>void bO(),disabled:bQ,title:bP?"Learning is already running for this discussion":"Learn from this discussion",className:`inline-flex h-9 items-center gap-1.5 rounded-xl border px-3 text-xs font-medium transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${bQ?"cursor-wait border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:[bQ?(0,b.jsx)(bs.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,b.jsx)(br.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{className:"hidden sm:inline",children:bP?"Learning...":"Learn from discussion"})]}),co(),(0,b.jsx)(bu,{}),(0,b.jsx)("button",{type:"button",onClick:()=>ax(!aw),"aria-label":aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":aw,title:aw?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${aw?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):cp,bB?(0,b.jsx)(ap,{query:bA,results:aN,total:aP,participants:ah,threadTitleById:bC,isLoading:aR,error:aT,onSelectResult:b4}):aG?(0,b.jsx)(am,{messages:C,streaming:P,participants:ah,rootMessageId:aG,queued:S.some(a=>a.rootMessageId===aG&&"queued"===a.status),onClose:()=>aH(null),onCopyThread:bN,onAddToChat:bM,onDeleteThreadRoot:b6,onDeleteMessage:b8,highlightedMessageId:aV||void 0,renderReplyComposer:ci,activeProcesses:O.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===aG)}):(0,b.jsx)(ag,{messages:C,streaming:P,participants:ah,onOpenThread:b_,onCopyThread:bN,onAddToChat:bM,onDeleteThreadRoot:b6,onSummarize:bW,onCreateTasks:bX,onUpdateTaskDraft:bY,onBuildTasks:bZ,summarizingThreads:aX,extractingTasks:a4,buildingDrafts:a6,taskDrafts:a1,deletingThreadRootId:aZ,highlightedMessageId:aV,shipModeThreads:ay,onUpdateMessageThreadStatus:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),A(n,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),B(n,a,b);let c=C.find(b=>b.id===a);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:c?.threadStatus??null,outcomeNote:b})})}:void 0}),!bB&&!aG&&(0,b.jsx)(bd,{onSend:b2,onStop:V,loading:"ready"!==T,activityStatus:T,participants:bE,projects:bF,projectGroups:ae,projectSlug:af,messages:C,commands:cc,pendingThreadInsert:bK,onClearPendingThread:()=>bL(null),autoMode:aJ,onAutoModeChange:b3,repos:cd,selectedRepoIds:ce,onRepoSelectionChange:ch})]})})}),j&&(0,b.jsx)(bt,{logs:E,participants:ah,onClear:()=>void I(n),open:aw,onToggle:()=>ax(!1)}),(0,b.jsx)(bj,{isOpen:null!==a_,title:a_?.type==="thread"?"Delete Discussion":"Delete Message",message:a_?.type==="thread"?"This will permanently delete this discussion and all of its replies. This action cannot be undone.":"This will permanently delete this message. This action cannot be undone.",preview:a_?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:ca,onCancel:cb})]})}a.s(["ChatContainer",()=>bz],124610)}];
11
+ `}(c);d&&f.push(d.trimEnd())}catch(a){console.error("Failed to load Linear issue mention context:",a)}let h=f.length>0?f.join("\n\n")+"\n\n":void 0,i=(0,aL.extractComposerRouting)(c,E);d&&$.pushEntry(d);let j=Y.attachmentIds.length>0?Y.attachmentIds:void 0,k=j?Y.getAttachmentMetas():void 0;a(e,10,j,k,E??void 0,h,i),_.commands.clearContent(),S([]),Y.clear(),Z.clearFilePaths(),U.close(),V.close(),X.close()},[_,U,V,l,a,Y,Z,R,X,$,I,t,E]),aj=U.isOpen&&U.filteredSuggestions.length>0;V.isOpen&&V.filteredCommands.length,W.isOpen&&W.suggestions.length,X.isOpen&&X.suggestions.length,aj&&U.filteredSuggestions[U.activeIndex];let ak=Y.staged.some(a=>"uploading"===a.status),al=!_||_.isEmpty,am=g.find(a=>a.id===E)??null;return(0,b.jsx)("div",{className:"pb-6",children:(0,b.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,b.jsx)(a9,{onDrop:Y.stageFiles,children:(0,b.jsxs)("div",{className:"bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] shadow-[var(--shadow-sm)] focus-within:border-[var(--app-shell-border-strong)] focus-within:ring-1 focus-within:ring-[var(--ring)] transition-all flex flex-col rounded-2xl",children:[s&&(0,b.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${r?"border-orange-200/50 dark:border-orange-500/30":"border-gray-100 dark:border-gray-800/60"}`,children:[(0,b.jsx)("div",{className:`absolute inset-0 transition-opacity duration-700 ${r?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:r?"shipBgSweep 4s ease-in-out infinite":"none"}}),r&&(0,b.jsx)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(8)].map((a,c)=>(0,b.jsx)("div",{className:"absolute h-[1.5px] rounded-full",style:{top:`${12+10*c}%`,right:"-10%",width:`${20+c%3*15}%`,background:"linear-gradient(to left, transparent, var(--warning))",opacity:.3+c%3*.1,animation:`shipSpeedLine ${.8+c%4*.3}s ${.1*c}s ease-in-out infinite`}},c))}),(0,b.jsx)("div",{className:"relative px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:`p-1 rounded-md transition-all duration-300 ${r?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:r?{animation:"shipPulse 2s ease-in-out infinite"}:{},children:(0,b.jsx)(ac,{size:14})}),(0,b.jsx)("span",{className:`text-sm font-semibold transition-colors duration-300 ${r?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,b.jsx)("span",{className:`text-xs transition-colors duration-300 ${r?"text-[var(--warning)] opacity-60":"text-[var(--app-shell-muted)] opacity-60"}`,children:"|"}),(0,b.jsx)("span",{className:`text-xs font-medium transition-colors duration-300 ${r?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:r?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,b.jsx)("button",{type:"button",onClick:()=>s(!r),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-[var(--warning)] focus:ring-offset-2 focus:ring-offset-[var(--background)] ${r?"bg-[var(--warning)]":"bg-[var(--app-shell-border-strong)]"}`,children:(0,b.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-[var(--app-shell-elevated)] shadow-sm transition-transform duration-200 ${r?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,b.jsxs)("div",{className:"p-1.5 transition-all",children:[Y.staged.length>0&&(0,b.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,b.jsx)(a8,{attachments:Y.staged,onRemove:Y.remove,onRetry:Y.retry})}),(0,b.jsxs)("div",{className:"p-2 relative",children:[(0,b.jsx)("input",{ref:O,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a.target.files.length>0&&(Y.stageFiles(a.target.files),a.target.value="")}}),(0,b.jsxs)("div",{className:"flex-1 relative",onClick:aa,onPasteCapture:ab,children:[(0,b.jsx)(aq.EditorContent,{editor:_,className:"composer-editor"}),(0,b.jsx)(aZ,{isOpen:U.isOpen&&!V.isOpen,suggestions:U.filteredSuggestions,activeIndex:U.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:ad}),(0,b.jsx)(a$,{isOpen:V.isOpen,commands:V.filteredCommands,activeIndex:V.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:ah}),(0,b.jsx)(a4,{isOpen:W.isOpen,suggestions:W.suggestions,activeIndex:W.activeIndex,isLoading:W.isLoading,error:W.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:a=>{"folder"===a.type?af(a):ae(a)},onAttachContents:W.onAttachContents}),(0,b.jsx)(a5,{isOpen:X.isOpen&&!V.isOpen&&!W.isOpen,suggestions:X.suggestions,activeIndex:X.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:ag})]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--app-shell-border)] transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{type:"button",onClick:Q,className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors","aria-label":"Attach file",title:"Attach file",children:(0,b.jsx)(ba,{className:"h-4 w-4",strokeWidth:1.75})}),(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"text-[10px] font-semibold text-[var(--app-shell-muted)] uppercase tracking-wider mr-1",children:"Agents"}),(0,b.jsx)("div",{className:"flex items-center -space-x-1.5",children:0===g.length?(0,b.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):g.map(a=>(0,b.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":E===a.id,onClick:()=>F(b=>b===a.id?null:a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),F(b=>b===a.id?null:a.id))},className:`relative w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--app-shell-elevated)] shadow-sm flex items-center justify-center overflow-visible shrink-0 transition-all cursor-pointer ${E===a.id?"-translate-y-0.5 ring-2 ring-[var(--ring)] ring-offset-1 ring-offset-[var(--background)]":"hover:-translate-y-0.5"}`,title:a.name,children:[(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"w-full h-full rounded-full object-cover"}),D&&(0,b.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2 h-2 border border-[var(--app-shell-elevated)] rounded-full ${"queued"===C?"bg-amber-400":"bg-emerald-400"}`})]},a.id))})]}),am&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:["Pinned: ",(0,b.jsx)("span",{className:"text-[var(--foreground)]",children:am.name})]})]}),t.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"relative",ref:N,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>M(a=>!a),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":L,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{children:"Repos"}),(0,b.jsx)(u.ChevronDown,{className:`h-3 w-3 transition-transform ${L?"rotate-180":""}`})]}),L&&(0,b.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:t.map(a=>{let c=I.has(a.id);return(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":c,className:`composer-repo-dropdown__item ${c?"composer-repo-dropdown__item--selected":""}`,onClick:()=>K(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("span",{className:`w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0 transition-colors ${c?"bg-emerald-500 border-emerald-500 text-white":"border-[var(--app-shell-border-strong)]"}`,children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)})})]}),(A=(z=t.filter(a=>I.has(a.id))).slice(0,1),B=z.length-1,(0,b.jsxs)(b.Fragment,{children:[A.map(a=>(0,b.jsxs)("span",{className:"composer-repo-pill",title:a.path||a.name,children:[(0,b.jsx)(bb.FolderGit2,{className:"h-3 w-3 shrink-0",strokeWidth:1.75}),(0,b.jsx)("span",{className:"composer-repo-pill__name",children:a.name}),(0,b.jsx)("button",{type:"button",className:"composer-repo-pill__remove",onClick:()=>K(b=>{let c=new Set(b);return c.delete(a.id),c}),"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(x.X,{className:"h-3 w-3"})})]},a.id)),B>0&&(0,b.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",B]})]}))]})]})]}),D?(0,b.jsx)("button",{type:"button",onClick:d,className:"flex items-center gap-2 bg-[var(--destructive-muted)] text-[var(--destructive)] border border-[var(--status-failed-border)] px-4 py-1.5 rounded-lg text-sm font-semibold hover:opacity-90 transition-colors",children:"Stop"}):(0,b.jsxs)("button",{type:"button",onClick:ai,disabled:al&&!Y.hasUploaded&&!Z.hasFilePaths||ak,className:"flex items-center gap-2 bg-[var(--primary)] hover:bg-[var(--primary-hover)] text-[var(--primary-foreground)] px-4 py-1.5 rounded-lg text-sm font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm",children:["Send",(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,b.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})]})]})]})]})}),(0,b.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-[var(--app-shell-muted)] px-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${"working"===C?"bg-emerald-400 animate-pulse":"queued"===C?"bg-amber-400":"bg-emerald-400"}`}),(0,b.jsx)("span",{children:"working"===C?"Working":"queued"===C?"Queued":"Ready"})]}),(0,b.jsxs)("span",{children:["Press ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," to send, ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Shift"})," + ",(0,b.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," for new line"]})]})]})})}var be=a.i(655672),bf=a.i(176388);let bg={activeParticipantIdsByThread:{}};function bh(a,b){let c=a.trim();if(c)({...bg}).activeParticipantIdsByThread[c]=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(b)}var bi=a.i(215040),bj=a.i(81779),bk=a.i(56196),bl=a.i(587532),bm=a.i(613749);let bn=(0,s.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),bo=(0,s.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),bp=(0,s.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),bq=(0,s.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var br=a.i(953722),bs=a.i(404650),bs=bs;function bt({logs:a,participants:d,onClear:e,open:f,onToggle:g}){let[h,i]=(0,c.useState)(420),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(!1),n=(0,c.useRef)(0),o=(0,c.useRef)(0),p=Object.fromEntries(d.map(a=>[a.id,a]));(0,c.useEffect)(()=>{f&&l.current?.scrollIntoView({behavior:"smooth"})},[a.length,f]);let q=(0,c.useCallback)(a=>{a.preventDefault(),m.current=!0,n.current=a.clientX,o.current=h,a.target.setPointerCapture(a.pointerId)},[h]),r=(0,c.useCallback)(a=>{if(!m.current)return;let b=n.current-a.clientX;i(Math.max(280,Math.min(o.current+b,.6*window.innerWidth)))},[]),s=(0,c.useCallback)(()=>{m.current=!1},[]);if(!f)return null;let t=j?a.filter(a=>a.participantId===j):a;return(0,b.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,b.jsx)("div",{onPointerDown:q,onPointerMove:r,onPointerUp:s,className:"w-1.5 cursor-col-resize bg-zinc-800 hover:bg-zinc-600 transition-colors flex items-center justify-center shrink-0",children:(0,b.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:h},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,b.jsxs)("select",{value:j||"",onChange:a=>k(a.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,b.jsx)("option",{value:"",children:"All"}),d.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:e,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,b.jsx)("button",{onClick:g,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[t.map((a,c)=>{let d=p[a.participantId]?.name||a.participantId,e=p[a.participantId]?.color||"#888",f="stderr"===a.stream;return(0,b.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(a.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,b.jsx)("span",{className:"shrink-0",style:{color:e},children:d}),(0,b.jsx)("span",{className:f?"text-red-400":"text-[var(--muted-foreground)]",children:a.line})]},c)}),(0,b.jsx)("div",{ref:l})]})]})]})}function bu(){let[a,d]=(0,c.useState)("unknown"),[e,f]=(0,c.useState)([]),[g,h]=(0,c.useState)(""),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/status");if(!a.ok)return void d("unknown");let b=await a.json();d("ok"===b.status?"ok":"degraded");let c=b.services.filter(a=>"agx-chat"===a.name||"agx-cloud"===a.name);f(c),h(new Date().toLocaleTimeString())}catch{d("unknown"),f([])}},[]);return(0,c.useEffect)(()=>{l();let a=setInterval(l,3e4);return()=>clearInterval(a)},[l]),(0,b.jsxs)("div",{className:"relative",onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),children:[(0,b.jsx)(i.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,b.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===a?"bg-emerald-400":"degraded"===a?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===a?"animate-pulse":""}`})}),j&&(0,b.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[e.length>0?(0,b.jsx)("ul",{className:"space-y-1.5",children:e.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:"ok"===a.status?"text-emerald-600":"error"===a.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===a.status?"Healthy":"error"===a.status?a.detail||"Error":"Unavailable"})]},a.name))}):(0,b.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),g&&(0,b.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",g]})]})]})}function bv(a,b=!1){return(b?a.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():a).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}async function bw(a){let b=await fetch(`/api/threads/knowledge?rootMessageId=${encodeURIComponent(a)}`,{cache:"no-store"});if(!b.ok)throw Error("Failed to load thread knowledge run");let c=await b.json().catch(()=>null);return c?.run??null}function bx(a,b,c){let d=new Set(a.map(a=>a.id)),e=c?b.find(a=>a.thread_ids?.includes(c)):b[0],f=e?e.agents.map(a=>a.agent_id).filter(a=>d.has(a)):[];return e?f:0===f.length?a.map(a=>a.id):f}function by(a,b,c){let d=Object.fromEntries(b.map(a=>[a.id,a])),e=[];for(let b of a){let a="user"===b.role?"You":b.participantId?d[b.participantId]?.name||b.participantId:"Assistant",c=bv(b.content,"user"!==b.role);c&&(e.push(`**${a}:**`),e.push(""),e.push(c),e.push(""))}if(c){let a=function(a){if(0===a.tasks.length)return"";let b=new Map(a.tasks.map(a=>[a.id,a.title.trim()])),c=["## Draft Tasks",""];return a.projectName&&c.push(`Project: ${a.projectName}`),a.buildStatus&&c.push(`Build status: ${a.buildStatus.replaceAll("_"," ")}`),(a.projectName||a.buildStatus)&&c.push(""),a.tasks.forEach((d,e)=>{let f=bv(d.title)||`Task ${e+1}`,g=bv(d.description),h=(d.dependsOn||[]).map(a=>b.get(a)?.trim()).filter(a=>!!a),i=a.builtTaskIds?.[d.id];c.push(`${e+1}. [ ] **${f}**`),g&&c.push(g),h.length>0&&c.push(`Depends on: ${h.join(", ")}`),i&&c.push(`agx task id: \`${i}\``),c.push("")}),c.join("\n").trim()}(c);a&&e.push(a)}return e.join("\n").trim()}function bz({projectSlug:a,initialThreadId:i,initialRootMessageId:j,showSidebar:k=!0}={}){let l=(0,d.useSearchParams)(),{threads:m,activeThreadId:n,selectThread:o,createThread:p,deleteThread:q,updateThreadMessages:r,isCreating:s,deletingThreadId:t,renamingThreadId:u,isLoading:v,isRestoringActiveThread:w,renameThread:x,updateThreadStatus:y,updateThreadOutcomeNote:z,updateMessageThreadStatus:A,updateMessageOutcomeNote:B}=(0,g.useThreadState)(i),{messages:C,setMessages:D,logs:E,sendMessage:F,loadHistory:H,clearLogs:I,chatRuns:J,setChatRuns:K,stop:L,stopThread:M}=(0,e.useGroupChat)(n),{activeAgents:N,processes:O,streaming:P,chatRuns:Q,poll:R}=(0,f.useProcessPolling)(n?{workspaceId:n}:null,{messages:C,setMessages:D}),S=(0,c.useMemo)(()=>{let a=Date.now(),b=new Map(Q.map(a=>[a.chatRunId,a]));for(let c of J)!(!c.optimistic||b.has(c.chatRunId))&&(a-(c.enqueuedAt??0)>5e3||b.set(c.chatRunId,c));return Array.from(b.values()).filter(a=>"queued"===a.status||"running"===a.status)},[J,Q]),T=N.size>0||S.some(a=>"running"===a.status)?"working":S.some(a=>"queued"===a.status)?"queued":"ready";(0,c.useEffect)(()=>{K(a=>{let b=Date.now(),c=new Map(a.filter(a=>"string"==typeof a.chatRunId&&a.chatRunId.length>0).map(a=>[a.chatRunId,a]));for(let a of Q)a?.chatRunId&&c.set(a.chatRunId,a);return Array.from(c.values()).filter(a=>!!(!a.optimistic||Q.some(b=>b.chatRunId===a.chatRunId))||b-(a.enqueuedAt??0)<=5e3).sort((a,b)=>String(a.chatRunId||"").localeCompare(String(b.chatRunId||"")))})},[Q,K]);let U=(0,c.useCallback)(async a=>{await fetch(`/api/chat-runs/${encodeURIComponent(a)}/signal`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({signal:"cancel",reason:"Stopped from chat UI"})}).catch(()=>{})},[]),V=(0,c.useCallback)(async()=>{let a=S[0];a?.chatRunId&&await U(a.chatRunId),await L(),await R()},[S,U,L,R]),W=(0,c.useCallback)(async a=>{let b=S.find(b=>b.rootMessageId===a);b?.chatRunId&&await U(b.chatRunId),await M(a),await R()},[S,U,M,R]),X=(0,c.useRef)(V);(0,c.useEffect)(()=>{X.current=V},[V]);let{projects:Y,createProject:Z,deleteProject:$,addAgent:_,removeAgent:aa,reorderAgents:ab}=(0,bk.useProjectsWithAgents)(),{projects:ac,updateProject:ad}=(0,bk.useProjects)(),ae=(0,c.useMemo)(()=>n?Y.filter(a=>a.thread_ids?.includes(n)):Y,[Y,n]),af=(0,c.useMemo)(()=>a||ae[0]?.slug||void 0,[a,ae]),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(!1),[al,an]=(0,c.useState)([]),[ao,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(()=>"light"),[at,au]=(0,c.useState)(!1),[av,aw]=(0,c.useState)(368),ax=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=(0,be.loadWorkspaceSidebarVisible)();ax.current=!0,au(a),aw((0,bf.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{},[ar]);let[ay,az]=(0,c.useState)(!1),[aA,aB]=(0,c.useState)(new Set),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(null),[aI,aJ]=(0,c.useState)(j??null),aK=l.get("open")?.trim()||null,aM=aI?aA.has(aI):aC;(0,c.useEffect)(()=>{if(!aI)return;let a=!1,b=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(aI)}`).then(a=>a.json()).then(b=>{a||aB(a=>{let c=a.has(aI);if(b.active&&!c){let b=new Set(a);return b.add(aI),b}if(!b.active&&c){let b=new Set(a);return b.delete(aI),b}return a})}).catch(()=>{})};b();let c=setInterval(b,1e4);return()=>{a=!0,clearInterval(c)}},[aI]),(0,c.useEffect)(()=>{let a=!1,b=()=>{fetch("/api/schedules").then(a=>a.json()).then(b=>{!a&&b.activeRootMessageIds&&aB(a=>{let c=new Set(b.activeRootMessageIds);return c.size===a.size&&[...c].every(b=>a.has(b))?a:c})}).catch(()=>{})};b();let c=setInterval(b,15e3);return()=>{a=!0,clearInterval(c)}},[]),(0,c.useEffect)(()=>{if(aI){let b=a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}?open=${encodeURIComponent(aI)}`:`/thread/${aI}`;window.history.replaceState(null,"",b)}else window.history.replaceState(null,"",a?`/projects/${a}/thread/${encodeURIComponent(n??i??"")}`:"/")},[n,i,aI,a]),(0,c.useEffect)(()=>{a&&aJ(a=>a===aK?a:aK)},[a,aK]),(0,c.useEffect)(()=>{j&&(async()=>{try{let a=await fetch(`/api/messages/${j}`);if(!a.ok)return;let{threadId:b}=await a.json();b&&o(b)}catch{}})()},[j,o]);let[aN,aO]=(0,c.useState)(""),[aP,aQ]=(0,c.useState)([]),[aR,aS]=(0,c.useState)(0),[aT,aU]=(0,c.useState)(!1),[aV,aW]=(0,c.useState)(null),[aX,aY]=(0,c.useState)(null),[aZ,a$]=(0,c.useState)(new Set),[a_,a0]=(0,c.useState)(null),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)({}),a5=(0,c.useCallback)(a=>{a4(b=>{let c="function"==typeof a?a(b):a;if(n)for(let[a,d]of Object.entries(c))b[a]!==d&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,messageId:a,draft:d})}).catch(()=>{});return c})},[n]),[a6,a7]=(0,c.useState)(new Set),[a8,a9]=(0,c.useState)(new Set),ba=(0,c.useRef)(null),bb=(0,c.useRef)(null),bc=(0,c.useRef)(null),bv=(0,c.useRef)(""),bA=(0,c.useCallback)(async(a=!1)=>{try{let a=await fetch("/api/participants");if(!a.ok)return;let b=await a.json();if(!Array.isArray(b))return;ai(b)}finally{a&&ak(!0)}},[]),bB=(0,c.useCallback)(async a=>{try{await (0,bi.updateUserPreferences)({threadSidebarVisible:a})}catch(a){console.error("Unable to persist thread sidebar preference",a)}},[bi.updateUserPreferences]),bC=(0,c.useCallback)(a=>{(0,be.persistWorkspaceSidebarVisible)(a),bB(a)},[bB]),bD=aN.trim(),bE=bD.length>0,bF=(0,c.useMemo)(()=>Object.fromEntries(m.map(a=>[a.id,a.title?.trim()||"Untitled thread"])),[m]),bG=(0,c.useMemo)(()=>{if(!aI)return[];let a=new Set([C.find(a=>a.id===aI),...C.filter(a=>a.rootMessageId===aI)].filter(Boolean).map(a=>a.participantId).filter(Boolean));return Object.keys(P).forEach(b=>{P[b].rootMessageId===aI&&a.add(b)}),ah.filter(b=>a.has(b.id))},[aI,C,P,ah]),bH=(0,c.useMemo)(()=>{let a=new Map(ah.map(a=>[a.id,a]));return al.map(b=>a.get(b)).filter(Boolean)},[ah,al]),bI=(0,c.useMemo)(()=>ac.map(a=>({id:a.id,name:a.name,slug:a.slug})),[ac]),bJ=(0,c.useMemo)(()=>{if(!aI)return 0;let a=[C.find(a=>a.id===aI),...C.filter(a=>a.rootMessageId===aI)].filter(Boolean);return 0===a.length?0:Math.max(...a.map(a=>a.timestamp))},[aI,C]),bK=(0,c.useMemo)(()=>{if(!aI)return"";let a=C.find(a=>a.id===aI);if(!a)return"Discussion";let b=a.content.trim();return b.length>60?b.slice(0,60)+"...":b},[aI,C]),bL=(0,c.useMemo)(()=>{if(!aI)return null;let a=C.find(a=>a.id===aI),b=a?.threadStatus??"active";return{value:b,...{active:{label:"Active",color:"#f59e0b"},paused:{label:"Paused",color:"#f97316"},"in-review":{label:"In Review",color:"#6b7280"},done:{label:"Done",color:"#3b82f6"},archived:{label:"Archived",color:"#9ca3af"}}[b]}},[aI,C]),bM=(0,c.useCallback)(()=>{aO(""),aQ([]),aS(0),aW(null),aU(!1)},[]);(0,c.useCallback)(()=>{let a=by(C,ah);navigator.clipboard.writeText(a).then(()=>{aq(!0),setTimeout(()=>aq(!1),2e3)})},[C,ah]);let[bN,bO]=(0,c.useState)(null),bP=(0,c.useCallback)(a=>{let b=C.find(b=>b.id===a);if(!b)return;let c=[b,...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)];bO({title:b.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:a,messages:c})},[C]),bQ=(0,c.useCallback)(a=>{let b=by([C.find(b=>b.id===a),...C.filter(b=>b.rootMessageId===a).sort((a,b)=>a.timestamp-b.timestamp)].filter(Boolean),ah,a3[a]);navigator.clipboard.writeText(b).catch(a=>console.error("Failed to copy thread",a))},[C,ah,a3]),bR=(0,c.useCallback)(async()=>{if(aI){aF(!0);try{let a=["repo"];af&&a.push("project");let b=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aI,scopes:a})}),c=await b.json().catch(()=>null);if(!b.ok)throw Error("string"==typeof c?.error?c.error:"Request failed");aH(c?.run??null)}catch(b){let a=b instanceof Error?b.message:"Request failed";window.alert(`Failed to extract knowledge: ${a}`)}finally{aF(!1)}}},[aI,af]);(0,c.useEffect)(()=>{if(!aI){aH(null),aF(!1);return}let a=!1;return(async()=>{try{let b=await bw(aI);if(a)return;aH(b)}catch{a||aH(null)}})(),()=>{a=!0}},[aI]),(0,c.useEffect)(()=>{if(!aI||aG?.status!=="running")return;let a=!1,b=async()=>{try{let b=await bw(aI);if(a)return;aH(b)}catch{}};b();let c=window.setInterval(()=>{b()},2e3);return()=>{a=!0,window.clearInterval(c)}},[aI,aG?.status]);let bS=aG?.status==="running",bT=aE||bS,bU=(aG?.repoInsertedCount??0)+(aG?.projectInsertedCount??0),bV=(0,c.useMemo)(()=>{if(!aG)return null;if("running"===aG.status)return"Learning in progress";if("failed"===aG.status)return"Last learning run failed";if(bU>0){let a=1===bU?"insight":"insights";return`Learned ${bU} ${a}`}return"No new learnings"},[bU,aG]);(0,c.useEffect)(()=>{bA(!0)},[bA]);let bW=(0,c.useMemo)(()=>{if(!aj)return[];let a=new Set(ah.map(a=>a.id)),b=new Set;for(let c of C)"assistant"===c.role&&c.participantId&&(a.has(c.participantId)||b.add(c.participantId));for(let c of Object.keys(P))a.has(c)||b.add(c);return Array.from(b).sort()},[C,ah,aj,P]);(0,c.useEffect)(()=>{if(!aj)return;let a=bW.join("|");if(!a){bv.current="";return}bv.current!==a&&(bv.current=a,bA(!1))},[aj,bA,bW]),(0,c.useEffect)(()=>{if(!aj)return;let a=bx(ah,Y,n);if(!n)return void an(a);let b=function(a){let b=a.trim();if(!b)return null;let c={...bg};return b in c.activeParticipantIdsByThread?[...c.activeParticipantIdsByThread[b]]:null}(n);if(null===b)return void an(a);let c=function(a,b){if(null===b)return a;let c=new Set(b);return a.filter(a=>c.has(a))}(a,b),d=c.length>0?c:a;(d.length!==b.length||d.some((a,c)=>b[c]!==a))&&bh(n,d),an(d)},[n,ah,aj,Y]),(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await (0,bi.fetchUserPreferences)();if(a)return;au(a=>a===b.threadSidebarVisible?a:ax.current?(bB(a),a):((0,be.persistWorkspaceSidebarVisible)(b.threadSidebarVisible),b.threadSidebarVisible))}catch(a){console.error("Failed to load user preferences",a)}})(),()=>{a=!0}},[bB]),(0,c.useEffect)(()=>{v||s||0!==m.length||p({id:"global",title:"General"})},[v,s,m.length,p]),(0,c.useEffect)(()=>()=>{bc.current&&window.clearTimeout(bc.current)},[]),(0,c.useEffect)(()=>{let a=a=>{if((a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()){a.preventDefault(),ba.current?.focus(),ba.current?.select();return}"Escape"===a.key&&bD&&bM()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[bM,bD]),(0,c.useEffect)(()=>{if(!bD){aQ([]),aS(0),aW(null),aU(!1);return}let a=!1;aU(!0);let b=window.setTimeout(()=>{(async()=>{try{let b=new URLSearchParams({q:bD,limit:"20",offset:"0"}),c=await fetch(`/api/search?${b.toString()}`),d=await c.json().catch(()=>null);if(a)return;if(!c.ok){let a=d&&"object"==typeof d&&"error"in d?String(d.error):"Search failed";aQ([]),aS(0),aW(a);return}aQ(Array.isArray(d.results)?d.results:[]),aS("number"==typeof d.total?d.total:0),aW(null)}catch(b){if(a)return;console.error("Search request failed",b),aQ([]),aS(0),aW("Search failed")}finally{a||aU(!1)}})()},300);return()=>{a=!0,window.clearTimeout(b)}},[bD]);let bX=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==bX.current&&bX.current!==n&&(X.current(),bb.current?(aJ(bb.current),bb.current=null):aJ(null)),bX.current=n,n&&(H(n),fetch(`/api/task-drafts?threadId=${encodeURIComponent(n)}`).then(a=>a.json()).then(a=>{a.drafts&&Object.keys(a.drafts).length>0?a4(a.drafts):a4({})}).catch(()=>a4({})))},[n,H]),(0,c.useEffect)(()=>{n&&r(n,C)},[n,C,r]);let bY=(0,c.useCallback)((a,b,c=10,d,e,f)=>{n&&0!==bH.length&&F(b,c,n,a,void 0,void 0,(0,aL.orderParticipantIds)(bH.map(a=>a.id),d),af,e,f)},[n,F,bH,af]),bZ=(0,c.useCallback)(async a=>{if(n){if(0===bH.length)return void window.alert("Enable at least one agent in this project.");a$(b=>new Set(b).add(a));try{let b=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bH.map(a=>a.id)})});b.ok?await H(n):console.error("Summarize failed:",await b.text())}catch(a){console.error("Summarize error:",a)}finally{a$(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,H,bH]),b$=(0,c.useCallback)(async a=>{if(n){if(0===bH.length)return void window.alert("Enable at least one agent in this project.");a7(b=>new Set(b).add(a));try{let b=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,rootMessageId:a,activeParticipantIds:bH.map(a=>a.id)})});if(b.ok){let c=await b.json(),d={draftId:crypto.randomUUID(),revision:0,tasks:c.tasks,buildStatus:"idle"};a5(b=>({...b,[a]:d}))}else console.error("Task extraction failed:",await b.text())}catch(a){console.error("Task extraction error:",a)}finally{a7(b=>{let c=new Set(b);return c.delete(a),c})}}},[n,bH]),b_=(0,c.useCallback)((a,b)=>{a5(c=>({...c,[a]:b}))},[]),b0=(0,c.useCallback)(async(a,b,c,d)=>{if(n){a9(a=>new Set(a).add(b.draftId)),a5(e=>({...e,[a]:{...b,buildStatus:"building",projectId:c,projectName:d}}));try{let d=crypto.randomUUID(),e=await G(b.tasks,c,d,b.builtTaskIds),f={...b.builtTaskIds},g=!1;for(let a of e.results)"created"===a.status&&a.remoteTaskId?f[a.clientTaskId]=a.remoteTaskId:g=!0;a5(b=>({...b,[a]:{...b[a],buildId:d,buildStatus:g?"partial_failure":"done",builtTaskIds:f}}))}catch(b){console.error("Build error:",b),a5(b=>({...b,[a]:{...b[a],buildStatus:"partial_failure"}}))}finally{a9(a=>{let c=new Set(a);return c.delete(b.draftId),c})}}},[n]),b1=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aI)return aI;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?b$(a):console.warn("No thread with replies available to extract tasks from")},[n,b$,C,aI]);(0,c.useCallback)(a=>{aJ(a)},[]);let b2=(0,c.useCallback)(a=>{aJ(a)},[]),b3=(0,c.useCallback)(a=>{let b=a?.trim()??"";b&&aO(b),requestAnimationFrame(()=>{ba.current?.focus(),b||ba.current?.select()})},[]),b4=(0,c.useCallback)(()=>{if(!n)return;let a=(()=>{if(aI)return aI;let a=new Set(C.map(a=>a.rootMessageId).filter(a=>!!a));for(let b=C.length-1;b>=0;b-=1){let c=C[b];if(!c.rootMessageId&&a.has(c.id))return c.id}return null})();a?bZ(a):console.warn("No thread with replies available to summarize")},[n,bZ,C,aI]),b5=(0,c.useCallback)(async(a,b,c,d,e,f,g)=>{let h=a.match(/^\/search(?:\s+([\s\S]+))?$/i);if(h)return void b3(h[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(a))return void b4();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(a)||/^\/create(?:\s+[\s\S]+)?$/i.test(a))return void b1();let i=n;i||(i=(await p()).id);let j=bH.map(a=>a.id);if(0===j.length)return void window.alert("Enable at least one agent in this project.");let k=(0,aL.orderParticipantIds)(j,e);if(aI)return void await F(a,b,i,aI,c,d,k,af,f,g);let l=await F(a,b,i,null,c,d,k,af,f,g);aC&&l&&(aD(!1),aB(a=>{let b=new Set(a);return b.add(l),b}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:l})}).catch(a=>console.error("Failed to activate schedule for new thread:",a)))},[n,aC,p,b3,b4,aI,bH,F,af]),b6=(0,c.useCallback)(async a=>{if(!aI)return void aD(a);aB(b=>{let c=new Set(b);return a?c.add(aI):c.delete(aI),c});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a?"activate":"stop",rootMessageId:aI})})}catch(a){console.error("Failed to toggle autonomous schedule:",a)}},[aI]),b7=(0,c.useCallback)(a=>{let b=a.rootMessageId||a.messageId;a.threadId!==n?(bb.current=b,o(a.threadId)):aJ(b),aY(null),window.requestAnimationFrame(()=>{aY(a.messageId),bc.current&&window.clearTimeout(bc.current),bc.current=window.setTimeout(()=>{aY(b=>b===a.messageId?null:b)},2e3)}),bM()},[n,bM,o]),b8=(0,c.useCallback)(async a=>{V(),await q(a)},[q,V]),b9=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a2({type:"thread",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),ca=(0,c.useCallback)(async a=>{if(n){a0(a),W(a);try{let b=new URLSearchParams({threadId:n,rootMessageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message thread",await c.text());aJ(b=>b===a?null:b),aY(null);let d=C.filter(b=>b.id!==a&&b.rootMessageId!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message thread",a)}finally{a0(b=>b===a?null:b)}}},[n,H,C,W,r]),cb=(0,c.useCallback)(a=>{if(!n||!a)return;let b=C.find(b=>b.id===a);a2({type:"message",id:a,preview:b?.content?.slice(0,120)||void 0})},[n,C]),cc=(0,c.useCallback)(async a=>{if(n)try{let b=new URLSearchParams({threadId:n,messageId:a}),c=await fetch(`/api/history?${b.toString()}`,{method:"DELETE"});if(!c.ok)return void console.error("Failed to delete message",await c.text());let d=C.filter(b=>b.id!==a);r(n,d),await H(n)}catch(a){console.error("Failed to delete message",a)}},[n,H,C,r]),cd=(0,c.useCallback)(()=>{a1&&("thread"===a1.type?ca(a1.id):cc(a1.id),a2(null))},[a1,ca,cc]),ce=(0,c.useCallback)(()=>{a2(null)},[]),cf=(0,c.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>b3()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>b4()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>b1()}],[b3,b4,b1]),cg=(0,c.useMemo)(()=>{let a=af?ae.find(a=>a.slug===af):ae[0];return a?.repos??[]},[ae,af]),[ch,ci]=(0,c.useState)(new Set),cj=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!aI){ci(new Set),cj.current=null;return}cj.current!==aI&&(ci(new Set),cj.current=aI,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(aI)}`).then(a=>a.json()).then(a=>{cj.current===aI&&a.repoIds&&a.repoIds.length>0&&ci(new Set(a.repoIds))}).catch(()=>{}))},[aI]);let ck=(0,c.useCallback)(a=>{ci(a),aI&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:aI,repoIds:[...a]})}).catch(()=>{})},[aI]),cl=(0,c.useCallback)(a=>{let c=O.some(b=>["spawning","running"].includes(b.state)&&b.threadId===a)||Object.values(P).some(b=>b.rootMessageId===a)?"working":S.some(b=>b.rootMessageId===a&&"queued"===b.status)?"queued":"ready";return(0,b.jsx)(bd,{onSend:(b,c,d,e,f,g,h)=>bY(a,b,c,f,g,h),onStop:()=>W(a),loading:"ready"!==c,activityStatus:c,participants:bH,projectGroups:ae,projects:bI,projectSlug:af,messages:C,commands:cf,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:aM,onAutoModeChange:b6,repos:cg,selectedRepoIds:ch,onRepoSelectionChange:ck})},[bY,W,P,bH,ae,bI,af,cf,C,aM,b6,O,S,cg,ch,ck]),cm=(0,c.useCallback)(()=>{au(a=>{let b=!a;return bC(b),b})},[bC]),cn=(0,c.useCallback)(a=>{aw(a),(0,bf.persistWorkspaceWidth)(a)},[]),co=async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok){let a=await b.json();ai(b=>b.map(b=>b.id===a.id?a:b))}},cp=(0,c.useCallback)((a,b)=>{an(c=>{let d=bx(ah,Y,n);if(!new Set(d).has(a))return c;let e=new Set(c);b?e.add(a):e.delete(a);let f=d.filter(a=>e.has(a));return n&&bh(n,f),f})},[n,ah,Y]),cq=(0,c.useCallback)(a=>{let b=Y.find(b=>b.id===a);if(!b||n&&!b.thread_ids?.includes(n))return;let c=b.agents.map(a=>a.agent_id);an(c),n&&bh(n,c)},[Y,n]),cr=(0,c.useCallback)(()=>{as(a=>"dark"===a?"light":"dark")},[]),cs=()=>(0,b.jsx)("button",{type:"button",onClick:cr,"aria-label":"dark"===ar?"Switch to light theme":"Switch to dark theme",title:"dark"===ar?"Switch to light theme":"Switch to dark theme",className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition-all hover:border-[var(--app-shell-border-strong)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:"dark"===ar?(0,b.jsx)(bq,{className:"h-4 w-4",strokeWidth:1.75}):(0,b.jsx)(bp,{className:"h-4 w-4",strokeWidth:1.75})}),ct=(0,b.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,b.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:k&&!at&&(0,b.jsx)("button",{type:"button",onClick:cm,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(bo,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,b.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,b.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[(0,b.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,b.jsx)(bl.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:2}),(0,b.jsx)("input",{ref:ba,type:"text",value:aN,onChange:a=>aO(a.target.value),onKeyDown:a=>{"Escape"===a.key&&bM()},placeholder:"Search messages…",className:"h-9 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-sm font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),bD?(0,b.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:aT?"…":aR}),(0,b.jsx)("button",{type:"button",onClick:bM,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[cs(),(0,b.jsx)(bu,{}),aI&&(0,b.jsx)("button",{type:"button",onClick:()=>az(!ay),"aria-label":ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":ay,title:ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${ay?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--app-shell-bg)] text-[var(--foreground)]",children:[k?(0,b.jsx)(h.WorkspaceSidebar,{threads:m,participants:ah,activeThreadId:n,isLoading:v,isRestoringActiveThread:w,isCreating:s,deletingThreadId:t,renamingThreadId:u,onSelectThread:o,onCreateThread:p,onRenameThread:x,onDeleteThread:b8,activeParticipantIds:al,onToggleParticipantActive:cp,visible:at,onToggle:cm,width:av,onWidthChange:cn,projects:Y,onCreateProject:Z,onUpdateProject:ad,onDeleteProject:$,onAddAgentToProject:_,onRemoveAgentFromProject:aa,onReorderProjectAgents:ab,onUpdateParticipant:co,onSelectProject:cq}):null,(0,b.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:w?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,b.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[aI?(0,b.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6 transition-colors duration-200 shrink-0",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[(0,b.jsx)("button",{onClick:()=>aJ(null),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0",title:"Back to main feed",children:(0,b.jsx)(bm.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:bK}),bL&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border shrink-0",style:{borderColor:bL.color+"40",color:bL.color},children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:bL.color}}),bL.label]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,b.jsxs)("span",{className:"opacity-80",children:[bG.length," agents"]}),(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsxs)("span",{className:"opacity-80",children:["Updated ",function(a){if(!a)return"recently";let b=Math.floor((Date.now()-a)/1e3);if(b<60)return"just now";let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)}(bJ)]}),bV&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,b.jsx)("span",{className:"opacity-80",children:bV})]})]})]}),(0,b.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:bG.map(a=>(0,b.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${a.id}&backgroundColor=${a.color?a.color.replace("#",""):"e2e8f0"}`,alt:a.name,className:"h-7 w-7 rounded-full border-2 border-[var(--app-shell-elevated)] object-cover shadow-sm ring-1 ring-[var(--app-shell-border)]",title:a.name},a.id))}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>void bR(),disabled:bT,title:bS?"Learning is already running for this discussion":"Learn from this discussion",className:`inline-flex h-9 items-center gap-1.5 rounded-xl border px-3 text-xs font-medium transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${bT?"cursor-wait border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:[bT?(0,b.jsx)(bs.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,b.jsx)(br.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,b.jsx)("span",{className:"hidden sm:inline",children:bS?"Learning...":"Learn from discussion"})]}),cs(),(0,b.jsx)(bu,{}),(0,b.jsx)("button",{type:"button",onClick:()=>az(!ay),"aria-label":ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,"aria-pressed":ay,title:ay?"Hide logs":`Show logs${E.length>0?` (${E.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${ay?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,b.jsx)(bn,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):ct,bE?(0,b.jsx)(ap,{query:bD,results:aP,total:aR,participants:ah,threadTitleById:bF,isLoading:aT,error:aV,onSelectResult:b7}):aI?(0,b.jsx)(am,{messages:C,streaming:P,participants:ah,rootMessageId:aI,queued:S.some(a=>a.rootMessageId===aI&&"queued"===a.status),onClose:()=>aJ(null),onCopyThread:bQ,onAddToChat:bP,onDeleteThreadRoot:b9,onDeleteMessage:cb,highlightedMessageId:aX||void 0,renderReplyComposer:cl,activeProcesses:O.filter(a=>["spawning","running"].includes(a.state)&&a.threadId===aI)}):(0,b.jsx)(ag,{messages:C,streaming:P,participants:ah,onOpenThread:b2,onCopyThread:bQ,onAddToChat:bP,onDeleteThreadRoot:b9,onSummarize:bZ,onCreateTasks:b$,onUpdateTaskDraft:b_,onBuildTasks:b0,summarizingThreads:aZ,extractingTasks:a6,buildingDrafts:a8,taskDrafts:a3,deletingThreadRootId:a_,highlightedMessageId:aX,shipModeThreads:aA,onUpdateMessageThreadStatus:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,threadStatus:b}:c)),A(n,a,b),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:b})})}:void 0,onUpdateMessageOutcomeNote:n?(a,b)=>{D(c=>c.map(c=>c.id===a?{...c,outcomeNote:b}:c)),B(n,a,b);let c=C.find(b=>b.id===a);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:a,status:c?.threadStatus??null,outcomeNote:b})})}:void 0}),!bE&&!aI&&(0,b.jsx)(bd,{onSend:b5,onStop:V,loading:"ready"!==T,activityStatus:T,participants:bH,projects:bI,projectGroups:ae,projectSlug:af,messages:C,commands:cf,pendingThreadInsert:bN,onClearPendingThread:()=>bO(null),autoMode:aM,onAutoModeChange:b6,repos:cg,selectedRepoIds:ch,onRepoSelectionChange:ck})]})})}),j&&(0,b.jsx)(bt,{logs:E,participants:ah,onClear:()=>void I(n),open:ay,onToggle:()=>az(!1)}),(0,b.jsx)(bj.default,{isOpen:null!==a1,title:a1?.type==="thread"?"Delete Discussion":"Delete Message",message:a1?.type==="thread"?"This will permanently delete this discussion and all of its replies. This action cannot be undone.":"This will permanently delete this message. This action cannot be undone.",preview:a1?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:cd,onCancel:ce})]})}a.s(["ChatContainer",()=>bz],124610)}];
12
12
 
13
13
  //# sourceMappingURL=components_chat-ui_bfeda794._.js.map
@@ -1,3 +1,3 @@
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)}];
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,width:X,onWidthChange:Y}){let Z,$,_=(0,c.useRef)(!1);(0,c.useRef)(0);let aa=(0,c.useRef)(null),[ab,ac]=(0,c.useState)(!1),[ad,ae]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{if(ad.size>0||!L?.length)return;let a=L.find(a=>!1);ae(new Set([a?.id??L[0].id]))},[L]);let[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)(new Set),[aj,ak]=(0,c.useState)(!1),[al,am]=(0,c.useState)(null),[an,ao]=(0,c.useState)(null),ap=(0,u.useProjectFormState)(),[aq,ar]=(0,c.useState)(null),as=(0,c.useCallback)(a=>{a&&(a.focus(),a.select())},[]),[at,au]=(0,c.useState)(null),[av,aw]=(0,c.useState)(null),ax=av?v.find(a=>a.id===av)??null:null,[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(null),aC=async()=>{if(!al&&!an)return;if(!ap.form.name.trim())return void ap.setFormError("Project name is required");let a=ap.repos.find(a=>a.name.trim()&&!a.path.trim());if(a)return void ap.setFormError(`Local path is required for folder "${a.name}"`);ap.setFormError(null),ap.setIsSubmitting(!0);let b=(0,u.createProjectPayload)(ap.form,ap.repos);an?await N?.(an.id,b):await M?.(b,al?.threadId),ap.setIsSubmitting(!1),am(null),ao(null)},aD=async a=>{ap.resetForm();try{let b=await fetch(`/api/projects/${a}`);if(!b.ok)throw Error("Failed to load project");let c=(await b.json()).project;ao(c),ap.hydrateFromProject(c)}catch(a){console.error("Failed to load project settings",a)}};(0,c.useEffect)(()=>{ac(!0)},[]),(0,c.useEffect)(()=>{let a=!1;async function b(){if(ay?.repoId)try{let b=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(ay.repoId)}`),c=(b.ok?await b.json():{note:null}).note;a||az(a=>a&&a.repoId===ay.repoId?{...a,generatedKnowledge:c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt}]:[],isLoadingKnowledge:!1}:a)}catch{a||az(a=>a&&a.repoId===ay.repoId?{...a,generatedKnowledge:[],isLoadingKnowledge:!1}:a)}}return ay?.repoId&&b(),()=>{a=!0}},[ay?.repoId]);let aE=a=>{R?R(a):(ai(new Set),ag({projectId:a}))},aF=af?L.find(a=>a.id===af.projectId):null,aG=new Set(aF?.agents.map(a=>a.agent_id)??[]),aH=af?v.filter(a=>!aG.has(a.id)):[],aI=a.length>0,aJ=!!H,aK=[...a].sort((a,b)=>(a.title??"").localeCompare(b.title??"")),aL=new Map(a.map(a=>[a.id,a])),aM=L.filter(a=>!a.is_default),aN=aK.filter(a=>!aM.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:aa,shouldFocus:aJ&&!(x&&!aI||I&&aI)&&!aI&&!y});let aO=()=>{ar({title:"Create chat",placeholder:"Chat title",defaultValue:"",onSubmit:a=>void A({title:a})})};return aJ?(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":x?"true":void 0,style:X?{width:`${X}px`,minWidth:`${X}px`}: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:()=>{ap.resetForm(),ao(null),am({})},"aria-label":"Create project",title:"Create project",children:(0,b.jsx)(m.Plus,{size:14})})})]}),aM.map(a=>{let c=ad.has(a.id),d=aK.filter(b=>a.thread_ids?.includes(b.id)),k=a.id===V,n=a.thread_ids?.find(a=>aL.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 ae(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 aD(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 au({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:aO,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:()=>az({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:()=>az({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:()=>aE(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=aA?.projectId===a.id&&aA?.agentId===c.agent_id,g=aA?.projectId===a.id&&aA?.overIndex===d&&!f;return(0,b.jsx)("div",{draggable:!0,onDragStart:b=>{b.dataTransfer.effectAllowed="move",aB({projectId:a.id,agentId:c.agent_id,overIndex:d})},onDragOver:b=>{b.preventDefault(),aA&&aA.projectId===a.id&&aB(a=>a?{...a,overIndex:d}:null)},onDragEnd:()=>{if(aA&&aA.projectId===a.id&&S){let b=a.agents.map(a=>a.agent_id),c=b.indexOf(aA.agentId),d=aA.overIndex;if(-1!==c&&c!==d){let e=[...b],[f]=e.splice(c,1);e.splice(d,0,f),S(a.id,e)}}aB(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:()=>aw(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:()=>aE(a.id),children:[(0,b.jsx)(m.Plus,{size:10}),(0,b.jsx)("span",{children:"Add agents"})]})]})]})]},a.id)}),aN.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"}),aN.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"]})}),ab&&ay&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{ay.isSaving||az(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:ay.projectName}),(0,b.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:ay.repoId?ay.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:()=>{ay.isSaving||az(null)},"aria-label":"Close folder details",disabled:ay.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:ay.name,onChange:a=>az(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:ay.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:ay.path,onChange:a=>az(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:ay.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:ay.isSaving,onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&az(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:ay.notes,onChange:a=>az(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:ay.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),ay.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"}),ay.isLoadingKnowledge?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):ay.generatedKnowledge.length>0?(0,b.jsx)("div",{className:"space-y-2",children:ay.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,ay.error?(0,b.jsx)("p",{className:"text-xs text-red-600",children:ay.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:()=>az(null),disabled:ay.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:ay.isSaving||!N,onClick:async()=>{let a=L.find(a=>a.id===ay.projectId);if(!a)return void az(a=>a?{...a,error:"Project not found."}:a);let b=ay.name.trim(),c=ay.path.trim();if(!b)return void az(a=>a?{...a,error:"Folder name is required."}:a);if(!c)return void az(a=>a?{...a,error:"Folder path is required."}:a);az(a=>a?{...a,isSaving:!0,error:null}:a);try{let d=ay.repoId?a.repos.map(a=>a.id===ay.repoId?{id:a.id,name:b,path:c,git_url:ay.gitUrl.trim()||void 0,notes:ay.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:ay.gitUrl.trim()||void 0,notes:ay.notes.trim()||void 0}];await N?.(a.id,{repos:d}),az(null)}catch(a){az(b=>b?{...b,isSaving:!1,error:a instanceof Error?a.message:"Failed to save folder details."}:b)}},children:ay.isSaving?"Saving...":ay.repoId?"Save":"Add Folder"})]})]})]})}),document.body),ab&&af&&!aj&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ag(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 ",aF?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ag(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:()=>ak(!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===aH.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"}):aH.map(a=>{let c=ah.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:()=>{ai(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)})]}),aH.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:()=>ag(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===ah.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 ah)P?.(af.projectId,a);ag(null)},children:["Add ",ah.size>0?`(${ah.size})`:""]})]})]})}),document.body),ab&&aj&&(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:af?[af.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);ak(!1),ag(null)}},onCancel:()=>{ak(!1)}}),document.body),ab&&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)("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&&(aq.onSubmit(c),ar(null))},children:[(0,b.jsx)("input",{ref:as,name:"value",type:"text",defaultValue:aq.defaultValue,placeholder:aq.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:()=>ar(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:aq.defaultValue?"Save":"Create"})]})]})]})}),document.body),ab&&at&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>au(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:at.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>au(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:at.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:()=>au(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:()=>{at.onConfirm(),au(null)},children:"Delete"})]})]})]})}),document.body),ab&&(al||an)&&(0,d.createPortal)((0,b.jsx)(u.default,{isOpen:!0,onClose:()=>{ap.resetForm(),am(null),ao(null)},onSubmit:()=>void aC(),editingProject:an,form:ap.form,repos:ap.repos,isSubmitting:ap.isSubmitting,formError:ap.formError,onFieldChange:(a,b)=>ap.setForm(c=>({...c,[a]:b})),onRepoChange:ap.handleRepoChange,onAddRepo:ap.addRepo,onRemoveRepo:ap.removeRepo}),document.body),ab&&ax&&(0,d.createPortal)((Z=L.filter(a=>a.agents.some(a=>a.agent_id===ax.id)),$=L.filter(a=>!a.agents.some(a=>a.agent_id===ax.id)),(0,b.jsx)(t.AgentForm,{title:"Edit agent",initial:{name:ax.name,title:ax.title||"",provider:ax.provider,model:ax.model||"",identity:ax.identity||"",color:ax.color,skills:ax.skills||[],skillBindings:ax.skillBindings||[]},agentId:ax.id,submitLabel:"Save",projectMemberships:{current:Z.map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:$.map(a=>({id:a.id,name:a.name}))},onAddToProject:P?a=>P(a,ax.id):void 0,onRemoveFromProject:Q?a=>Q(a,ax.id):void 0,onSubmit:async a=>{T&&await T({...ax,name:a.name,title:a.title||void 0,provider:a.provider,model:a.model,color:a.color??ax.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[]}),aw(null)},onCancel:()=>aw(null)})),document.body),Y&&(0,b.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:a=>{a.preventDefault(),_.current=!0;let b=a.clientX,c=X??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let d=a=>{Y(Math.max(200,Math.min(600,c+a.clientX-b)))},e=()=>{_.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",e)},children:(0,b.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]}):(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
@@ -0,0 +1,3 @@
1
+ module.exports=[292e3,a=>{"use strict";let b=(0,a.i(883706).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],292e3)},862722,a=>{"use strict";let b=(0,a.i(883706).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],862722)},501027,a=>{"use strict";let b=(0,a.i(883706).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],501027)},883706,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],883706)},915618,a=>{"use strict";let b=(0,a.i(883706).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],915618)},641710,a=>{"use strict";let b=(0,a.i(883706).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],641710)},613749,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],613749)},167453,a=>{"use strict";let b=(0,a.i(883706).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],167453)},165385,a=>{"use strict";let b=(0,a.i(883706).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",()=>b],165385)},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},325015,a=>{"use strict";let b=(0,a.i(883706).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>b],325015)},104416,a=>{"use strict";let b=(0,a.i(883706).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],104416)}];
2
+
3
+ //# sourceMappingURL=node_modules_lucide-react_dist_esm_54bf563f._.js.map
@@ -20,11 +20,11 @@
20
20
  "wasm": [],
21
21
  "assets": [],
22
22
  "env": {
23
- "__NEXT_BUILD_ID": "lOB5InbmVcurTLQo9J3KK",
24
- "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "qZrWyRCNr1m5Hu09vgEN4Dc75fYuhiu6ESoOkKM5nB8=",
25
- "__NEXT_PREVIEW_MODE_ID": "6b9977714db8ce5a62d4cf5004b2c2bd",
26
- "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "79e3e0e03f150998791bdda33a825307f3ef1cbd661280ca8c4f16a2a5402aa6",
27
- "__NEXT_PREVIEW_MODE_SIGNING_KEY": "eee63ff651e67ea1e8e5cb2b74a45bc0e8d47967549784e92c1e4a49708d27fe"
23
+ "__NEXT_BUILD_ID": "ZkFZnP5h74O7GgdHudXgH",
24
+ "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "nFPvPLk4pxLuto4LienyONhmh0GOF2nzD0yHQLwr8IQ=",
25
+ "__NEXT_PREVIEW_MODE_ID": "a99d48a5c69a15897ca6c78c1f947c78",
26
+ "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "18d6a44346e98b5037774e2e904b91eb51717a86407e81d2556c494c762ec68c",
27
+ "__NEXT_PREVIEW_MODE_SIGNING_KEY": "5b4518a3e04da1429953770e1d76764e148ef4b69a97d3fc0cc32e88be5c6ed5"
28
28
  }
29
29
  }
30
30
  },
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><!--lOB5InbmVcurTLQo9J3KK--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/2473c16c0c2f6b5f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/8aeb69ceb497ad85.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1d8496cecfe9a523.js"/><script src="/_next/static/chunks/de271f8f22d293b4.js" async=""></script><script src="/_next/static/chunks/961311cbebbffb6d.js" async=""></script><script src="/_next/static/chunks/2375e3fd2a9b8844.js" async=""></script><script src="/_next/static/chunks/797fcb0710da3be2.js" async=""></script><script src="/_next/static/chunks/turbopack-0ace1f53f3e3cf46.js" async=""></script><script src="/_next/static/chunks/c3784233f00e1ff5.js" async=""></script><script src="/_next/static/chunks/012b9216c9932478.js" async=""></script><script src="/_next/static/chunks/73e3194f06db260e.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-DVQQG95LNL" as="script"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>AGX</title><meta name="description" content="Agent task orchestration and group chat"/><script>
1
+ <!DOCTYPE html><!--ZkFZnP5h74O7GgdHudXgH--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/2473c16c0c2f6b5f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/18866ed04ed3a063.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/1d8496cecfe9a523.js"/><script src="/_next/static/chunks/de271f8f22d293b4.js" async=""></script><script src="/_next/static/chunks/961311cbebbffb6d.js" async=""></script><script src="/_next/static/chunks/2375e3fd2a9b8844.js" async=""></script><script src="/_next/static/chunks/797fcb0710da3be2.js" async=""></script><script src="/_next/static/chunks/turbopack-0ace1f53f3e3cf46.js" async=""></script><script src="/_next/static/chunks/c3784233f00e1ff5.js" async=""></script><script src="/_next/static/chunks/012b9216c9932478.js" async=""></script><script src="/_next/static/chunks/73e3194f06db260e.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-DVQQG95LNL" as="script"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>AGX</title><meta name="description" content="Agent task orchestration and group chat"/><script>
2
2
  (() => {
3
3
  try {
4
4
  const storedTheme = localStorage.getItem("agx-theme");
@@ -10,4 +10,4 @@
10
10
  root.style.colorScheme = theme;
11
11
  } catch {}
12
12
  })();
13
- </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased min-h-screen overflow-x-hidden overflow-y-auto bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen flex items-center justify-center bg-[var(--background)]"><span class="spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"></span></div><script src="/_next/static/chunks/1d8496cecfe9a523.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[634088,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"default\"]\n3:I[339756,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n4:I[837457,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n5:I[205529,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"default\"]\n6:I[134377,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"GoogleAnalytics\"]\n7:I[715816,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"PostHogAnalytics\"]\n8:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"ViewportBoundary\"]\nd:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"MetadataBoundary\"]\nf:I[253348,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n:HL[\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"style\"]\n:HL[\"/_next/static/chunks/8aeb69ceb497ad85.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"lOB5InbmVcurTLQo9J3KK\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/8aeb69ceb497ad85.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c3784233f00e1ff5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n(() =\u003e {\\n try {\\n const storedTheme = localStorage.getItem(\\\"agx-theme\\\");\\n const theme = storedTheme === \\\"dark\\\" || storedTheme === \\\"light\\\"\\n ? storedTheme\\n : (window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches ? \\\"dark\\\" : \\\"light\\\");\\n const root = document.documentElement;\\n root.classList.toggle(\\\"dark\\\", theme === \\\"dark\\\");\\n root.style.colorScheme = theme;\\n } catch {}\\n})();\\n\"}}]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased min-h-screen overflow-x-hidden overflow-y-auto bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"AGX\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent task orchestration and group chat\"}]]\n"])</script></body></html>
13
+ </script><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased min-h-screen overflow-x-hidden overflow-y-auto bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen flex items-center justify-center bg-[var(--background)]"><span class="spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"></span></div><script src="/_next/static/chunks/1d8496cecfe9a523.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[634088,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"default\"]\n3:I[339756,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n4:I[837457,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n5:I[205529,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"default\"]\n6:I[134377,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"GoogleAnalytics\"]\n7:I[715816,[\"/_next/static/chunks/c3784233f00e1ff5.js\"],\"PostHogAnalytics\"]\n8:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"ViewportBoundary\"]\nd:I[897367,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"MetadataBoundary\"]\nf:I[253348,[\"/_next/static/chunks/012b9216c9932478.js\",\"/_next/static/chunks/73e3194f06db260e.js\"],\"default\"]\n:HL[\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"style\"]\n:HL[\"/_next/static/chunks/18866ed04ed3a063.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ZkFZnP5h74O7GgdHudXgH\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/18866ed04ed3a063.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/c3784233f00e1ff5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n(() =\u003e {\\n try {\\n const storedTheme = localStorage.getItem(\\\"agx-theme\\\");\\n const theme = storedTheme === \\\"dark\\\" || storedTheme === \\\"light\\\"\\n ? storedTheme\\n : (window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches ? \\\"dark\\\" : \\\"light\\\");\\n const root = document.documentElement;\\n root.classList.toggle(\\\"dark\\\", theme === \\\"dark\\\");\\n root.style.colorScheme = theme;\\n } catch {}\\n})();\\n\"}}]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased min-h-screen overflow-x-hidden overflow-y-auto bg-[var(--background)] text-[var(--foreground)] selection:bg-[var(--primary)] selection:text-[var(--primary-foreground)]\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"a:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"AGX\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent task orchestration and group chat\"}]]\n"])</script></body></html>