@mndrk/agx 2.0.55 → 2.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +5 -0
  2. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +1 -0
  4. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
  7. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +8 -0
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +3 -2
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +17 -7
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +4 -4
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +2 -2
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +1 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +237 -0
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +2 -2
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +49 -0
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0gvjvx7._.js → [root-of-the-server]__0xdp_8-._.js} +25 -25
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +9 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +3 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +11 -10
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +3 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +3 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +3 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +3 -0
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +18 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +3 -0
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0hd2vo4._.js → [root-of-the-server]__0y8j6el._.js} +2 -2
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +3 -0
  261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +3 -0
  262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +3 -0
  263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
  264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
  265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_09b42z9._.js → _09~glsn._.js} +2 -2
  266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
  267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
  268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +2 -2
  269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
  270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
  271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_03rf_sb._.js → _0wk3skw._.js} +2 -2
  272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +2 -2
  273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
  274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_4hk8x._.js +3 -0
  276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
  277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
  278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
  279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0nvzo3y._.js +3 -0
  280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  286. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
  288. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  289. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
  290. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
  291. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
  292. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +4 -4
  293. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
  295. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  296. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  297. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  299. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  300. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  303. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
  304. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
  305. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +20 -0
  307. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 00lise4d-u8d1.js} +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0~apd0q5_i88z.js → 02p3n7faotpr9.js} +2 -2
  309. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02zcxdul-1jaf.js +28 -0
  310. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +1 -0
  311. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +1 -0
  312. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
  313. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08~pgzjb13k_v.js +5 -0
  314. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +1 -0
  315. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
  316. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +20 -0
  317. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
  318. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0.a4-dh~x9sa3.js → 0hudzktaaxr4g.js} +2 -2
  319. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{09-_2lcshmjl5.js → 0hzq698w6f4m6.js} +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +37 -0
  321. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jonp-o8lh-4j.js +1 -0
  322. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +1 -0
  323. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +5 -0
  324. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
  325. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
  326. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
  327. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mvqoz13v0o2a.js +5 -0
  328. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o9cxba_5mv2c.js +5 -0
  329. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +1 -0
  330. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +16 -0
  331. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0rey9zfvm3yhd.js} +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +1 -0
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0ov5lu0tz2o2e.js → 104xjvrf6y-zq.js} +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 11-u35xqxu~i-.js} +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o0hwfzwwty4b.js → 15jlly_p-g4c8.js} +2 -2
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +5 -0
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
  344. package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
  345. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
  346. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +16 -0
  347. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +8 -1
  348. package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
  349. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
  350. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
  351. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
  352. package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
  353. package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
  354. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
  355. package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
  356. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -14
  357. package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
  358. package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
  359. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +382 -13
  360. package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
  361. package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
  362. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +46 -6
  363. package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
  364. package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
  365. package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
  366. package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
  367. package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
  368. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
  369. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
  370. package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
  371. package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
  372. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +29 -14
  373. package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
  374. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
  375. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
  376. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
  377. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +172 -49
  378. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
  379. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +347 -168
  380. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
  381. package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
  382. package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
  383. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +50 -50
  384. package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
  385. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
  386. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
  387. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
  388. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
  389. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +3 -3
  390. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +211 -77
  391. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
  392. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
  393. package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
  394. package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
  395. package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
  396. package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
  397. package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
  398. package/cloud-runtime/standalone/apps/local/package.json +2 -2
  399. package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
  400. package/cloud-runtime/standalone/apps/local/server.js +1 -1
  401. package/cloud-runtime/standalone/apps/local/server.ts +14 -158
  402. package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
  403. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
  404. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +325 -88
  405. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +20 -0
  406. package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
  407. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
  408. package/cloud-runtime/standalone/apps/local/worker/index.js +0 -4
  409. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  410. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  411. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  412. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  413. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  414. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  415. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  416. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  417. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  418. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  419. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  420. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  421. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  422. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  423. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  424. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  425. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  426. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  427. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  428. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  429. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  430. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  431. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  432. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  433. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  434. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  435. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  436. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  437. package/lib/cli/daemon.js +13 -2
  438. package/lib/cli/onboarding.js +5 -6
  439. package/lib/cli/runCli.js +1 -1
  440. package/lib/cloud/client.js +1 -1
  441. package/lib/commands/chat.js +37 -11
  442. package/lib/commands/daemonBoard.js +19 -13
  443. package/lib/config/cloudConfig.js +1 -1
  444. package/lib/orchestrator/httpClient.js +1 -1
  445. package/lib/prompts/templates.js +8 -9
  446. package/package.json +1 -1
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01ol22y._.js +0 -3
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__094z9yf._.js +0 -9
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0avz575._.js +0 -49
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
  453. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
  454. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
  455. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
  456. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
  457. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
  458. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
  459. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +0 -3
  460. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
  461. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +0 -3
  462. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
  463. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
  464. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
  465. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
  466. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
  467. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
  468. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
  469. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
  470. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
  471. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
  472. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
  473. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
  480. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
  481. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
  482. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
  483. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
  484. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
  485. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
  486. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
  487. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
  488. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
  489. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
  490. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
  491. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
  492. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
  493. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
  494. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
  495. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
  496. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
  497. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
  498. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
  499. package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
  500. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
  501. package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
  502. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_buildManifest.js +0 -0
  503. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_clientMiddlewareManifest.js +0 -0
  504. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,186552,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(810605),s=e.i(66386),l=e.i(945028),n=e.i(490011),i=e.i(969039),o=e.i(44054),d=e.i(749410),c=e.i(522016),u=e.i(208343),p=e.i(884564),h=e.i(423709);function m(){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function f({participantId:e,participantName:a,participantColor:r,content:s}){let l=(0,h.stripMarkers)(s),n=l.length>0;return(0,t.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)(c.default,{href:`/agents/${e}`,className:"w-9 h-9 rounded-full bg-[var(--muted)] overflow-hidden shrink-0 shadow-sm border border-[var(--border)] hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(e,36,r),alt:"",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,t.jsx)(c.default,{href:`/agents/${e}`,className:"font-bold text-[15px] hover:underline",style:{color:r},children:a}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)] font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,t.jsx)("div",{className:"text-[15px] text-[var(--foreground)] leading-relaxed min-h-[1.5rem] flex items-center",children:n?(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(u.Markdown,{content:l}),(0,t.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[var(--muted-foreground)] italic",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,t.jsx)(m,{})]})})]})]})}var x=e.i(575479),g=e.i(80673);function v({attachments:e,compact:a=!1}){if(0===e.length)return null;let r=e.filter(e=>e.mimeType.startsWith("image/")),s=e.filter(e=>!e.mimeType.startsWith("image/")),l=a?"max-w-[120px]":"max-w-[240px]",n=a?"max-h-[90px]":"max-h-[180px]";return(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[r.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r.map(e=>(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-[var(--border)] hover:border-[var(--border)] transition-colors",children:(0,t.jsx)("img",{src:e.url,alt:e.filename,className:`${l} ${n} object-cover`,loading:"lazy"})},e.id))}),s.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>{var r;return(0,t.jsxs)("a",{href:e.url,download:e.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:border-[var(--border)] transition-colors ${a?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,t.jsx)(x.FileText,{className:`text-[var(--muted-foreground)] shrink-0 ${a?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,t.jsx)("span",{className:`truncate ${a?"max-w-[100px]":"max-w-[150px]"}`,children:e.filename}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0",children:(r=e.size)<1024?`${r}B`:r<1048576?`${(r/1024).toFixed(0)}KB`:`${(r/1048576).toFixed(1)}MB`}),(0,t.jsx)(g.Download,{className:`text-[var(--muted-foreground)] shrink-0 ${a?"w-2.5 h-2.5":"w-3 h-3"}`})]},e.id)})})]})}var b=e.i(997626),j=e.i(363732);let w=(0,j.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var y=e.i(498027),k=e.i(367859),N=e.i(929870),C=e.i(797167);let S=(0,j.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var I=e.i(19035),T=e.i(529471),M=e.i(247167);let $=M.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function R(){let e=await fetch(`${$}/api/projects`);if(!e.ok){if(503===e.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${e.status}`)}let t=await e.json();return t.projects??t}async function P(e,t){let a=await fetch(`${$}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,description:t})});if(!a.ok)throw Error(`Failed to create project: ${a.status}`);return a.json()}async function A(e,t){let a=await fetch(`${$}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,...t})});if(!a.ok)throw Error(`Failed to create task: ${a.status}`);let r=await a.json(),s=r.task??r;return r.id&&!s.id&&(s.id=r.id),s}async function E(e){let t=await fetch(`${$}/api/tasks/${e}`);if(!t.ok)return null;let a=await t.json();return a.task??a}async function _(e,t,a,r){let s=[],l={...r},n=new Map((function(e){let t=new Set(e.map(e=>e.id)),a=new Map;for(let r of e)a.set(r.id,(r.dependsOn||[]).filter(e=>t.has(e)));let r=[],s=new Set,l=new Set;for(let t of e)!function t(n){if(!s.has(n)&&!l.has(n)){for(let e of(l.add(n),a.get(n)||[]))t(e);l.delete(n),s.add(n),r.push(e.find(e=>e.id===n))}}(t.id);return r})(e).map(e=>[e.id,e]));for(;n.size>0;){let e=[];for(let t of n.values())(t.dependsOn||[]).every(e=>!n.has(e)||l[e])&&e.push(t);0===e.length&&e.push(...n.values());let a=await Promise.allSettled(e.map(async e=>{let a=l[e.id];if(a&&await E(a))return{task:e,remoteId:a};let r=(e.dependsOn||[]).map(e=>l[e]).filter(Boolean),s=await A(e.description,{title:e.title,project_id:t,depends_on:r.length>0?r:void 0});return{task:e,remoteId:s.id}}));for(let t of a)if("fulfilled"===t.status){let{task:e,remoteId:a}=t.value;l[e.id]=a,s.push({clientTaskId:e.id,remoteTaskId:a,status:"created"}),n.delete(e.id)}else{let r=e[a.indexOf(t)];s.push({clientTaskId:r.id,status:"failed",error:t.reason instanceof Error?t.reason.message:"Unknown error"}),n.delete(r.id)}}return{buildId:a,projectId:t,results:s}}var O=e.i(906724),U=e.i(538292),z=e.i(958164);function D({onSelect:e,onClose:r}){let[s,l]=(0,a.useState)([]),[n,i]=(0,a.useState)(!0),[o,d]=(0,a.useState)(null),[c,u]=(0,a.useState)(!1),[p,h]=(0,a.useState)(""),[m,f]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{try{let e=await R();l(e)}catch(e){e instanceof Error&&"SCHEMA_NOT_READY"===e.message?d("agx-cloud database not ready. Run migrations first."):d("Failed to load projects. Is agx-cloud running?")}finally{i(!1)}})()},[]);let x=(0,a.useCallback)(async()=>{let t=p.trim();if(t){u(!0);try{let a=await P(t);e(a.id,a.name)}catch(e){d("Failed to create project")}finally{u(!1)}}},[p,e]);return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"bg-[var(--app-shell-elevated)] rounded-2xl shadow-xl border border-[var(--app-shell-border)] w-full max-w-sm mx-4 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-[var(--app-shell-border)]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(U.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)]"}),(0,t.jsx)("h3",{className:"text-sm font-bold text-[var(--foreground)]",children:"Select Project"})]}),(0,t.jsx)("button",{type:"button",onClick:r,className:"p-1 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-md hover:bg-[var(--app-shell-subtle)]",children:(0,t.jsx)(C.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[n&&(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(O.Loader2,{className:"w-5 h-5 text-[var(--app-shell-muted)] animate-spin"})}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,t.jsx)(z.AlertTriangle,{className:"w-4 h-4 shrink-0"}),o]}),!n&&!o&&0===s.length&&(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-muted)] text-center py-4",children:"No projects found. Create one below."}),!n&&s.map(a=>(0,t.jsxs)("button",{type:"button",onClick:()=>e(a.id,a.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors flex items-center gap-3 group",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--app-shell-subtle)] flex items-center justify-center shrink-0",children:(0,t.jsx)(U.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)] group-hover:text-[var(--foreground)]"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)] truncate",children:a.name}),a.description&&(0,t.jsx)("div",{className:"text-[11px] text-[var(--app-shell-muted)] truncate",children:a.description})]})]},a.id))]}),(0,t.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-[var(--app-shell-border)]",children:m?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:p,onChange:e=>h(e.target.value),onKeyDown:e=>"Enter"===e.key&&x(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg outline-none focus:ring-1 focus:ring-[var(--ring)] text-[var(--foreground)]"}),(0,t.jsx)("button",{type:"button",onClick:x,disabled:c||!p.trim(),className:"h-8 px-3 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-lg disabled:opacity-40",children:c?"…":"Create"}),(0,t.jsx)("button",{type:"button",onClick:()=>f(!1),className:"h-8 px-2 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:(0,t.jsx)(C.X,{className:"w-3.5 h-3.5"})})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>f(!0),className:"flex items-center gap-1.5 text-xs font-bold text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:[(0,t.jsx)(N.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function L({draft:e,onUpdate:r,onBuild:s,building:l}){let[n,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(!1),[c,u]=(0,a.useState)(!1),p=(0,a.useCallback)(()=>{let t=e.tasks.map((e,t)=>{let a=`${t+1}. **${e.title}**`;return e.description&&"Add description..."!==e.description&&(a+=`
2
+ ${e.description.replace(/\n/g,"\n ")}`),a}).join("\n");navigator.clipboard.writeText(t).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},[e.tasks]),h=(0,a.useCallback)((t,a)=>{let s=e.tasks.map(e=>e.id===t?{...e,...a}:e);r({...e,tasks:s,revision:e.revision+1})},[e,r]),m=(0,a.useCallback)(t=>{let a=e.tasks.filter(e=>e.id!==t);r({...e,tasks:a,revision:e.revision+1})},[e,r]),f=(0,a.useCallback)(()=>{let t={id:crypto.randomUUID(),title:"New task",description:"Add description..."};r({...e,tasks:[...e.tasks,t],revision:e.revision+1})},[e,r]),x=(0,a.useCallback)(()=>{d(!0)},[]),g=(0,a.useCallback)((t,a)=>{d(!1),s(e,t,a)},[e,s]),v="idle"===e.buildStatus||!e.buildStatus;return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(b.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[e.tasks.length," task",1!==e.tasks.length?"s":""]}),e.tasks.length>0&&(0,t.jsx)("button",{type:"button",onClick:p,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:c?(0,t.jsx)(T.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(I.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsx)("div",{className:"space-y-1 mb-4",children:e.tasks.map(e=>{let a=n===e.id;return(0,t.jsxs)("div",{className:"group",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors",children:[v&&(0,t.jsx)(w,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)] opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(a?null:e.id),className:"shrink-0 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:a?(0,t.jsx)(y.ChevronDown,{className:"w-3.5 h-3.5"}):(0,t.jsx)(k.ChevronRight,{className:"w-3.5 h-3.5"})}),v?(0,t.jsx)("input",{type:"text",value:e.title,onChange:t=>h(e.id,{title:t.target.value}),className:"flex-1 text-xs font-semibold text-[var(--foreground)] bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,t.jsx)("span",{className:"flex-1 text-xs font-semibold text-[var(--foreground)]",children:e.title}),v&&(0,t.jsx)("button",{type:"button",onClick:()=>m(e.id),className:"shrink-0 text-[var(--app-shell-soft-text)] hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,t.jsx)(C.X,{className:"w-3.5 h-3.5"})})]}),a&&(0,t.jsx)("div",{className:"ml-9 mr-2 mb-2",children:v?(0,t.jsx)("textarea",{value:e.description,onChange:t=>h(e.id,{description:t.target.value}),rows:4,className:"w-full text-xs text-[var(--muted-foreground)] bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg p-2 outline-none focus:ring-1 focus:ring-[var(--ring)] resize-y"}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] whitespace-pre-wrap",children:e.description})})]},e.id)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[v&&(0,t.jsxs)("button",{type:"button",onClick:f,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-full border border-dashed border-[var(--app-shell-border)] hover:border-[var(--app-shell-border-strong)] transition-all",children:[(0,t.jsx)(N.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,t.jsx)("div",{className:"flex-1"}),v&&(0,t.jsxs)("button",{type:"button",onClick:x,disabled:l||0===e.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(S,{className:"w-3 h-3"}),l?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsx)(D,{onSelect:g,onClose:()=>d(!1)})]})}let F=new Set(["completed","done","failed","blocked"]);var B=e.i(807087),W=e.i(211464);let q=(0,j.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var V=e.i(437307);let J={queued:(0,t.jsx)(W.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),pending:(0,t.jsx)(W.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),in_progress:(0,t.jsx)(O.Loader2,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,t.jsx)(O.Loader2,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,t.jsx)(q,{className:"w-4 h-4 text-amber-500"}),completed:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,t.jsx)(V.XCircle,{className:"w-4 h-4 text-rose-500"})};function H({draft:e,onPush:r,pushing:s}){let[l,n]=(0,a.useState)(!1),[i,o]=(0,a.useState)(!1),d=(0,a.useCallback)(()=>{let t=e.tasks.map((e,t)=>`${t+1}. **${e.title}**${e.description?`
3
+ ${e.description.replace(/\n/g,"\n ")}`:""}`).join("\n");navigator.clipboard.writeText(t).then(()=>{o(!0),setTimeout(()=>o(!1),1500)})},[e.tasks]),{tasks:c,error:u}=function({projectId:e,enabled:t,interval:r=3e4}){let[s,l]=(0,a.useState)([]),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(0),d=(0,a.useRef)([]),c=(0,a.useCallback)(async()=>{if(e&&"undefined"!==e)try{let t=M.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",a=await fetch(`${t}/api/tasks?project=${e}`);if(!a.ok)throw Error(`Poll failed: ${a.status}`);let r=await a.json(),s=r.tasks??r;d.current=s,l(s),i(null)}catch(e){i(e instanceof Error?e.message:"Poll failed")}},[e]);return(0,a.useEffect)(()=>{if(!t||!e)return;o.current=Date.now(),c();let a=setInterval(()=>{Date.now()-o.current>18e5||d.current.length>0&&d.current.every(e=>F.has(e.status))?clearInterval(a):c()},r);return()=>clearInterval(a)},[t,e,r,c]),{tasks:s,error:n,refetch:c}}({projectId:e.projectId??null,enabled:!!e.projectId&&"done"===e.buildStatus}),p=new Map;if(e.builtTaskIds)for(let[t,a]of Object.entries(e.builtTaskIds)){let e=c.find(e=>e.id===a);e&&p.set(t,e)}let h=e.tasks.filter(e=>{let t=p.get(e.id);return t&&("completed"===t.status||"done"===t.status)}).length,m=e.tasks.length>0?h/e.tasks.length:0,f=(0,a.useCallback)(()=>{e.projectId&&e.projectName?r?.(e,e.projectId,e.projectName):n(!0)},[e,r]),x=(0,a.useCallback)((t,a)=>{n(!1),r?.(e,t,a)},[e,r]);e.tasks.some(t=>!e.builtTaskIds?.[t.id]);let g=e.tasks.some(e=>{let t=p.get(e.id);return t&&"queued"!==t.status&&"pending"!==t.status});return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(b.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"}),e.projectName&&(0,t.jsxs)("span",{className:"text-[10px] font-semibold text-[var(--muted-foreground)]",children:["· ",e.projectName]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[h,"/",e.tasks.length," Complete"]}),e.tasks.length>0&&(0,t.jsx)("button",{type:"button",onClick:d,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:i?(0,t.jsx)(T.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(I.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsx)("div",{className:"space-y-3 mb-4",children:e.tasks.map(e=>{let a=p.get(e.id),r=a?.status||"queued",s=J[r]||J.queued;return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[s,(0,t.jsx)("span",{className:"text-xs font-semibold text-[var(--muted-foreground)]",children:e.title})]},e.id)})}),(0,t.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*m)}%`}})}),r&&!g&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===e.buildStatus&&(0,t.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("button",{type:"button",onClick:f,disabled:s,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(S,{className:"w-3 h-3"}),s?"Pushing…":"Push to agx"]})]}),u&&(0,t.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",u]}),l&&(0,t.jsx)(D,{onSelect:x,onClose:()=>n(!1)})]})}let X=(0,a.forwardRef)(({children:e,className:a="",...r},s)=>{let{isTouchLayout:l}=(0,o.useInputCapabilities)(),n=`absolute top-4 right-4 flex items-center gap-1 ${l?"opacity-100":"opacity-0 group-hover:opacity-100"} transition-opacity duration-200 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] shadow-md rounded-lg p-1 z-10 backdrop-blur-sm`,i=`${n} ${a}`.trim();return(0,t.jsx)("div",{ref:s,className:i,"data-touch-visible":l?"true":void 0,...r,children:e})});X.displayName="ActionToolbar";let K=()=>(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] mx-1"}),G=(0,a.forwardRef)(({className:e="",variant:a="neutral",size:r="md",children:s,...l},n)=>{let{isTouchLayout:i}=(0,o.useInputCapabilities)(),d=`inline-flex items-center justify-center rounded-md transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:opacity-50 disabled:pointer-events-none ${i?({sm:"h-11 w-11 p-2",md:"h-11 w-11 p-2",lg:"h-12 w-12 p-2.5"})[r]:({sm:"p-1 w-6 h-6",md:"p-1.5 w-8 h-8",lg:"p-2 w-10 h-10"})[r]} ${({neutral:"text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]",ghost:"text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]",primary:"text-[var(--primary)] hover:text-[var(--primary-foreground)] hover:bg-[var(--primary-hover)]",destructive:"text-[var(--app-shell-muted)] hover:text-[var(--destructive)] hover:bg-[var(--destructive-muted)]"})[a]} ${e}`.trim();return(0,t.jsx)("button",{ref:n,className:d,"data-touch-target":i?"true":void 0,...l,children:s})});G.displayName="IconButton";var Y=e.i(597628),Z=e.i(629155),Q=e.i(794731),ee=e.i(169610),et=e.i(580873);let ea=(0,j.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),er=(0,j.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),es=(0,j.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);var el=e.i(999824);let en=[{value:"active",label:"Active",color:"#f59e0b"},{value:"paused",label:"Paused",color:"#f97316"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"done",label:"Done",color:"#3b82f6"},{value:"archived",label:"Archived",color:"#9ca3af"}],ei=new Set(["done","in-review","archived"]),eo="<!-- thread-summary -->";function ed({messages:e,streaming:r,participants:s,onOpenThread:l,onCopyThread:n,onAddToChat:i,onDeleteThreadRoot:o,onSummarize:d,onCreateTasks:m,onUpdateTaskDraft:x,onBuildTasks:g,summarizingThreads:b,extractingTasks:j,buildingDrafts:w,taskDrafts:y,deletingThreadRootId:k,highlightedMessageId:N,onUpdateMessageThreadStatus:C,onUpdateMessageOutcomeNote:S,shipModeThreads:T}){let M=(0,a.useRef)(new Map),[$,R]=(0,a.useState)(null),[P,A]=(0,a.useState)("active"),E=Object.fromEntries(s.map(e=>[e.id,e])),_=(0,a.useMemo)(()=>[...e.filter(e=>!e.rootMessageId)].reverse(),[e]),U={active:new Set(["active"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),done:new Set(["done"]),archived:new Set(["archived"])},z=(0,a.useMemo)(()=>_.filter(e=>U[P].has(e.threadStatus??"active")),[_,P]),D=(0,a.useMemo)(()=>({active:_.filter(e=>U.active.has(e.threadStatus??"active")).length,paused:_.filter(e=>U.paused.has(e.threadStatus??"active")).length,"in-review":_.filter(e=>U["in-review"].has(e.threadStatus??"active")).length,done:_.filter(e=>U.done.has(e.threadStatus??"active")).length,archived:_.filter(e=>U.archived.has(e.threadStatus??"active")).length}),[_]),F=(0,a.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=a.rootMessageId;if(!e)continue;let r=t.get(e);r||(r={rootMessageId:e,replyCount:0,participants:[],lastActivityAt:0,allReplies:[]},t.set(e,r)),r.replyCount++,r.lastActivityAt=Math.max(r.lastActivityAt,a.timestamp),r.lastReply=a,r.allReplies.push(a),a.participantId&&!r.participants.includes(a.participantId)?r.participants.push(a.participantId):a.participantId||r.participants.includes("user")||r.participants.push("user")}for(let e of t.values())e.allReplies.sort((e,t)=>e.timestamp-t.timestamp);return t})(e),[e]),B=(0,a.useCallback)((e,t)=>{t?M.current.set(e,t):M.current.delete(e)},[]),W=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!N){W.current=null;return}if(N===W.current)return;W.current=N;let e=M.current.get(N);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},[N,e]),(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[_.length>0&&(0,t.jsx)("div",{className:"flex items-center justify-center gap-1 p-1 rounded-lg w-fit mx-auto border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] mb-4",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"done",label:"Done"},{key:"archived",label:"Archived"}].map(e=>{let a=D[e.key],r=P===e.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>A(e.key),className:`px-3 py-1.5 text-xs font-bold rounded-md transition-all ${r?"bg-[var(--app-shell-surface)] text-[var(--foreground)] shadow-sm":"text-[var(--app-shell-muted)] hover:text-[var(--foreground)]"}`,children:[e.label,a>0&&(0,t.jsx)("span",{className:`ml-1.5 text-[10px] ${r?"opacity-60":"opacity-50"}`,children:a})]},e.key)})}),0===_.length&&0===Object.keys(r).length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-32 space-y-3",children:[(0,t.jsx)(Y.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a thread"})]}),_.length>0&&0===z.length&&(0,t.jsx)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-16 space-y-2",children:(0,t.jsxs)("span",{className:"text-sm font-medium",children:["No ",P," threads"]})}),z.map(e=>{let a,s=e.participantId?E[e.participantId]:null,N=F.get(e.id),S=k===e.id,M=N?.allReplies.find(e=>e.content.startsWith(eo)),P=M?M.content.slice(eo.length).trim():null,A=e.threadStatus??"active",_=ei.has(A),U=en.find(e=>e.value===A)??en[0],z=Object.values(r).some(t=>t.rootMessageId===e.id);if(_){let a;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:`max-w-2xl mx-auto bg-[var(--app-shell-subtle)] rounded-xl border border-[var(--app-shell-border)] mb-3 group transition-all hover:border-[var(--app-shell-border-strong)] relative cursor-pointer ${$===e.id?"z-50":""}`,onClick:()=>l?.(e.id),children:(0,t.jsxs)("div",{className:"px-4 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(Z.Hash,{className:"w-3.5 h-3.5 text-[var(--app-shell-muted)] shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--app-shell-muted)] truncate flex-1",children:(0,h.stripMarkers)(e.content.split("\n")[0])}),T?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,t.jsx)(el.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),z&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),e.outcomeNote&&(0,t.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)] truncate max-w-[200px]",children:e.outcomeNote}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)] shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e.timestamp)}),C&&(a=$===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),R(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-elevated)]",style:{borderColor:U.color+"40",color:U.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:U.color}}),U.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:en.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===A?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),C(e.id,a.value),R(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),N&&N.replyCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] shrink-0",children:[N.replyCount," replies"]})]}),(P||y?.[e.id])&&(0,t.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[P&&(0,t.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed prose prose-sm prose-neutralmax-w-none",children:(0,t.jsx)(u.Markdown,{content:P,isUser:!1})}),y?.[e.id]&&y[e.id].tasks.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] flex items-center gap-1",children:[(0,t.jsx)(ea,{className:"w-3 h-3"}),y[e.id].tasks.length," ",1===y[e.id].tasks.length?"task":"tasks"]})]})]})},e.id)}return(0,t.jsxs)("div",{className:`max-w-2xl mx-auto surface-card mb-6 group relative ${$===e.id?"z-50":""}`,children:[(n||i||o)&&(0,t.jsxs)(X,{className:"z-10",children:[i&&(0,t.jsx)(G,{type:"button",variant:"primary",size:"sm",onClick:()=>i(e.id),title:"Mention in chat",children:(0,t.jsx)(es,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(G,{type:"button",variant:"neutral",size:"sm",onClick:()=>{navigator.clipboard.writeText(e.id)},title:"Copy message ID",children:(0,t.jsx)(er,{className:"w-3.5 h-3.5"})}),n&&(0,t.jsx)(G,{type:"button",variant:"neutral",size:"sm",onClick:()=>n(e.id),title:"Copy thread as markdown",children:(0,t.jsx)(I.Copy,{className:"w-3.5 h-3.5"})}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K,{}),(0,t.jsx)(G,{type:"button",variant:"destructive",size:"sm",onClick:()=>o(e.id),disabled:S,title:"Delete this thread",children:S?(0,t.jsx)(O.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(Q.Trash2,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"p-5",children:(0,t.jsxs)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==e.role&&(0,t.jsx)(c.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-[var(--app-shell-subtle)] overflow-hidden border border-[var(--app-shell-border)] shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-[var(--ring)] transition-shadow",children:s?(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(s.id,40,s.color),alt:s.name,className:"w-full h-full object-cover"}):(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(e.participantId||"assistant",40),alt:e.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==e.role&&(0,t.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,t.jsx)(c.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",children:s?.name||e.participantId||"Assistant"})}),(0,t.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>l?.(e.id),children:[(0,t.jsx)("h3",{className:"text-lg font-bold text-[var(--foreground)] leading-tight group-hover/msg-title:text-[var(--primary)] transition-colors line-clamp-1",children:(0,h.stripMarkers)(e.content.split("\n")[0])}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)]",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(e.timestamp)}),C&&(a=$===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),R(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-subtle)]",style:{borderColor:U.color+"40",color:U.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:U.color}}),U.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:en.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===A?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),C(e.id,a.value),R(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),T?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,t.jsx)(el.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),z&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(e.content.length>80||e.content.includes("\n"))&&(0,t.jsx)("div",{className:"mt-2 text-[15px] text-[var(--muted-foreground)] leading-relaxed line-clamp-3",children:(0,t.jsx)(u.Markdown,{content:(0,h.stripMarkers)(e.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===e.role})})]})]})]}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:`mb-4 ${"user"!==e.role?"ml-[52px]":""}`,children:(0,t.jsx)(v,{attachments:e.attachments,compact:!0})}),P&&(0,t.jsx)("div",{className:"mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed",children:(0,t.jsx)(u.Markdown,{content:P,isUser:!1})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-2 mt-2 border-t border-[var(--card-border)]",children:[d&&N&&N.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>d(e.id),disabled:b?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[b?.has(e.id)?(0,t.jsx)(O.Loader2,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,t.jsx)(et.Clock,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),b?.has(e.id)?"Summarizing…":"Summarize"]}),m&&N&&N.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>m(e.id),disabled:j?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[j?.has(e.id)?(0,t.jsx)(O.Loader2,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,t.jsx)(ea,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),j?.has(e.id)?"Extracting…":y?.[e.id]?"Re-extract tasks":"Create tasks"]}),N&&N.replyCount>0&&l&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>l(e.id),children:[(0,t.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:[N.replyCount," replies"]}),(0,t.jsx)("div",{className:"flex -space-x-2",children:N.participants.slice(0,3).map(e=>{if("user"===e)return(0,t.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] flex items-center justify-center z-10",children:(0,t.jsx)(ee.User,{className:"w-3 h-3 text-[var(--muted-foreground)]"})},"user");let a=E[e];return a?(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(e,24,a.color),alt:a.name,className:"w-6 h-6 rounded-full border-2 border-[var(--card-bg)] object-cover z-10"},e):(0,t.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] z-10"},e)})})]})]}),y?.[e.id]&&(y[e.id].builtTaskIds&&Object.keys(y[e.id].builtTaskIds).length>0?(0,t.jsx)(H,{draft:y[e.id],onPush:(t,a,r)=>g?.(e.id,t,a,r),pushing:w?.has(y[e.id].draftId)}):(0,t.jsx)(L,{draft:y[e.id],onUpdate:t=>x?.(e.id,t),onBuild:(t,a,r)=>g?.(e.id,t,a,r),building:w?.has(y[e.id].draftId)})),j?.has(e.id)&&(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-[var(--app-shell-muted)]",children:[(0,t.jsx)(O.Loader2,{className:"w-3.5 h-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Extracting tasks…"})]})]})}),Object.entries(r).filter(([,t])=>t.rootMessageId===e.id).map(([e,a])=>{let r=E[e];return(0,t.jsx)("div",{className:"px-6 pb-4",children:(0,t.jsx)(f,{participantId:e,participantName:r?.name||e,participantColor:r?.color||"#888",content:a.content})},`streaming-${e}`)})]})]},e.id)})]})})}let ec=(0,j.default)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var eu=e.i(519132);let ep={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function eh({type:e,count:a,participantIds:r}){let s=ep[e],l=r.join(", "),n=l?`${s.label}: ${l}`:s.label;return(0,t.jsxs)("span",{title:n,className:"inline-flex items-center gap-1 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-2 py-0.5 text-xs text-[var(--foreground)]",children:[(0,t.jsx)("span",{"aria-hidden":!0,children:s.symbol}),(0,t.jsx)("span",{className:"tabular-nums",children:a})]})}function em({reactions:e}){if(!e||0===e.length)return null;let a=[...e].sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));return(0,t.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:a.map(e=>(0,t.jsx)(eh,{type:e.type,count:e.count,participantIds:e.participantIds},e.type))})}function ef({messages:e,streaming:r,participants:s,rootMessageId:l,queued:n=!1,onClose:i,onCopyThread:o,onAddToChat:d,onDeleteThreadRoot:m,onDeleteMessage:f,highlightedMessageId:x,renderReplyComposer:g,activeProcesses:b=[]}){let j=(0,a.useRef)(null),w=(0,a.useRef)(new Map),y=Object.fromEntries(s.map(e=>[e.id,e])),k=(0,a.useMemo)(()=>{let t=e.find(e=>e.id===l),a=e.filter(e=>e.rootMessageId===l).sort((e,t)=>e.timestamp-t.timestamp);return t?[t,...a]:a},[e,l]),N=(0,a.useRef)(null),C=(0,a.useRef)(!1),S=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:a,clientHeight:r}=e;C.current=a-t-r>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,a.useEffect)(()=>{if(x&&x!==S.current){S.current=x;let e=w.current.get(x);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}else x||C.current||(S.current=null,j.current?.scrollIntoView({behavior:"smooth"}))},[x,k,r]),(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-[var(--app-shell-bg)] transition-colors",children:[b.length>0&&(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] backdrop-blur-md transition-colors",children:[(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,t.jsx)(eu.Sparkles,{className:"h-3.5 w-3.5 text-indigo-500",strokeWidth:1.75}),(0,t.jsx)("span",{className:"uppercase tracking-[0.16em]",children:"Working"})]}),(0,t.jsx)("div",{className:"flex items-center -space-x-1.5",children:b.map(e=>{let a=y[e.agentId];return(0,t.jsxs)("div",{className:"relative",title:`${a?.name||e.agentId} — ${e.state}`,children:[(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(e.agentId,24,a?.color),alt:a?.name||e.agentId,className:"w-6 h-6 rounded-full border-2 border-[var(--app-shell-surface)] shadow-sm"}),(0,t.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-[var(--app-shell-surface)] animate-pulse"})]},e.agentId)})})]}),(0,t.jsx)("div",{ref:N,className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[k.map(e=>{let a,r="user"===e.role,s=e.participantId?y[e.participantId]:null;return(0,t.jsxs)("div",{ref:t=>{var a;return a=e.id,void(t?w.current.set(a,t):w.current.delete(a))},"data-message-id":e.id,className:"group relative flex gap-4 ",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:r?(0,t.jsx)("div",{className:"w-9 h-9 bg-[var(--app-shell-subtle)] rounded-full flex items-center justify-center text-[var(--app-shell-muted)] shadow-sm",children:(0,t.jsx)(ee.User,{className:"w-5 h-5"})}):(0,t.jsx)(c.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,t.jsx)("img",{src:s?(0,p.agentAvatarUrl)(s.id,36,s.color):(0,p.agentAvatarUrl)(e.participantId||"assistant",36),alt:s?.name||e.participantId||"Assistant",className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[r?(0,t.jsx)("span",{className:"font-bold text-sm text-[var(--foreground)]",children:"You"}):(0,t.jsx)(c.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:s?.color?{color:s.color}:void 0,children:s?.name||e.participantId||"Assistant"}),void 0===e.rootMessageId&&e.id===l&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] rounded font-mono uppercase",children:"ROOT"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:(a=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a))})]}),(0,t.jsxs)("div",{className:`surface-card rounded-2xl p-5 text-[15px] leading-relaxed ${e.id===x?"ring-2 ring-[var(--ring)]":""}`,children:[(0,t.jsx)(u.Markdown,{content:(0,h.stripMarkers)(e.content),isUser:r}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(v,{attachments:e.attachments}),e.reactions&&e.reactions.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(em,{reactions:e.reactions})})]}),(0,t.jsxs)(X,{children:[e.id===l&&(0,t.jsx)(G,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(e.id),title:"Copy message ID",children:(0,t.jsx)(er,{className:"w-3.5 h-3.5"})}),e.id===l&&o&&(0,t.jsx)(G,{variant:"neutral",size:"sm",onClick:()=>o(e.id),title:"Copy Thread",children:(0,t.jsx)(ec,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(G,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(e.content),title:"Copy as Markdown",children:(0,t.jsx)(I.Copy,{className:"w-3.5 h-3.5"})}),e.id===l&&m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K,{}),(0,t.jsx)(G,{variant:"destructive",size:"sm",onClick:()=>m(e.id),title:"Delete Thread",children:(0,t.jsx)(Q.Trash2,{className:"w-3.5 h-3.5"})})]}),e.id!==l&&f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K,{}),(0,t.jsx)(G,{variant:"destructive",size:"sm",onClick:()=>f(e.id),title:"Delete Message",children:(0,t.jsx)(Q.Trash2,{className:"w-3.5 h-3.5"})})]})]})]})]},e.id)}),n&&0===b.length&&(0,t.jsxs)("div",{className:"flex gap-3 group relative opacity-80 animate-in fade-in slide-in-from-bottom-1 duration-300",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:(0,t.jsx)("div",{className:"w-7 h-7 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] flex items-center justify-center",children:(0,t.jsx)(eu.Sparkles,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)]",strokeWidth:1.5})})}),(0,t.jsx)("div",{className:"flex-1 max-w-full overflow-hidden",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,t.jsx)("span",{className:"text-xs tracking-wide text-[var(--app-shell-soft-text)]",children:"Processing"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]})})]}),Object.entries(r).filter(([,e])=>e.rootMessageId===l).map(([e,a])=>{let r=y[e],s=a.content.trim().length>0;return(0,t.jsxs)("div",{className:"flex gap-4 group relative animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,t.jsx)(c.default,{href:`/agents/${r?.id||e}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,t.jsx)("img",{src:r?(0,p.agentAvatarUrl)(r.id,36,r.color):(0,p.agentAvatarUrl)(e,36),alt:r?.name||e,className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.default,{href:`/agents/${r?.id||e}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:r?.color?{color:r.color}:void 0,children:r?.name||e}),!s&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),s&&(0,t.jsx)("div",{className:"surface-card rounded-2xl p-5 text-[15px] leading-relaxed",children:(0,t.jsx)(u.Markdown,{content:(0,h.stripMarkers)(a.content),isUser:!1})})]})]},`streaming-${e}`)}),(0,t.jsx)("div",{ref:j,className:"h-4"})]})}),(0,t.jsx)("div",{className:"z-20 transition-colors duration-200",children:g(l)})]})}var ex=e.i(51297);let eg=(0,j.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function ev({query:e,results:a,total:r,participants:s,threadTitleById:l,isLoading:n,error:i,onSelectResult:o,headerSlot:d}){let u=Object.fromEntries(s.map(e=>[e.id,e]));return(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[d?(0,t.jsx)("div",{className:"sticky top-0 z-20 bg-[var(--app-shell-subtle)]/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto",children:d})}):null,(0,t.jsxs)("div",{className:"mb-4 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Search results"}),(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:n?"Searching…":`${r} result${1===r?"":"s"} for "${e}"`}),i?(0,t.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:i}):null]}),n||i||0!==a.length?null:(0,t.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-[var(--app-shell-muted)]",children:[(0,t.jsx)(eg,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,t.jsx)("div",{className:"space-y-3 pb-6",children:a.map(e=>{var a;let r=e.participantId?u[e.participantId]:null,s=l[e.threadId]||"Untitled thread",n="user"===e.role?"You":r?.name||e.participantId||"Assistant";return(0,t.jsxs)("button",{type:"button",onClick:()=>o(e),className:"w-full rounded-xl border border-[var(--border)] bg-[var(--card-bg)] p-4 text-left transition hover:border-[var(--border)] hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-[var(--muted)]",children:"user"===e.role?(0,t.jsx)(ee.User,{className:"h-4 w-4 text-[var(--foreground)]"}):r?(0,t.jsx)(c.default,{href:`/agents/${r.id}`,onClick:e=>e.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,p.agentAvatarUrl)(r.id,32,r.color),alt:"",className:"h-full w-full object-cover"})}):(0,t.jsx)(ex.Bot,{className:"h-4 w-4 text-[var(--foreground)]"})}),(0,t.jsxs)("div",{className:"min-w-0",children:["user"!==e.role&&r?(0,t.jsx)(c.default,{href:`/agents/${r.id}`,onClick:e=>e.stopPropagation(),className:"truncate text-sm font-semibold text-[var(--foreground)] hover:underline block",children:n}):(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:n}),(0,t.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:s})]})]}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:(a=e.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(a))})]}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-[var(--foreground)]",children:function(e){let a=e.split(/(<\/?mark>)/g),r=!1,s=[];for(let[e,l]of a.entries()){if("<mark>"===l){r=!0;continue}if("</mark>"===l){r=!1;continue}l&&s.push(r?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:l},`${e}-mark`):(0,t.jsx)("span",{children:l},`${e}-text`))}return s}(e.snippet)})]},`${e.threadId}-${e.messageId}`)})})]})})}var eb=e.i(984242),ej=e.i(481248),ew=e.i(169433);let ey="agx-chat:project-agent-config",ek={activeParticipantIdsByThread:{}};function eN(){return void 0!==window.localStorage}function eC(e){if(!Array.isArray(e))return[];let t=new Set,a=[];for(let r of e){if("string"!=typeof r)continue;let e=r.trim();!e||t.has(e)||(t.add(e),a.push(e))}return a}function eS(){if(!eN())return{...ek};let e=window.localStorage.getItem(ey);if(!e)return{...ek};try{let t=JSON.parse(e).activeParticipantIdsByThread;if(!t||"object"!=typeof t)return{...ek};return{activeParticipantIdsByThread:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,eC(t)]))}}catch{return{...ek}}}function eI(e,t){let a=e.trim();if(!a)return;let r=eS();r.activeParticipantIdsByThread[a]=eC(t);if(eN())try{window.localStorage.setItem(ey,JSON.stringify(r))}catch{}}let eT={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,fileIgnorePatterns:[]};function eM(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:eT.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):eT.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:eT.homeSearchConsent,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):eT.fileIgnorePatterns}:eT}let e$="/api/userPreferences";function eR(e){return e.json().then(e=>e&&"object"==typeof e?eM(e.preferences??e):eM(e)).catch(()=>eM(null))}function eP(e){return e.statusText||`Failed to reach ${e$} (${e.status})`}async function eA(){let e=await fetch(e$,{cache:"no-store"});if(!e.ok)throw Error(eP(e));return eR(e)}async function eE(e){let t=await fetch(e$,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(eP(t));return eR(t)}var e_=e.i(990933),eO=e.i(352687),eU=e.i(524123),ez=e.i(8707),eD=e.i(493141),eL=e.i(846279),eL=eL,eF=e.i(169729),eB=e.i(721571),eW=e.i(468947),eq=e.i(837958),eV=e.i(595807),eV=eV;function eJ({logs:e,participants:r,onClear:s,open:l,onToggle:n}){let[i,o]=(0,a.useState)(420),[d,c]=(0,a.useState)(null),u=(0,a.useRef)(null),p=(0,a.useRef)(!1),h=(0,a.useRef)(0),m=(0,a.useRef)(0),f=Object.fromEntries(r.map(e=>[e.id,e]));(0,a.useEffect)(()=>{l&&u.current?.scrollIntoView({behavior:"smooth"})},[e.length,l]);let x=(0,a.useCallback)(e=>{e.preventDefault(),p.current=!0,h.current=e.clientX,m.current=i,e.target.setPointerCapture(e.pointerId)},[i]),g=(0,a.useCallback)(e=>{if(!p.current)return;let t=h.current-e.clientX;o(Math.max(280,Math.min(m.current+t,.6*window.innerWidth)))},[]),v=(0,a.useCallback)(()=>{p.current=!1},[]);if(!l)return null;let b=d?e.filter(e=>e.participantId===d):e;return(0,t.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,t.jsx)("div",{onPointerDown:x,onPointerMove:g,onPointerUp:v,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,t.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,t.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:i},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,t.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,t.jsxs)("select",{value:d||"",onChange:e=>c(e.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,t.jsx)("option",{value:"",children:"All"}),r.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:s,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,t.jsx)("button",{onClick:n,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[b.map((e,a)=>{let r=f[e.participantId]?.name||e.participantId,s=f[e.participantId]?.color||"#888",l="stderr"===e.stream;return(0,t.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(e.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,t.jsx)("span",{className:"shrink-0",style:{color:s},children:r}),(0,t.jsx)("span",{className:l?"text-red-400":"text-[var(--muted-foreground)]",children:e.line})]},a)}),(0,t.jsx)("div",{ref:u})]})]})]})}var eH=e.i(524780);let eX="agx-theme";function eK(e,t=!1){return(t?e.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():e).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}async function eG(e){let t=await fetch(`/api/threads/knowledge?rootMessageId=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok)throw Error("Failed to load thread knowledge run");let a=await t.json().catch(e=>(console.warn("[ChatContainer] failed to parse thread knowledge response:",e),null));return a?.run??null}function eY(e,t,a){let r=new Set(e.map(e=>e.id)),s=a?t.find(e=>e.thread_ids?.includes(a)):t[0],l=s?s.agents.map(e=>e.agent_id).filter(e=>r.has(e)):[];return s?l:0===l.length?e.map(e=>e.id):l}function eZ(e,t,a){let r=Object.fromEntries(t.map(e=>[e.id,e])),s=[];for(let t of e){let e="user"===t.role?"You":t.participantId?r[t.participantId]?.name||t.participantId:"Assistant",a=eK(t.content,"user"!==t.role);a&&(s.push(`**${e}:**`),s.push(""),s.push(a),s.push(""))}if(a){let e=function(e){if(0===e.tasks.length)return"";let t=new Map(e.tasks.map(e=>[e.id,e.title.trim()])),a=["## Draft Tasks",""];return e.projectName&&a.push(`Project: ${e.projectName}`),e.buildStatus&&a.push(`Build status: ${e.buildStatus.replaceAll("_"," ")}`),(e.projectName||e.buildStatus)&&a.push(""),e.tasks.forEach((r,s)=>{let l=eK(r.title)||`Task ${s+1}`,n=eK(r.description),i=(r.dependsOn||[]).map(e=>t.get(e)?.trim()).filter(e=>!!e),o=e.builtTaskIds?.[r.id];a.push(`${s+1}. [ ] **${l}**`),n&&a.push(n),i.length>0&&a.push(`Depends on: ${i.join(", ")}`),o&&a.push(`agx task id: \`${o}\``),a.push("")}),a.join("\n").trim()}(a);e&&s.push(e)}return s.join("\n").trim()}e.s(["ChatContainer",0,function({projectSlug:e,initialThreadId:c,initialRootMessageId:u,showSidebar:p=!0}={}){let{isTouchLayout:h}=(0,o.useInputCapabilities)(),{getSelection:m,pushSelection:f,replaceSelection:x}=(0,s.useUrlSelection)(),{threads:g,activeThreadId:v,selectThread:b,createThread:j,deleteThread:w,updateThreadMessages:y,isCreating:k,deletingThreadId:N,renamingThreadId:C,isLoading:S,isRestoringActiveThread:I,renameThread:T,updateThreadStatus:M,updateThreadOutcomeNote:$,updateMessageThreadStatus:R,updateMessageOutcomeNote:P}=(0,i.useThreadState)(c),{messages:A,setMessages:E,logs:O,sendMessage:U,loadHistory:z,clearLogs:D,chatRuns:L,setChatRuns:F,stop:B,stopThread:W}=(0,l.useGroupChat)(v),{activeAgents:q,processes:V,streaming:J,chatRuns:H,poll:X}=(0,n.useProcessPolling)(v?{workspaceId:v}:null,{messages:A,setMessages:E}),K=(0,a.useMemo)(()=>{let e=Date.now(),t=new Map(H.map(e=>[e.chatRunId,e]));for(let a of L)!(!a.optimistic||t.has(a.chatRunId))&&(e-(a.enqueuedAt??0)>5e3||t.set(a.chatRunId,a));return Array.from(t.values()).filter(e=>"queued"===e.status||"running"===e.status)},[L,H]),G=q.size>0||K.some(e=>"running"===e.status)?"working":K.some(e=>"queued"===e.status)?"queued":"ready";(0,a.useEffect)(()=>{F(e=>{let t=Date.now(),a=new Map(e.filter(e=>"string"==typeof e.chatRunId&&e.chatRunId.length>0).map(e=>[e.chatRunId,e]));for(let e of H)e?.chatRunId&&a.set(e.chatRunId,e);return Array.from(a.values()).filter(e=>!!(!e.optimistic||H.some(t=>t.chatRunId===e.chatRunId))||t-(e.enqueuedAt??0)<=5e3).sort((e,t)=>String(e.chatRunId||"").localeCompare(String(t.chatRunId||"")))})},[H,F]);let Y=(0,a.useCallback)(async e=>{await fetch(`/api/chat-runs/${encodeURIComponent(e)}/signal`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({signal:"cancel",reason:"Stopped from chat UI"})}).catch(e=>console.warn("[ChatContainer] cancel chat run failed:",e))},[]),Z=(0,a.useCallback)(async()=>{let e=K[0];e?.chatRunId&&await Y(e.chatRunId),await B(),await X()},[K,Y,B,X]),Q=(0,a.useCallback)(async e=>{let t=K.find(t=>t.rootMessageId===e);t?.chatRunId&&await Y(t.chatRunId),await W(e),await X()},[K,Y,W,X]),ee=(0,a.useRef)(Z);(0,a.useEffect)(()=>{ee.current=Z},[Z]);let{projects:et,createProject:ea,deleteProject:er,addAgent:es,removeAgent:el,reorderAgents:en}=(0,eU.useProjectsWithAgents)(),{projects:ei,updateProject:eo}=(0,eU.useProjects)(),ec=(0,a.useMemo)(()=>v?et.filter(e=>e.thread_ids?.includes(v)):et,[et,v]),eu=(0,a.useMemo)(()=>e||ec[0]?.slug||void 0,[e,ec]),[ep,eh]=(0,a.useState)([]),[em,ex]=(0,a.useState)(!1),[eg,ey]=(0,a.useState)([]),[ek,eN]=(0,a.useState)(!1),[eC,eT]=(0,a.useState)(()=>{let e=window.localStorage.getItem(eX);return"dark"===e||"light"===e?e:document.documentElement.classList.contains("dark")?"dark":"light"}),[eM,e$]=(0,a.useState)(!1),[eR,eP]=(0,a.useState)(368),eK=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let e=(0,ej.loadWorkspaceSidebarVisible)();eK.current=!0,e$(e),eP((0,ew.loadWorkspaceWidth)()||368)},[]),(0,a.useEffect)(()=>{let e="dark"===eC;document.documentElement.classList.toggle("dark",e),document.documentElement.style.colorScheme=eC,window.localStorage.setItem(eX,eC)},[eC]);let[eQ,e0]=(0,a.useState)(!1),[e1,e5]=(0,a.useState)(new Set),[e2,e3]=(0,a.useState)(!1),[e4,e6]=(0,a.useState)(!1),[e8,e7]=(0,a.useState)(null),e9=m("open"),te=m("message"),tt=e?e9??u??null:u??null,ta=tt?e1.has(tt):e2;(0,a.useEffect)(()=>{if(!tt)return;let e=!1,t=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(tt)}`).then(e=>e.json()).then(t=>{e||e5(e=>{let a=e.has(tt);if(t.active&&!a){let t=new Set(e);return t.add(tt),t}if(!t.active&&a){let t=new Set(e);return t.delete(tt),t}return e})}).catch(e=>console.warn("[ChatContainer] check auto-mode status failed:",e))};t();let a=setInterval(t,r.UI_POLL_CHAT_CHECK_MS);return()=>{e=!0,clearInterval(a)}},[tt]),(0,a.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/schedules").then(e=>e.json()).then(t=>{!e&&t.activeRootMessageIds&&e5(e=>{let a=new Set(t.activeRootMessageIds);return a.size===e.size&&[...a].every(t=>e.has(t))?e:a})}).catch(e=>console.warn("[ChatContainer] fetch schedules failed:",e))};t();let a=setInterval(t,r.UI_POLL_CHAT_ALT_MS);return()=>{e=!0,clearInterval(a)}},[]);let tr=(0,a.useCallback)((t,a={})=>{let r=a.replace?x:f;if(e){let s=a.threadId??v??c??null;if(!s)return;r({open:t,message:a.messageId??null},`/projects/${e}/thread/${encodeURIComponent(s)}`);return}t?r({message:a.messageId??null},`/thread/${encodeURIComponent(t)}`):r({message:null},"/")},[v,c,e,f,x]);(0,a.useEffect)(()=>{u&&(async()=>{try{let e=await fetch(`/api/messages/${u}`);if(!e.ok)return;let{threadId:t}=await e.json();t&&b(t)}catch{}})()},[u,b]);let[ts,tl]=(0,a.useState)(""),[tn,ti]=(0,a.useState)([]),[to,td]=(0,a.useState)(0),[tc,tu]=(0,a.useState)(!1),[tp,th]=(0,a.useState)(null),[tm,tf]=(0,a.useState)(new Set),[tx,tg]=(0,a.useState)(null),[tv,tb]=(0,a.useState)(null),[tj,tw]=(0,a.useState)({}),ty=(0,a.useCallback)(e=>{tw(t=>{let a="function"==typeof e?e(t):e;if(v)for(let[e,r]of Object.entries(a))t[e]!==r&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:v,messageId:e,draft:r})}).catch(e=>console.warn("[ChatContainer] persist task draft failed:",e));return a})},[v]),[tk,tN]=(0,a.useState)(new Set),[tC,tS]=(0,a.useState)(new Set),tI=(0,a.useRef)(null),tT=(0,a.useRef)(""),tM=(0,a.useCallback)(async(e=!1)=>{try{let e=await fetch("/api/participants");if(!e.ok)return;let t=await e.json();if(!Array.isArray(t))return;eh(t)}finally{e&&ex(!0)}},[]),t$=(0,a.useCallback)(async e=>{try{await eE({threadSidebarVisible:e})}catch(e){console.error("Unable to persist thread sidebar preference",e)}},[eE]),tR=(0,a.useCallback)(e=>{(0,ej.persistWorkspaceSidebarVisible)(e),t$(e)},[t$]),tP=ts.trim(),tA=tP.length>0,tE=(0,a.useMemo)(()=>Object.fromEntries(g.map(e=>[e.id,e.title?.trim()||"Untitled thread"])),[g]),t_=(0,a.useMemo)(()=>{if(!tt)return[];let e=new Set([A.find(e=>e.id===tt),...A.filter(e=>e.rootMessageId===tt)].filter(Boolean).map(e=>e.participantId).filter(Boolean));return Object.keys(J).forEach(t=>{J[t].rootMessageId===tt&&e.add(t)}),ep.filter(t=>e.has(t.id))},[tt,A,J,ep]),tO=(0,a.useMemo)(()=>{let e=new Map(ep.map(e=>[e.id,e]));return eg.map(t=>e.get(t)).filter(Boolean)},[ep,eg]),tU=(0,a.useMemo)(()=>ei.map(e=>({id:e.id,name:e.name,slug:e.slug})),[ei]),tz=(0,a.useMemo)(()=>{if(!tt)return 0;let e=[A.find(e=>e.id===tt),...A.filter(e=>e.rootMessageId===tt)].filter(Boolean);return 0===e.length?0:Math.max(...e.map(e=>e.timestamp))},[tt,A]),tD=(0,a.useMemo)(()=>{if(!tt)return"";let e=A.find(e=>e.id===tt);if(!e)return"Discussion";let t=e.content.trim();return t.length>60?t.slice(0,60)+"...":t},[tt,A]),tL=(0,a.useMemo)(()=>{if(!tt)return null;let e=A.find(e=>e.id===tt),t=e?.threadStatus??"active";return{value:t,...{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"}}[t]}},[tt,A]);(0,a.useEffect)(()=>{if(!te)return;let e=A.find(e=>e.id===te)??null;if(e){let t=e.rootMessageId||e.id;t!==tt&&tr(t,{messageId:te,replace:!0});return}!tt||[A.find(e=>e.id===tt),...A.filter(e=>e.rootMessageId===tt)].filter(Boolean).length>0&&x({message:null})},[A,tr,tt,x,te]);let tF=(0,a.useCallback)(()=>{tl(""),ti([]),td(0),th(null),tu(!1)},[]);(0,a.useCallback)(()=>{let e=eZ(A,ep);navigator.clipboard.writeText(e).then(()=>{eN(!0),setTimeout(()=>eN(!1),2e3)})},[A,ep]);let[tB,tW]=(0,a.useState)(null),tq=(0,a.useCallback)(e=>{let t=A.find(t=>t.id===e);if(!t)return;let a=[t,...A.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)];tW({title:t.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:e,messages:a})},[A]),tV=(0,a.useCallback)(e=>{let t=eZ([A.find(t=>t.id===e),...A.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)].filter(Boolean),ep,tj[e]);navigator.clipboard.writeText(t).catch(e=>console.error("Failed to copy thread",e))},[A,ep,tj]),tJ=(0,a.useCallback)(async()=>{if(tt){e6(!0);try{let e=["repo"];eu&&e.push("project");let t=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:tt,scopes:e})}),a=await t.json().catch(e=>(console.warn("[ChatContainer] failed to parse knowledge extraction response:",e),null));if(!t.ok)throw Error("string"==typeof a?.error?a.error:"Request failed");e7(a?.run??null)}catch(t){let e=t instanceof Error?t.message:"Request failed";window.alert(`Failed to extract knowledge: ${e}`)}finally{e6(!1)}}},[tt,eu]);(0,a.useEffect)(()=>{if(!tt){e7(null),e6(!1);return}let e=!1;return(async()=>{try{let t=await eG(tt);if(e)return;e7(t)}catch{e||e7(null)}})(),()=>{e=!0}},[tt]),(0,a.useEffect)(()=>{if(!tt||e8?.status!=="running")return;let e=!1,t=async()=>{try{let t=await eG(tt);if(e)return;e7(t)}catch{}};t();let a=window.setInterval(()=>{t()},2e3);return()=>{e=!0,window.clearInterval(a)}},[tt,e8?.status]);let tH=e8?.status==="running",tX=e4||tH,tK=(e8?.repoInsertedCount??0)+(e8?.projectInsertedCount??0),tG=(0,a.useMemo)(()=>{if(!e8)return null;if("running"===e8.status)return"Learning in progress";if("failed"===e8.status)return"Last learning run failed";if(tK>0){let e=1===tK?"insight":"insights";return`Learned ${tK} ${e}`}return"No new learnings"},[tK,e8]);(0,a.useEffect)(()=>{tM(!0)},[tM]);let tY=(0,a.useMemo)(()=>{if(!em)return[];let e=new Set(ep.map(e=>e.id)),t=new Set;for(let a of A)"assistant"===a.role&&a.participantId&&(e.has(a.participantId)||t.add(a.participantId));for(let a of Object.keys(J))e.has(a)||t.add(a);return Array.from(t).sort()},[A,ep,em,J]);(0,a.useEffect)(()=>{if(!em)return;let e=tY.join("|");if(!e){tT.current="";return}tT.current!==e&&(tT.current=e,tM(!1))},[em,tM,tY]),(0,a.useEffect)(()=>{if(!em)return;let e=eY(ep,et,v);if(!v)return void ey(e);let t=function(e){let t=e.trim();if(!t)return null;let a=eS();return t in a.activeParticipantIdsByThread?[...a.activeParticipantIdsByThread[t]]:null}(v);if(null===t)return void ey(e);let a=function(e,t){if(null===t)return e;let a=new Set(t);return e.filter(e=>a.has(e))}(e,t),r=a.length>0?a:e;(r.length!==t.length||r.some((e,a)=>t[a]!==e))&&eI(v,r),ey(r)},[v,ep,em,et]),(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await eA();if(e)return;e$(e=>e===t.threadSidebarVisible?e:eK.current?(t$(e),e):((0,ej.persistWorkspaceSidebarVisible)(t.threadSidebarVisible),t.threadSidebarVisible))}catch(e){console.error("Failed to load user preferences",e)}})(),()=>{e=!0}},[t$]),(0,a.useEffect)(()=>{S||k||0!==g.length||j({id:"global",title:"General"})},[S,k,g.length,j]),(0,a.useEffect)(()=>{if(e)return;let t=e=>{if((e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()){e.preventDefault(),tI.current?.focus(),tI.current?.select();return}"Escape"===e.key&&tP&&tF()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[tF,tP,e]),(0,a.useEffect)(()=>{if(!tP){ti([]),td(0),th(null),tu(!1);return}let e=!1;tu(!0);let t=window.setTimeout(()=>{(async()=>{try{let t=new URLSearchParams({q:tP,limit:"20",offset:"0"}),a=await fetch(`/api/search?${t.toString()}`),r=await a.json().catch(e=>(console.warn("[ChatContainer] failed to parse search response:",e),null));if(e)return;if(!a.ok){let e=r&&"object"==typeof r&&"error"in r?String(r.error):"Search failed";ti([]),td(0),th(e);return}ti(Array.isArray(r.results)?r.results:[]),td("number"==typeof r.total?r.total:0),th(null)}catch(t){if(e)return;console.error("Search request failed",t),ti([]),td(0),th("Search failed")}finally{e||tu(!1)}})()},300);return()=>{e=!0,window.clearTimeout(t)}},[tP]);let tZ=(0,a.useRef)(null);(0,a.useEffect)(()=>{null!==tZ.current&&tZ.current!==v&&ee.current(),tZ.current=v,v&&(z(v),fetch(`/api/task-drafts?threadId=${encodeURIComponent(v)}`).then(e=>e.json()).then(e=>{e.drafts&&Object.keys(e.drafts).length>0?tw(e.drafts):tw({})}).catch(e=>{console.warn("[ChatContainer] load task drafts failed:",e),tw({})}))},[v,z]),(0,a.useEffect)(()=>{v&&y(v,A)},[v,A,y]);let tQ=(0,a.useCallback)((e,t,a=10,r,s,l)=>{v&&0!==tO.length&&U(t,a,v,e,void 0,void 0,(0,e_.orderParticipantIds)(tO.map(e=>e.id),r),eu,s,l)},[v,U,tO,eu]),t0=(0,a.useCallback)(async e=>{if(v){if(0===tO.length)return void window.alert("Enable at least one agent in this project.");tf(t=>new Set(t).add(e));try{let t=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:v,rootMessageId:e,activeParticipantIds:tO.map(e=>e.id)})});t.ok?await z(v):console.error("Summarize failed:",await t.text())}catch(e){console.error("Summarize error:",e)}finally{tf(t=>{let a=new Set(t);return a.delete(e),a})}}},[v,z,tO]),t1=(0,a.useCallback)(async e=>{if(v){if(0===tO.length)return void window.alert("Enable at least one agent in this project.");tN(t=>new Set(t).add(e));try{let t=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:v,rootMessageId:e,activeParticipantIds:tO.map(e=>e.id)})});if(t.ok){let a=await t.json(),r={draftId:crypto.randomUUID(),revision:0,tasks:a.tasks,buildStatus:"idle"};ty(t=>({...t,[e]:r}))}else console.error("Task extraction failed:",await t.text())}catch(e){console.error("Task extraction error:",e)}finally{tN(t=>{let a=new Set(t);return a.delete(e),a})}}},[v,tO]),t5=(0,a.useCallback)((e,t)=>{ty(a=>({...a,[e]:t}))},[]),t2=(0,a.useCallback)(async(e,t,a,r)=>{if(v){tS(e=>new Set(e).add(t.draftId)),ty(s=>({...s,[e]:{...t,buildStatus:"building",projectId:a,projectName:r}}));try{let r=crypto.randomUUID(),s=await _(t.tasks,a,r,t.builtTaskIds),l={...t.builtTaskIds},n=!1;for(let e of s.results)"created"===e.status&&e.remoteTaskId?l[e.clientTaskId]=e.remoteTaskId:n=!0;ty(t=>({...t,[e]:{...t[e],buildId:r,buildStatus:n?"partial_failure":"done",builtTaskIds:l}}))}catch(t){console.error("Build error:",t),ty(t=>({...t,[e]:{...t[e],buildStatus:"partial_failure"}}))}finally{tS(e=>{let a=new Set(e);return a.delete(t.draftId),a})}}},[v]),t3=(0,a.useCallback)(()=>{if(!v)return;let e=(()=>{if(tt)return tt;let e=new Set(A.map(e=>e.rootMessageId).filter(e=>!!e));for(let t=A.length-1;t>=0;t-=1){let a=A[t];if(!a.rootMessageId&&e.has(a.id))return a.id}return null})();e?t1(e):console.warn("No thread with replies available to extract tasks from")},[v,t1,A,tt]);(0,a.useCallback)(e=>{tr(e)},[tr]);let t4=(0,a.useCallback)(e=>{tr(e)},[tr]),t6=(0,a.useCallback)(e=>{let t=e?.trim()??"";t&&tl(t),requestAnimationFrame(()=>{tI.current?.focus(),t||tI.current?.select()})},[]),t8=(0,a.useCallback)(()=>{if(!v)return;let e=(()=>{if(tt)return tt;let e=new Set(A.map(e=>e.rootMessageId).filter(e=>!!e));for(let t=A.length-1;t>=0;t-=1){let a=A[t];if(!a.rootMessageId&&e.has(a.id))return a.id}return null})();e?t0(e):console.warn("No thread with replies available to summarize")},[v,t0,A,tt]),t7=(0,a.useCallback)(async(e,t,a,r,s,l,n)=>{let i=e.match(/^\/search(?:\s+([\s\S]+))?$/i);if(i)return void t6(i[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(e))return void t8();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(e)||/^\/create(?:\s+[\s\S]+)?$/i.test(e))return void t3();let o=v;o||(o=(await j()).id);let d=tO.map(e=>e.id);if(0===d.length)return void window.alert("Enable at least one agent in this project.");let c=(0,e_.orderParticipantIds)(d,s);if(tt)return void await U(e,t,o,tt,a,r,c,eu,l,n);let u=await U(e,t,o,null,a,r,c,eu,l,n);e2&&u&&(e3(!1),e5(e=>{let t=new Set(e);return t.add(u),t}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:u})}).catch(e=>console.error("Failed to activate schedule for new thread:",e)))},[v,e2,j,t6,t8,tt,tO,U,eu]),t9=(0,a.useCallback)(async e=>{if(!tt)return void e3(e);e5(t=>{let a=new Set(t);return e?a.add(tt):a.delete(tt),a});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e?"activate":"stop",rootMessageId:tt})})}catch(e){console.error("Failed to toggle autonomous schedule:",e)}},[tt]),ae=(0,a.useCallback)(e=>{tr(e.rootMessageId||e.messageId,{messageId:e.messageId,threadId:e.threadId}),tF()},[tF,tr]),at=(0,a.useCallback)(async e=>{Z(),await w(e)},[w,Z]),aa=(0,a.useCallback)(e=>{if(!v||!e)return;let t=A.find(t=>t.id===e);tb({type:"thread",id:e,preview:t?.content?.slice(0,120)||void 0})},[v,A]),ar=(0,a.useCallback)(async e=>{if(v){tg(e),Q(e);try{let t=new URLSearchParams({threadId:v,rootMessageId:e}),a=await fetch(`/api/history?${t.toString()}`,{method:"DELETE"});if(!a.ok)return void console.error("Failed to delete message thread",await a.text());let r=te?A.find(e=>e.id===te)??null:null,s=r?r.rootMessageId||r.id:null;tt===e?tr(null,{replace:!0}):s===e&&x({message:null});let l=A.filter(t=>t.id!==e&&t.rootMessageId!==e);y(v,l),await z(v)}catch(e){console.error("Failed to delete message thread",e)}finally{tg(t=>t===e?null:t)}}},[v,Q,z,A,tr,tt,x,te,y]),as=(0,a.useCallback)(e=>{if(!v||!e)return;let t=A.find(t=>t.id===e);tb({type:"message",id:e,preview:t?.content?.slice(0,120)||void 0})},[v,A]),al=(0,a.useCallback)(async e=>{if(v)try{let t=new URLSearchParams({threadId:v,messageId:e}),a=await fetch(`/api/history?${t.toString()}`,{method:"DELETE"});if(!a.ok)return void console.error("Failed to delete message",await a.text());te===e&&x({message:null});let r=A.filter(t=>t.id!==e);y(v,r),await z(v)}catch(e){console.error("Failed to delete message",e)}},[v,z,A,x,te,y]),an=(0,a.useCallback)(()=>{tv&&("thread"===tv.type?ar(tv.id):al(tv.id),tb(null))},[tv,ar,al]),ai=(0,a.useCallback)(()=>{tb(null)},[]),ao=(0,a.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>t6()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>t8()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>t3()}],[t6,t8,t3]),ad=(0,a.useMemo)(()=>{let e=eu?ec.find(e=>e.slug===eu):ec[0];return e?.repos??[]},[ec,eu]),[ac,au]=(0,a.useState)(new Set),ap=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!tt){au(new Set),ap.current=null;return}ap.current!==tt&&(au(new Set),ap.current=tt,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(tt)}`).then(e=>e.json()).then(e=>{ap.current===tt&&e.repoIds&&e.repoIds.length>0&&au(new Set(e.repoIds))}).catch(e=>console.warn("[ChatContainer] load thread repos failed:",e)))},[tt]);let ah=(0,a.useCallback)(e=>{au(e),tt&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:tt,repoIds:[...e]})}).catch(e=>console.warn("[ChatContainer] save thread repos failed:",e))},[tt]),am=(0,a.useCallback)(e=>{let a=V.some(t=>["spawning","running"].includes(t.state)&&t.threadId===e)||Object.values(J).some(t=>t.rootMessageId===e)?"working":K.some(t=>t.rootMessageId===e&&"queued"===t.status)?"queued":"ready";return(0,t.jsx)(eb.Composer,{onSend:(t,a,r,s,l,n,i)=>tQ(e,t,a,l,n,i),onStop:()=>Q(e),loading:"ready"!==a,activityStatus:a,participants:tO,projectGroups:ec,projects:tU,projectSlug:eu,messages:A,commands:ao,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:ta,onAutoModeChange:t9,repos:ad,selectedRepoIds:ac,onRepoSelectionChange:ah})},[tQ,Q,J,tO,ec,tU,eu,ao,A,ta,t9,V,K,ad,ac,ah]),af=(0,a.useCallback)(()=>{e$(e=>{let t=!e;return tR(t),t})},[tR]),ax=(0,a.useCallback)(e=>{eP(e),(0,ew.persistWorkspaceWidth)(e)},[]),ag=async e=>{let t=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok){let e=await t.json();eh(t=>t.map(t=>t.id===e.id?e:t))}},av=(0,a.useCallback)((e,t)=>{ey(a=>{let r=eY(ep,et,v);if(!new Set(r).has(e))return a;let s=new Set(a);t?s.add(e):s.delete(e);let l=r.filter(e=>s.has(e));return v&&eI(v,l),l})},[v,ep,et]),ab=(0,a.useCallback)(e=>{let t=et.find(t=>t.id===e);if(!t||v&&!t.thread_ids?.includes(v))return;let a=t.agents.map(e=>e.agent_id);ey(a),v&&eI(v,a)},[et,v]),aj=(0,a.useCallback)(()=>{eT(e=>"dark"===e?"light":"dark")},[]),aw=()=>(0,t.jsx)("button",{type:"button",onClick:aj,"aria-label":"dark"===eC?"Switch to light theme":"Switch to dark theme",title:"dark"===eC?"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"===eC?(0,t.jsx)(eW.Sun,{className:"h-4 w-4",strokeWidth:1.75}):(0,t.jsx)(eB.Moon,{className:"h-4 w-4",strokeWidth:1.75})}),ay=(0,t.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,t.jsx)(ez.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,t.jsx)("input",{ref:tI,type:"text",value:ts,onChange:e=>tl(e.target.value),onKeyDown:e=>{"Escape"===e.key&&tF()},placeholder:"Search messages…",className:`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)] ${e?"h-7 text-xs":"h-9"}`}),tP?(0,t.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:tc?"…":to}),(0,t.jsx)("button",{type:"button",onClick:tF,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):h?null:(0,t.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"})]}),ak=e?null:(0,t.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,t.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,t.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:p&&!eM&&(0,t.jsx)("button",{type:"button",onClick:af,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,t.jsx)(eF.PanelLeftOpen,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,t.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,t.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[ay,(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[aw(),(0,t.jsx)(eH.StatusIndicator,{}),tt&&(0,t.jsx)("button",{type:"button",onClick:()=>e0(!eQ),"aria-label":eQ?"Hide logs":`Show logs${O.length>0?` (${O.length})`:""}`,"aria-pressed":eQ,title:eQ?"Hide logs":`Show logs${O.length>0?` (${O.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)] ${eQ?"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,t.jsx)(eL.default,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,t.jsxs)("div",{className:`flex ${e?"h-full":"h-screen"} bg-[var(--app-shell-bg)] text-[var(--foreground)]`,children:[p?(0,t.jsx)(d.WorkspaceSidebar,{threads:g,participants:ep,activeThreadId:v,isLoading:S,isRestoringActiveThread:I,isCreating:k,deletingThreadId:N,renamingThreadId:C,onSelectThread:b,onCreateThread:j,onRenameThread:T,onDeleteThread:at,activeParticipantIds:eg,onToggleParticipantActive:av,visible:eM,onToggle:af,width:eR,onWidthChange:ax,projects:et,onCreateProject:ea,onUpdateProject:eo,onDeleteProject:er,onAddAgentToProject:es,onRemoveAgentFromProject:el,onReorderProjectAgents:en,onUpdateParticipant:ag,onSelectProject:ab}):null,(0,t.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:I?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,t.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,t.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[tt?(0,t.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,t.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[p&&!eM?(0,t.jsx)("button",{type:"button",onClick:af,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,t.jsx)(eF.PanelLeftOpen,{className:"h-4 w-4",strokeWidth:1.75})}):null,(0,t.jsx)("button",{onClick:()=>tr(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,t.jsx)(eD.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:tD}),tL&&(0,t.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:tL.color+"40",color:tL.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:tL.color}}),tL.label]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,t.jsxs)("span",{className:"opacity-80",children:[t_.length," agents"]}),(0,t.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,t.jsxs)("span",{className:"opacity-80",children:["Updated ",function(e){if(!e)return"recently";let t=Math.floor((Date.now()-e)/1e3);if(t<60)return"just now";let a=Math.floor(t/60);if(a<60)return`${a}m ago`;let r=Math.floor(a/60);return r<24?`${r}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e)}(tz)]}),tG&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,t.jsx)("span",{className:"opacity-80",children:tG})]})]})]}),(0,t.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:t_.map(e=>(0,t.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${e.id}&backgroundColor=${e.color?e.color.replace("#",""):"e2e8f0"}`,alt:e.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:e.name},e.id))}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>void tJ(),disabled:tX,title:tH?"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)] ${tX?"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:[tX?(0,t.jsx)(eV.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,t.jsx)(eq.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{className:"hidden sm:inline",children:tH?"Learning...":"Learn from discussion"})]}),!e&&aw(),!e&&(0,t.jsx)(eH.StatusIndicator,{}),(0,t.jsx)("button",{type:"button",onClick:()=>e0(!eQ),"aria-label":eQ?"Hide logs":`Show logs${O.length>0?` (${O.length})`:""}`,"aria-pressed":eQ,title:eQ?"Hide logs":`Show logs${O.length>0?` (${O.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)] ${eQ?"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,t.jsx)(eL.default,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):ak,tA?(0,t.jsx)(ev,{query:tP,results:tn,total:to,participants:ep,threadTitleById:tE,isLoading:tc,error:tp,onSelectResult:ae}):tt?(0,t.jsx)(ef,{messages:A,streaming:J,participants:ep,rootMessageId:tt,queued:K.some(e=>e.rootMessageId===tt&&"queued"===e.status),onClose:()=>tr(null),onCopyThread:tV,onAddToChat:tq,onDeleteThreadRoot:aa,onDeleteMessage:as,highlightedMessageId:te||void 0,renderReplyComposer:am,activeProcesses:V.filter(e=>["spawning","running"].includes(e.state)&&e.threadId===tt)}):(0,t.jsx)(ed,{messages:A,streaming:J,participants:ep,onOpenThread:t4,onCopyThread:tV,onAddToChat:tq,onDeleteThreadRoot:aa,onSummarize:t0,onCreateTasks:t1,onUpdateTaskDraft:t5,onBuildTasks:t2,summarizingThreads:tm,extractingTasks:tk,buildingDrafts:tC,taskDrafts:tj,deletingThreadRootId:tx,highlightedMessageId:te,shipModeThreads:e1,onUpdateMessageThreadStatus:v?(e,t)=>{E(a=>a.map(a=>a.id===e?{...a,threadStatus:t}:a)),R(v,e,t),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e,status:t})})}:void 0,onUpdateMessageOutcomeNote:v?(e,t)=>{E(a=>a.map(a=>a.id===e?{...a,outcomeNote:t}:a)),P(v,e,t);let a=A.find(t=>t.id===e);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e,status:a?.threadStatus??null,outcomeNote:t})})}:void 0}),!tA&&!tt&&(0,t.jsx)(eb.Composer,{onSend:t7,onStop:Z,loading:"ready"!==G,activityStatus:G,participants:tO,projects:tU,projectGroups:ec,projectSlug:eu,messages:A,commands:ao,pendingThreadInsert:tB,onClearPendingThread:()=>tW(null),autoMode:ta,onAutoModeChange:t9,repos:ad,selectedRepoIds:ac,onRepoSelectionChange:ah})]})})}),u&&(0,t.jsx)(eJ,{logs:O,participants:ep,onClear:()=>void D(v),open:eQ,onToggle:()=>e0(!1)}),(0,t.jsx)(eO.default,{isOpen:null!==tv,title:tv?.type==="thread"?"Delete Discussion":"Delete Message",message:tv?.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:tv?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:an,onCancel:ai})]})}],186552)}]);
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,597628,e=>{"use strict";let t=(0,e.i(363732).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],597628)},618566,(e,t,r)=>{t.exports=e.r(976562)},572665,e=>{"use strict";let t=(0,e.i(363732).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",0,t],572665)},8707,e=>{"use strict";let t=(0,e.i(363732).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],8707)},498027,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,t],498027)},529471,e=>{"use strict";let t=(0,e.i(363732).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],529471)},378764,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(498027),n=e.i(8707),i=e.i(529471),o=e.i(797167);e.s(["default",0,function({options:e,value:s,onChange:c,placeholder:l,disabled:u}){let[d,f]=(0,r.useState)(!1),[p,h]=(0,r.useState)(""),m=(0,r.useRef)(null),y=(0,r.useRef)(null),v=(0,r.useMemo)(()=>{if(!p)return e;let t=p.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.meta?.toLowerCase().includes(t))},[e,p]),b=(0,r.useMemo)(()=>e.find(e=>e.id===s),[e,s]),j=(0,r.useCallback)(e=>{m.current&&!m.current.contains(e.target)&&f(!1)},[]);return(0,r.useEffect)(()=>(document.addEventListener("pointerdown",j),()=>document.removeEventListener("pointerdown",j)),[j]),(0,t.jsxs)("div",{ref:m,className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{u||(f(!d),h(""),setTimeout(()=>y.current?.focus(),0))},disabled:u,className:"input w-full flex items-center justify-between gap-2 text-left cursor-pointer",children:[b?(0,t.jsx)("span",{className:"truncate",children:b.label}):(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] truncate",children:l}),(0,t.jsx)(a.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] flex-shrink-0 transition-transform ${d?"rotate-180":""}`})]}),d&&(0,t.jsxs)("div",{className:"absolute z-50 mt-2 min-w-full w-max max-w-[28rem] rounded-2xl overflow-hidden right-0",style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 8px 30px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.05)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 px-3.5 py-3 border-b",style:{borderColor:"var(--border)"},children:[(0,t.jsx)(n.Search,{className:"w-4 h-4 text-[var(--muted-foreground)] flex-shrink-0"}),(0,t.jsx)("input",{ref:y,value:p,onChange:e=>h(e.target.value),placeholder:"Search...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-[var(--muted-foreground)]"}),p&&(0,t.jsx)("button",{onClick:()=>h(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,t.jsx)(o.X,{className:"w-3.5 h-3.5"})})]}),(0,t.jsxs)("div",{className:"max-h-72 overflow-y-auto py-1",children:[0===v.length&&(0,t.jsx)("div",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"No matches"}),v.map(e=>{let r=e.id===s;return(0,t.jsxs)("button",{onClick:()=>{e.disabled||(c(e.id),f(!1),h(""))},disabled:e.disabled,className:`
2
+ w-full text-left px-3.5 py-2.5 flex items-center gap-3 transition-colors
3
+ ${e.disabled?"opacity-35 cursor-not-allowed":""}
4
+ ${r?"bg-[var(--primary)]/10":"hover:bg-[var(--muted)]/40"}
5
+ `,children:[(0,t.jsx)("div",{className:`w-5 h-5 rounded-md flex items-center justify-center flex-shrink-0 border ${r?"bg-[var(--primary)] border-[var(--primary)]":"border-[var(--border)]"}`,children:r&&(0,t.jsx)(i.Check,{className:"w-3 h-3 text-white"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.label}),e.meta&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-[var(--muted)]/50 text-[var(--muted-foreground)]",children:e.meta})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 line-clamp-1",children:e.description})]})]},e.id)})]})]})]})}])},44054,e=>{"use strict";var t=e.i(271645);let r="(pointer: coarse)",a="(hover: hover)",n="(max-width: 767px)",i="(min-width: 768px)";function o(){if("function"!=typeof window.matchMedia)return{isCoarsePointer:!1,canHover:!0,isPhone:!1,isTablet:!1,isTouchLayout:!1};let e=window.matchMedia(r).matches,t=window.matchMedia(a).matches,o=window.matchMedia(n).matches,s=!o&&window.matchMedia(i).matches,c=e||!t;return{isCoarsePointer:e,canHover:t,isPhone:c&&o,isTablet:c&&s,isTouchLayout:c}}e.s(["useInputCapabilities",0,function(){let[e,s]=(0,t.useState)(o);return(0,t.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=[window.matchMedia(r),window.matchMedia(a),window.matchMedia(n),window.matchMedia(i)],t=()=>{s(o())};return e.forEach(e=>e.addEventListener("change",t)),window.addEventListener("resize",t),t(),()=>{e.forEach(e=>e.removeEventListener("change",t)),window.removeEventListener("resize",t)}},[]),e}])},755838,(e,t,r)=>{"use strict";var a=e.r(271645),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=a.useState,o=a.useEffect,s=a.useLayoutEffect,c=a.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch(e){return!0}}var u="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=i({inst:{value:r,getSnapshot:t}}),n=a[0].inst,u=a[1];return s(function(){n.value=r,n.getSnapshot=t,l(n)&&u({inst:n})},[e,r,t]),o(function(){return l(n)&&u({inst:n}),e(function(){l(n)&&u({inst:n})})},[e]),c(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},802239,(e,t,r)=>{"use strict";t.exports=e.r(755838)},752822,(e,t,r)=>{"use strict";var a=e.r(271645),n=e.r(802239),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useSyncExternalStore,s=a.useRef,c=a.useEffect,l=a.useMemo,u=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,n){var d=s(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=o(e,(d=l(function(){function e(e){if(!c){if(c=!0,o=e,e=a(e),void 0!==n&&f.hasValue){var t=f.value;if(n(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var r=a(e);return void 0!==n&&n(t,r)?(o=e,t):(o=e,s=r)}var o,s,c=!1,l=void 0===r?null:r;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]},[t,r,a,n]))[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}},430224,(e,t,r)=>{"use strict";t.exports=e.r(752822)},538292,e=>{"use strict";let t=(0,e.i(363732).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",0,t],538292)},19035,e=>{"use strict";let t=(0,e.i(363732).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],19035)},363732,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:s="",children:c,iconNode:l,...u},d)=>(0,t.createElement)("svg",{ref:d,...n,width:a,height:a,stroke:e,strokeWidth:o?24*Number(i)/Number(a):i,className:r("lucide",s),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...l.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]]));e.s(["default",0,(e,n)=>{let o=(0,t.forwardRef)(({className:o,...s},c)=>(0,t.createElement)(i,{ref:c,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...s}));return o.displayName=a(e),o}],363732)},797167,e=>{"use strict";let t=(0,e.i(363732).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],797167)},929870,e=>{"use strict";let t=(0,e.i(363732).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],929870)},524123,e=>{"use strict";var t=e.i(271645);e.s(["useProjects",0,function(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!1),[i,o]=(0,t.useState)(null),s=(0,t.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{n(!1)}},[]);(0,t.useEffect)(()=>{s()},[s]);let c=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:i,refetch:s,createProject:c,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?n:t)),n},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}},"useProjectsWithAgents",0,function(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!0),i=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,n]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),n.ok&&(r=((await n.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{n(!1)}},[]);(0,t.useEffect)(()=>{i()},[i]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,n=a.name.trim(),i=(a.slug||n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:n,slug:i})});if(!o.ok)return null;let{project:s}=await o.json(),c=Array.isArray(t)?t:t?[t]:[];for(let e of c)await fetch(`/api/projects/${s.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(e=>console.warn("[useProjects] link thread failed:",e));let l={...s,repos:s.repos??[],agents:[],thread_ids:c,workspace_ids:c};return r(e=>[...e,l].sort((e,t)=>e.name.localeCompare(t.name))),l}catch{return null}},[]),s=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),c=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),l=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...n,repos:n.repos??t.repos}:t)),n}catch{return null}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:l,renameProject:s,deleteProject:c,addAgent:u,removeAgent:d,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await i()}catch{}},[i]),refresh:i}}])},169610,e=>{"use strict";let t=(0,e.i(363732).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],169610)},519132,e=>{"use strict";let t=(0,e.i(363732).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",0,t],519132)},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return s},formatWithValidation:function(){return l},urlObjectKeys:function(){return c}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(190809)._(e.r(998183)),o=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",s=e.hash||"",c=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),c&&"object"==typeof c&&(c=String(i.urlQueryToSearchParams(c)));let u=e.search||c&&`?${c}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),n&&"/"!==n[0]&&(n="/"+n)):l||(l=""),s&&"#"!==s[0]&&(s="#"+s),u&&"?"!==u[0]&&(u="?"+u),n=n.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${a}${l}${n}${u}${s}`}let c=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return s(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(271645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=i(e,a)),t&&(n.current=i(t,a))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let a=e.r(718967),n=e.r(652817);function i(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return v},useLinkStatus:function(){return j}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(190809),o=e.r(843476),s=i._(e.r(271645)),c=e.r(195057),l=e.r(8372),u=e.r(818581),d=e.r(718967),f=e.r(405550);e.r(233525);let p=e.r(388540),h=e.r(91949),m=e.r(573668),y=e.r(509396);function v(t){var r,a;let n,i,v,[j,g]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:k,as:_,children:x,prefetch:S=null,passHref:C,replace:T,shallow:P,scroll:O,onClick:A,onMouseEnter:E,onTouchStart:L,legacyBehavior:M=!1,onNavigate:I,transitionTypes:N,ref:$,unstable_dynamicOnHover:U,...W}=t;n=x,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let R=s.default.useContext(l.AppRouterContext),D=!1!==S,H=!1!==S?null===(a=S)||"auto"===a?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,V="string"==typeof(r=_||k)?r:(0,c.formatUrl)(r);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let F=M?i&&"object"==typeof i&&i.ref:$,B=s.default.useCallback(e=>(null!==R&&(w.current=(0,h.mountLinkInstance)(e,V,R,H,D,g)),()=>{w.current&&((0,h.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,h.unmountPrefetchableInstance)(e)}),[D,V,R,H,g]),J={ref:(0,u.useMergedRef)(B,F),onClick(t){M||"function"!=typeof A||A(t),M&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!R||t.defaultPrevented||function(t,r,a,n,i,o,c){if("u">typeof window){let l,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(699781);s.default.startTransition(()=>{d(r,n?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,a.current,c)})}}(t,V,w,T,O,I,N)},onMouseEnter(e){M||"function"!=typeof E||E(e),M&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),R&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){M||"function"!=typeof L||L(e),M&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),R&&D&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,d.isAbsoluteUrl)(V)?J.href=V:M&&!C&&("a"!==i.type||"href"in i.props)||(J.href=(0,f.addBasePath)(V)),v=M?s.default.cloneElement(i,J):(0,o.jsx)("a",{...W,...J,children:n}),(0,o.jsx)(b.Provider,{value:j,children:v})}e.r(284508);let b=(0,s.createContext)(h.IDLE_LINK_STATUS),j=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},810605,e=>{"use strict";e.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},55236,e=>{"use strict";let t=(0,e.i(363732).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",0,t],55236)},169433,e=>{"use strict";let t="agx:windowState",r={workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,linearRunsPanelWidth:224,objectiveChatPanelWidth:440,objectiveListPanelWidth:320},a={lastThreadId:null,lastWorkspaceId:null},n={bounds:null,sidebar:r,scroll:a};function i(){return void 0!==window.localStorage}function o(){if(!i())return{...n};let e=window.localStorage.getItem(t);if(!e)return{...n};try{let t=JSON.parse(e);return{bounds:t.bounds||null,sidebar:{...r,...t.sidebar||{}},scroll:{...a,...t.scroll||{}}}}catch{return{...n}}}function s(){return o().sidebar}function c(e){let r=o();r.sidebar={...r.sidebar,...e};if(i())try{window.localStorage.setItem(t,JSON.stringify(r))}catch{}}e.s(["loadLinearRunsPanelWidth",0,function(){return s().linearRunsPanelWidth},"loadLinearTicketPanelWidth",0,function(){return s().linearTicketPanelWidth},"loadObjectiveChatPanelWidth",0,function(){return s().objectiveChatPanelWidth},"loadObjectiveListPanelWidth",0,function(){return s().objectiveListPanelWidth},"loadWorkspaceWidth",0,function(){return s().workspaceWidth},"persistLinearRunsPanelWidth",0,function(e){c({linearRunsPanelWidth:e})},"persistLinearTicketPanelWidth",0,function(e){c({linearTicketPanelWidth:e})},"persistObjectiveChatPanelWidth",0,function(e){c({objectiveChatPanelWidth:e})},"persistObjectiveListPanelWidth",0,function(e){c({objectiveListPanelWidth:e})},"persistWorkspaceWidth",0,function(e){c({workspaceWidth:e})}])},902572,e=>{"use strict";let t="project_objectives_workspace",r="project_goals_workspace",a=new Set(["on_track","at_risk","off_track","done"]);function n(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function i(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function o(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function s(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function c(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function l(e,t=""){return"string"==typeof e?e:t}function u(e){return Array.isArray(e)?Array.from(new Set(e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean))):[]}function d(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let r=Date.parse(e);return Number.isNaN(r)?t:new Date(r).toISOString()}function f(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function p(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function h(e,t="objective"){let r=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return r||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function m(e,t,r="objective"){let a=h(r),n=h(e,a),i=n,o=2;for(;t.has(i);){let e=`-${o}`,t=Math.max(1,32-e.length);i=`${n.slice(0,t)}${e}`,o+=1}return t.add(i),i}function y(e){var t;if(!n(e))return null;let r=d(e.updatedAt??e.createdAt),o=d(e.createdAt,r);return{id:l(e.id,i("objective")),title:l(e.title,"Untitled objective"),teamId:l(e.teamId??e.team_id??e.ownerTeamId),key:h(l(e.key??e.slug??e.label),l(e.title??e.id,"objective")),threadId:l(e.threadId)||null,chatSessionVersion:p(e.chatSessionVersion,0),scheduledTaskIds:u(e.scheduledTaskIds??e.promptJobIds),summary:l(e.summary),cadence:l(e.cadence),condition:l(e.condition),progress:f(e.progress),status:"string"==typeof(t=e.status)&&a.has(t)?t:"on_track",createdAt:o,updatedAt:r}}function v(e){if(!n(e))return null;let t=d(e.updatedAt??e.createdAt),r=d(e.createdAt,t),a=l(e.objectiveId??e.goalId);return a?{id:l(e.id,i("objective_activity")),objectiveId:a,sourceType:"note",sourceLabel:l(e.sourceLabel,"Update"),title:l(e.title,"Untitled activity"),body:l(e.body),createdAt:r,updatedAt:t,relatedTaskId:l(e.relatedTaskId)||null}:null}function b(e){if(!n(e))return null;let t=l(e.activityId);return t?{id:l(e.id,i("objective_thread_message")),activityId:t,author:l(e.author,"You"),body:l(e.body),createdAt:d(e.createdAt)}:null}function j(){return{objectives:[],activities:[],activityThreads:{}}}function g(e){let t;if(!n(e))return j();let r=Array.isArray(e.objectives)?e.objectives.map(e=>y(e)).filter(e=>null!==e):[],a=Array.isArray(e.activities)?e.activities.map(e=>v(e)).filter(e=>null!==e):[],i=n(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,s(Array.isArray(t)?t.map(e=>b(e)).filter(e=>null!==e):[])])):{};return{objectives:o((t=new Set,r.map(e=>{let r=m(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:c(a),activityThreads:i}}e.s(["CURRENT_OBJECTIVE_CHAT_SESSION_VERSION",0,2,"buildObjectiveTimelineActivities",0,function({objective:e,workspace:t}){return t.activities.filter(t=>t.objectiveId===e.id).map(e=>({...e,threadCount:t.activityThreads[e.id]?.length??0})).sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))},"createProjectObjective",0,function(e){return{id:e.id??i("objective"),title:e.title.trim(),teamId:e.teamId.trim(),key:h(e.key?.trim()??e.title.trim(),e.id??e.title),threadId:"string"==typeof e.threadId&&e.threadId.trim()?e.threadId.trim():null,chatSessionVersion:p(e.chatSessionVersion??2,2),scheduledTaskIds:u(e.scheduledTaskIds??[]),summary:e.summary?.trim()??"",cadence:e.cadence?.trim()??"",condition:e.condition?.trim()??"",progress:f(e.progress??0),status:e.status??"on_track",createdAt:e.now,updatedAt:e.now}},"generateProjectObjectiveKey",0,function(e,t,r){return m(e,new Set(t.filter(e=>e.id!==r).map(e=>h(e.key||e.title||e.id))),r??e)},"readProjectObjectivesWorkspace",0,function(e){if(!n(e))return j();let a=e[t];if(void 0!==a){let e=g(a);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let i=e[r];if(void 0!==i){if(!n(i))return j();let e=Array.isArray(i.goals)?i.goals.map(e=>(function(e){if(!n(e))return null;let t=l(e.target),r=[l(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return y({...e,summary:r,cadence:""})})(e)).filter(e=>null!==e):[],t=Array.isArray(i.manualActivities)?i.manualActivities.map(e=>v({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=n(i.activityThreads)?Object.fromEntries(Object.entries(i.activityThreads).map(([e,t])=>[e,s(Array.isArray(t)?t.map(t=>b({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:o(e),activities:c(t),activityThreads:r}}return j()},"removeProjectObjective",0,function(e,t){let r=new Set(e.activities.filter(e=>e.objectiveId===t).map(e=>e.id)),a=Object.fromEntries(Object.entries(e.activityThreads).filter(([e])=>!r.has(e)));return{objectives:e.objectives.filter(e=>e.id!==t),activities:e.activities.filter(e=>e.objectiveId!==t),activityThreads:a}},"upsertProjectObjective",0,function(e,t){let r=e.objectives.findIndex(e=>e.id===t.id)>=0?e.objectives.map(e=>e.id===t.id?t:e):[t,...e.objectives];return{...e,objectives:o(r)}},"writeProjectObjectivesWorkspace",0,function(e,a){let n={...e};return delete n[r],n[t]=g(a),n}])},644660,e=>{"use strict";var t=e.i(843476);e.s(["LinearIcon",0,function({size:e=16,...r}){return(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 100 100",fill:"currentColor",...r,children:(0,t.jsx)("path",{d:"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"})})}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,640481,e=>{"use strict";let t=(0,e.i(363732).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],640481)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},196630,e=>{"use strict";let t=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",0,t],196630)},558201,e=>{"use strict";let t=(0,e.i(363732).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],558201)},245900,e=>{"use strict";let t=(0,e.i(363732).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"}]]);e.s(["Play",0,t],245900)},248004,e=>{"use strict";let t=(0,e.i(363732).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"}]]);e.s(["Settings2",0,t],248004)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},203096,e=>{"use strict";let t=(0,e.i(363732).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],203096)},423709,e=>{"use strict";e.s(["stripMarkers",0,function(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},66386,e=>{"use strict";var t=e.i(271645),r=e.i(618566);function a(e){return"string"!=typeof e?null:e.trim()||null}function s(e,t){return(e.get(t)?.trim()??"")||null}e.s(["useUrlSelection",0,function(){let e=(0,r.useRouter)(),n=(0,r.usePathname)(),l=(0,r.useSearchParams)(),i=(0,t.useCallback)(e=>s(l,e),[l]),o=(0,t.useCallback)((e,t)=>(function(e,t,r){let n=function(e,t){let r={...t},n=e=>Object.prototype.hasOwnProperty.call(t,e);if(n("issue")&&!n("run")){let n=s(e,"issue");a(t.issue)!==n&&(r.run=null)}if(n("job")&&!n("run")){let n=s(e,"job");a(t.job)!==n&&(r.run=null)}if(n("open")&&!n("message")){let n=s(e,"open");a(t.open)!==n&&(r.message=null)}return r}(t,r),l=new URLSearchParams(t.toString());for(let[e,t]of Object.entries(n)){let r=a(t);r?l.set(e,r):l.delete(e)}let i=l.toString();return i?`${e}?${i}`:e})(t??n,l,e),[n,l]),c=(0,t.useCallback)((t,r)=>{e.push(o(t,r))},[o,e]),d=(0,t.useCallback)((t,r)=>{e.replace(o(t,r))},[o,e]);return{pathname:n,searchParams:l,getSelection:i,buildHref:o,pushSelection:c,replaceSelection:d}}])},990933,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}e.s(["extractComposerRouting",0,function(e,r){let a=new Set,s=new Set;!function e(t,r){if(t)for(let a of t)r(a),e(a.content,r)}(e.content,e=>{if("participantMention"!==e.type)return;let t=e.attrs??{},r="string"==typeof t.id?t.id.trim():"",n="string"==typeof t.kind?t.kind:"agent";r&&"agent"===n&&(a.add(r),"parallel"===t.mode&&s.add(r))});let n=t(r);return{...n?{pinnedParticipantId:n}:{},mentionedParticipantIds:Array.from(a),parallelParticipantIds:Array.from(s)}},"orderParticipantIds",0,function(e,r){let a=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),s=t(r);return s&&a.includes(s)?[s,...a.filter(e=>e!==s)]:a}])},945028,490011,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}e.s(["useGroupChat",0,function(e){let[s,n]=(0,t.useState)([]),[l,i]=(0,t.useState)([]),[o,c]=(0,t.useState)([]),d=(0,t.useRef)(e),u=(0,t.useRef)(e);d.current=e,u.current!==e&&(u.current=e,n([]),i([]),c([]));let p=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){n([]),i([]);return}let s=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${s}`),fetch(`/api/logs?${a(t)}`)]);if(d.current!==t)return;e.ok&&n(await e.json()),r.ok&&i(await r.json())}catch{}},[]),m=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){n([]),i([]);return}let s=r(t);await Promise.all([fetch(`/api/history?${s}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),d.current===t&&(n([]),i([]))},[]),h=(0,t.useCallback)(async(e,t=10,r,a,s,l,i,o,u,p)=>{let m=r?.trim()||d.current?.trim();if(!m)return;let h=Date.now(),f=crypto.randomUUID(),x={id:f,role:"user",participantId:null,content:e,timestamp:h,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...l&&l.length>0?{attachments:l}:{}};n(e=>[...e,x]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:m,prompt:e,promptPrefix:u||void 0,maxRounds:t,userMessageId:f,rootMessageId:a||void 0,attachmentIds:s?.length?s:void 0,activeParticipantIds:Array.isArray(i)?i:void 0,projectSlug:o?.trim()||void 0,routing:p})}),l=await r.json().catch(e=>(console.warn("[useGroupChat] failed to parse run response:",e),null));r.ok&&l?.chatRunId?c(e=>[{chatRunId:l.chatRunId,threadId:m,rootMessageId:a||f,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==l.chatRunId)]):r.ok||(console.error(`[useGroupChat] POST /api/chat failed (${r.status}):`,l?.error||r.statusText),n(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e)))}catch(e){console.error("[useGroupChat] network error sending message:",e),n(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e))}return f},[]),f=(0,t.useCallback)(async()=>{let e=d.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),x=(0,t.useCallback)(async e=>{let t=d.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:s,setMessages:n,logs:l,sendMessage:h,loadHistory:p,clearHistory:m,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(e=>console.warn("[useGroupChat] delete logs failed:",e)),d.current===t&&i([])):i([])},[]),chatRuns:o,setChatRuns:c,stop:f,stopThread:x}}],945028);let s=new Set(["spawning","running"]);e.s(["useProcessPolling",0,function(e,r){let a=r?.intervalMs??1500,n=r?.idleIntervalMs??1e4,[l,i]=(0,t.useState)(new Set),[o,c]=(0,t.useState)([]),[d,u]=(0,t.useState)({}),[p,m]=(0,t.useState)([]),h=(0,t.useRef)(e);h.current=e;let f=(0,t.useRef)(r?.messages??[]);f.current=r?.messages??[];let x=(0,t.useRef)(r?.setMessages);x.current=r?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=r?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[r?.messages]);let v=(0,t.useCallback)(async()=>{let e=h.current;if(!e){i(new Set),c([]),u({}),m([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){i(new Set),c([]),u({}),m([]);return}try{let a=e.workspaceId||e.threadId,n=a?`/api/history?threadId=${encodeURIComponent(a)}&since=${g.current}`:null,l=a?`/api/chat-runs?threadId=${encodeURIComponent(a)}&limit=20`:null,o=[fetch(t)];n&&o.push(fetch(n)),l&&o.push(fetch(l));let[d,p,v]=await Promise.all(o),y=h.current;if(y?.threadId!==e.threadId||y?.workspaceId!==e.workspaceId)return;if(d.ok){let e=await d.json();c(e);let t=new Set(e.filter(e=>s.has(e.state)).map(e=>e.agentId));i(t);let r={};for(let t of e){if(!s.has(t.state))continue;let e=f.current.find(e=>e.id===t.sinceMessageId),a=e?.rootMessageId??t.sinceMessageId;r[t.agentId]={content:"",rootMessageId:a}}u(r)}if(v?.ok){var r;let e=(r=await v.json(),Array.isArray(r)?r.map(e=>{if(!e||"object"!=typeof e)return null;let t="string"==typeof e.chatRunId?e.chatRunId:"string"==typeof e.id?e.id:null,r="string"==typeof e.threadId?e.threadId:null,a="string"==typeof e.status?e.status:null,s="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&a&&("queued"===a||"running"===a||"awaiting_user"===a||"blocked"===a||"completed"===a||"failed"===a||"cancelled"===a)?{chatRunId:t,threadId:r,rootMessageId:s,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);m(e)}if(p?.ok&&x.current){let e=await p.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),x.current(t=>{let r=new Set(t.map(e=>e.id)),a=e.filter(e=>!r.has(e.id)),s=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?s:[...s,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),y=e?.threadId||e?.workspaceId||null,b=p.some(e=>"queued"===e.status||"running"===e.status),j=o.some(e=>s.has(e.state)),k=b||j?a:n;return(0,t.useEffect)(()=>{if(!y){i(new Set),c([]),u({}),m([]);return}v();let e=setInterval(v,k);return()=>clearInterval(e)},[y,k,v]),{activeAgents:l,processes:o,streaming:d,chatRuns:p,poll:v}}],490011)},667585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let a=e.r(132061);function s({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new a.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},309885,(e,t,r)=>{"use strict";function a(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return a}})},652157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return o}});let a=e.r(843476),s=e.r(174080),n=e.r(563599),l=e.r(309885),i=e.r(543369);function o({moduleIds:e}){if("u">typeof window)return null;let t=n.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let a=t.reactLoadableManifest;for(let t of e){if(!a[t])continue;let e=a[t].files;r.push(...e)}}if(0===r.length)return null;let c=(0,i.getAssetTokenQuery)();return(0,a.jsx)(a.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,a.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,s.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},869093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let a=e.r(843476),s=e.r(271645),n=e.r(667585),l=e.r(652157);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},r=(0,s.lazy)(()=>t.loader().then(i)),c=t.loading;function d(e){let i=c?(0,a.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,d=o?s.Suspense:s.Fragment,u=t.ssr?(0,a.jsxs)(a.Fragment,{children:["u"<typeof window?(0,a.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,a.jsx)(r,{...e})]}):(0,a.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(d,{...o?{fallback:i}:{},children:u})}return d.displayName="LoadableComponent",d}},770703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let a=e.r(555682)._(e.r(869093));function s(e,t){let r={};"function"==typeof e&&(r.loader=e);let s={...r,...t};return(0,a.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},997626,e=>{"use strict";let t=(0,e.i(363732).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],997626)},938201,e=>{"use strict";let t=(0,e.i(363732).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);e.s(["Target",0,t],938201)},494999,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({initialPath:e,onSelect:a,onCancel:s}){let[n,l]=(0,r.useState)(e||""),[i,o]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),m=(0,r.useRef)(null),h=(0,r.useCallback)(async e=>{d(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");o(a),l(a.current),m.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{d(!1)}},[]);return(0,r.useEffect)(()=>{h(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:n,onChange:e=>l(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>h(n),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:m,className:"max-h-48 overflow-y-auto",children:[c&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!c&&i&&(0,t.jsxs)("div",{className:"py-1",children:[i.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(i.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===i.dirs.length&&!i.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),i.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>h(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:i?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(i?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}])},535208,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(494999);let s={name:"",description:""},n={name:"",path:"",notes:""};function l({form:e,repos:s,isEditingProject:n,isSubmitting:i,onFieldChange:o,onRepoChange:c,onAddRepo:d,onRemoveRepo:u}){let[p,m]=(0,r.useState)([]),[h,f]=(0,r.useState)(null),x=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?m([]):m(s.map((e,t)=>t)),x.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){x.current=s.length;return}let e=x.current;m(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),x.current=s.length},[n,s.length]);let g=(0,r.useCallback)(e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),v=(0,r.useCallback)(e=>!n||p.includes(e),[p,n]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>o("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:i})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>o("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:i})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,t.jsx)("button",{type:"button",onClick:d,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:i,children:"+ Add Folder"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",r+1]}),n&&!v(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed folder"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>g(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:i,children:v(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>u(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:i,children:"Remove"})]})]}),v(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>c(r,"name",e.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:i}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>c(r,"path",e.target.value),placeholder:"Local path to folder",className:"input text-sm flex-1",disabled:i}),(0,t.jsx)("button",{type:"button",onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&c(r,"path",t.path)}catch{f(h===r?null:r)}},className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:i,children:"Browse"})]}),h===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a.default,{initialPath:e.path||"",onSelect:e=>{c(r,"path",e),f(null)},onCancel:()=>f(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>c(r,"notes",e.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:i})})]}):null]},r))})]})]})}e.s(["createProjectPayload",0,function(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}},"default",0,function({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:i,repos:o,isSubmitting:c,formError:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}){let[f,x]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return x([]);try{let t=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(n.id)}`),r=(t.ok?await t.json():{note:null}).note;e||x(r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt,source:r.sourceType}]:[])}catch{e||x([])}}(),()=>{e=!0}},[n]),e)?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),f.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:f.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(l,{form:i,repos:o,isEditingProject:!!n,isSubmitting:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}),d&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:d})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:s,disabled:c,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:c?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null},"useProjectFormState",0,function(){let[e,t]=(0,r.useState)(s),[a,l]=(0,r.useState)([n]),[i,o]=(0,r.useState)(!1),[c,d]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{l(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{l(e=>[...e,{...n}])},[]),m=(0,r.useCallback)(e=>{l(t=>t.filter((t,r)=>r!==e))},[]),h=(0,r.useCallback)(()=>{t(s),l([n]),d(null)},[]),f=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?l(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):l([n]),d(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:h,hydrateFromProject:f,isSubmitting:i,setIsSubmitting:o,formError:c,setFormError:d}}])},99296,846279,e=>{"use strict";let t=(0,e.i(363732).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"}]]);e.s(["default",0,t],846279),e.s(["TerminalSquare",0,t],99296)},257587,e=>{"use strict";let t=(0,e.i(363732).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],257587)},649444,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(749410),s=e.i(481248),n=e.i(169433),l=e.i(524123),i=e.i(827430);e.s(["default",0,function(){let[e,o]=(0,r.useState)(!1),[c,d]=(0,r.useState)(368);(0,r.useEffect)(()=>{o((0,s.loadWorkspaceSidebarVisible)()),d((0,n.loadWorkspaceWidth)()||368)},[]);let u=(0,r.useCallback)(e=>{d(e),(0,n.persistWorkspaceWidth)(e)},[]),{projects:p,createProject:m,deleteProject:h}=(0,l.useProjectsWithAgents)(),{updateProject:f}=(0,l.useProjects)();return(0,t.jsxs)("div",{className:"flex h-screen bg-[var(--card-bg)] text-[var(--foreground)]",children:[(0,t.jsx)(a.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:e,onToggle:()=>{o(e=>{let t=!e;return(0,s.persistWorkspaceSidebarVisible)(t),t})},width:c,onWidthChange:u,projects:p,onCreateProject:m,onUpdateProject:f,onDeleteProject:h}),(0,t.jsx)("div",{className:"flex-1 min-w-0 overflow-auto",children:(0,t.jsx)(i.default,{})})]})}])},501223,e=>{e.v(t=>Promise.all(["static/chunks/0l3v45kd.9is_.js","static/chunks/1503vb7lb6.g1.js","static/chunks/02tungbq2jlgh.css"].map(t=>e.l(t))).then(()=>t(844118)))},469612,e=>{e.v(t=>Promise.all(["static/chunks/0il_ov6232avr.js"].map(t=>e.l(t))).then(()=>t(668610)))}]);